@wp-blocks/make-pot 0.1.0 → 1.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/CODE_OF_CONDUCT.md +45 -0
- package/CONTRIBUTING.md +92 -0
- package/README.md +54 -3
- package/lib/assets/block-i18n.json +17 -0
- package/lib/assets/package-i18n.json +11 -0
- package/lib/assets/theme-i18n.json +86 -0
- package/lib/assets/wp-plugin-i18n.json +14 -0
- package/lib/assets/wp-theme-i18n.json +13 -0
- package/lib/cli/index.d.ts +1 -0
- package/lib/cli/index.js +114 -0
- package/lib/cli/index.js.map +1 -0
- package/lib/cli/parseCli.d.ts +3 -0
- package/lib/cli/parseCli.js +111 -0
- package/lib/cli/parseCli.js.map +1 -0
- package/lib/cliArgs.js +41 -8
- package/lib/cliArgs.js.map +1 -1
- package/lib/const.d.ts +112 -0
- package/lib/const.js +42 -5
- package/lib/const.js.map +1 -1
- package/lib/extractors/css.d.ts +2 -0
- package/lib/extractors/css.js +42 -0
- package/lib/extractors/css.js.map +1 -0
- package/lib/extractors/headers.d.ts +6 -0
- package/lib/extractors/headers.js +59 -0
- package/lib/extractors/headers.js.map +1 -0
- package/lib/extractors/index.d.ts +2 -0
- package/lib/extractors/index.js +60 -0
- package/lib/extractors/index.js.map +1 -0
- package/lib/extractors/json.d.ts +9 -0
- package/lib/extractors/json.js +82 -0
- package/lib/extractors/json.js.map +1 -0
- package/lib/extractors/php.d.ts +3 -0
- package/lib/extractors/php.js +49 -0
- package/lib/extractors/php.js.map +1 -0
- package/lib/extractors/schema.d.ts +13 -0
- package/lib/extractors/schema.js +121 -0
- package/lib/extractors/schema.js.map +1 -0
- package/lib/extractors/text.d.ts +1 -0
- package/lib/{extractors-text.js → extractors/text.js} +7 -10
- package/lib/extractors/text.js.map +1 -0
- package/lib/extractors/utils.d.ts +5 -0
- package/lib/extractors/utils.js +54 -0
- package/lib/extractors/utils.js.map +1 -0
- package/lib/fs/glob.d.ts +13 -0
- package/lib/fs/glob.js +95 -0
- package/lib/fs/glob.js.map +1 -0
- package/lib/fs/index.d.ts +2 -0
- package/lib/fs/index.js +69 -0
- package/lib/fs/index.js.map +1 -0
- package/lib/fs.d.ts +2 -1
- package/lib/fs.js +15 -8
- package/lib/fs.js.map +1 -1
- package/lib/index.js +5 -3
- package/lib/index.js.map +1 -1
- package/lib/makePot.d.ts +1 -1
- package/lib/makePot.js +38 -27
- package/lib/makePot.js.map +1 -1
- package/lib/maps.d.ts +122 -0
- package/lib/maps.js +73 -0
- package/lib/maps.js.map +1 -0
- package/lib/parser/consolidate.d.ts +2 -0
- package/lib/parser/consolidate.js +37 -0
- package/lib/parser/consolidate.js.map +1 -0
- package/lib/parser/exec.d.ts +3 -0
- package/lib/parser/exec.js +71 -0
- package/lib/parser/exec.js.map +1 -0
- package/lib/parser/index.d.ts +2 -0
- package/lib/parser/index.js +24 -0
- package/lib/parser/index.js.map +1 -0
- package/lib/parser/makePot.d.ts +2 -0
- package/lib/parser/makePot.js +39 -0
- package/lib/parser/makePot.js.map +1 -0
- package/lib/parser/patterns.d.ts +2 -0
- package/lib/parser/patterns.js +34 -0
- package/lib/parser/patterns.js.map +1 -0
- package/lib/parser/process.d.ts +5 -0
- package/lib/parser/process.js +71 -0
- package/lib/parser/process.js.map +1 -0
- package/lib/parser/tree.d.ts +2 -0
- package/lib/parser/tree.js +78 -0
- package/lib/parser/tree.js.map +1 -0
- package/lib/parser.d.ts +2 -2
- package/lib/parser.js +58 -57
- package/lib/parser.js.map +1 -1
- package/lib/tree.js +6 -6
- package/lib/tree.js.map +1 -1
- package/lib/types.d.ts +7 -4
- package/lib/utils/index.d.ts +8 -0
- package/lib/utils/index.js +78 -0
- package/lib/utils/index.js.map +1 -0
- package/lib/utils.d.ts +3 -3
- package/lib/utils.js +16 -13
- package/lib/utils.js.map +1 -1
- package/package.json +19 -10
- package/tests/consolidate.test.ts +1 -1
- package/tests/{extract-2.old.ts → extract-2.test.ts} +10 -3
- package/tests/getFiles.old.ts +1 -1
- package/tests/getStrings.old.ts +1 -1
- package/tests/{jsonParse.test.ts → jsonParse.ts} +9 -8
- package/lib/extractors-json.d.ts +0 -9
- package/lib/extractors-json.js +0 -53
- package/lib/extractors-json.js.map +0 -1
- package/lib/extractors-maps.d.ts +0 -109
- package/lib/extractors-maps.js +0 -139
- package/lib/extractors-maps.js.map +0 -1
- package/lib/extractors-php.d.ts +0 -1
- package/lib/extractors-php.js +0 -25
- package/lib/extractors-php.js.map +0 -1
- package/lib/extractors-text.d.ts +0 -1
- package/lib/extractors-text.js.map +0 -1
- package/lib/extractors.d.ts +0 -17
- package/lib/extractors.js +0 -137
- package/lib/extractors.js.map +0 -1
- package/tests/index.html +0 -78
package/lib/makePot.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"makePot.js","sourceRoot":"","sources":["../src/makePot.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,
|
|
1
|
+
{"version":3,"file":"makePot.js","sourceRoot":"","sources":["../src/makePot.ts"],"names":[],"mappings":"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"}
|
package/lib/maps.d.ts
ADDED
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
export declare const pkgJson: Record<string, unknown>;
|
|
2
|
+
export declare const themeJson: {
|
|
3
|
+
title: string;
|
|
4
|
+
settings: {
|
|
5
|
+
typography: {
|
|
6
|
+
fontSizes: {
|
|
7
|
+
name: string;
|
|
8
|
+
}[];
|
|
9
|
+
fontFamilies: {
|
|
10
|
+
name: string;
|
|
11
|
+
}[];
|
|
12
|
+
};
|
|
13
|
+
color: {
|
|
14
|
+
palette: {
|
|
15
|
+
name: string;
|
|
16
|
+
}[];
|
|
17
|
+
gradients: {
|
|
18
|
+
name: string;
|
|
19
|
+
}[];
|
|
20
|
+
duotone: {
|
|
21
|
+
name: string;
|
|
22
|
+
}[];
|
|
23
|
+
};
|
|
24
|
+
spacing: {
|
|
25
|
+
spacingSizes: {
|
|
26
|
+
name: string;
|
|
27
|
+
}[];
|
|
28
|
+
};
|
|
29
|
+
blocks: {
|
|
30
|
+
"*": {
|
|
31
|
+
typography: {
|
|
32
|
+
fontSizes: {
|
|
33
|
+
name: string;
|
|
34
|
+
}[];
|
|
35
|
+
fontFamilies: {
|
|
36
|
+
name: string;
|
|
37
|
+
}[];
|
|
38
|
+
};
|
|
39
|
+
color: {
|
|
40
|
+
palette: {
|
|
41
|
+
name: string;
|
|
42
|
+
}[];
|
|
43
|
+
gradients: {
|
|
44
|
+
name: string;
|
|
45
|
+
}[];
|
|
46
|
+
};
|
|
47
|
+
spacing: {
|
|
48
|
+
spacingSizes: {
|
|
49
|
+
name: string;
|
|
50
|
+
}[];
|
|
51
|
+
};
|
|
52
|
+
};
|
|
53
|
+
};
|
|
54
|
+
};
|
|
55
|
+
customTemplates: {
|
|
56
|
+
title: string;
|
|
57
|
+
}[];
|
|
58
|
+
templateParts: {
|
|
59
|
+
title: string;
|
|
60
|
+
}[];
|
|
61
|
+
};
|
|
62
|
+
export declare const blockJson: {
|
|
63
|
+
title: string;
|
|
64
|
+
description: string;
|
|
65
|
+
keywords: string[];
|
|
66
|
+
styles: {
|
|
67
|
+
label: string;
|
|
68
|
+
}[];
|
|
69
|
+
variations: {
|
|
70
|
+
title: string;
|
|
71
|
+
description: string;
|
|
72
|
+
keywords: string[];
|
|
73
|
+
}[];
|
|
74
|
+
};
|
|
75
|
+
export declare const pluginJson: {
|
|
76
|
+
title: string;
|
|
77
|
+
description: string;
|
|
78
|
+
keywords: string[];
|
|
79
|
+
styles: {
|
|
80
|
+
label: string;
|
|
81
|
+
}[];
|
|
82
|
+
variations: {
|
|
83
|
+
title: string;
|
|
84
|
+
description: string;
|
|
85
|
+
keywords: string[];
|
|
86
|
+
}[];
|
|
87
|
+
};
|
|
88
|
+
export declare const pkgJsonHeaders: {
|
|
89
|
+
name: string;
|
|
90
|
+
url: string;
|
|
91
|
+
description: string;
|
|
92
|
+
author: string;
|
|
93
|
+
authorEmail: string;
|
|
94
|
+
version: string;
|
|
95
|
+
bugs: string;
|
|
96
|
+
license: string;
|
|
97
|
+
repository: string;
|
|
98
|
+
};
|
|
99
|
+
export declare const pluginHeaders: {
|
|
100
|
+
readonly name: "Plugin Name";
|
|
101
|
+
readonly url: "Plugin URI";
|
|
102
|
+
readonly description: "Description";
|
|
103
|
+
readonly version: "Version";
|
|
104
|
+
readonly author: "Author";
|
|
105
|
+
readonly authorUrl: "Author URI";
|
|
106
|
+
readonly license: "License";
|
|
107
|
+
readonly licenseUri: "License URI";
|
|
108
|
+
readonly updateUri: "Update URI";
|
|
109
|
+
readonly domainPath: "Domain Path";
|
|
110
|
+
readonly textDomain: "Text Domain";
|
|
111
|
+
};
|
|
112
|
+
export declare const themeHeaders: {
|
|
113
|
+
readonly name: "Theme Name";
|
|
114
|
+
readonly url: "Theme URI";
|
|
115
|
+
readonly description: "Description";
|
|
116
|
+
readonly author: "Author";
|
|
117
|
+
readonly authorUrl: "Author URI";
|
|
118
|
+
readonly version: "Version";
|
|
119
|
+
readonly license: "License";
|
|
120
|
+
readonly domainPath: "Domain Path";
|
|
121
|
+
readonly textDomain: "Text Domain";
|
|
122
|
+
};
|
package/lib/maps.js
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.themeHeaders = exports.pluginHeaders = exports.pkgJsonHeaders = exports.pluginJson = exports.blockJson = exports.themeJson = exports.pkgJson = void 0;
|
|
27
|
+
const blocki18n = __importStar(require("./assets/block-i18n.json"));
|
|
28
|
+
const themei18n = __importStar(require("./assets/theme-i18n.json"));
|
|
29
|
+
const package_json_1 = require("../package.json");
|
|
30
|
+
exports.pkgJson = {
|
|
31
|
+
name: package_json_1.name,
|
|
32
|
+
version: package_json_1.version,
|
|
33
|
+
description: package_json_1.description,
|
|
34
|
+
};
|
|
35
|
+
exports.themeJson = themei18n;
|
|
36
|
+
exports.blockJson = blocki18n;
|
|
37
|
+
exports.pluginJson = blocki18n;
|
|
38
|
+
exports.pkgJsonHeaders = {
|
|
39
|
+
name: 'string',
|
|
40
|
+
url: 'string',
|
|
41
|
+
description: 'string',
|
|
42
|
+
author: 'string',
|
|
43
|
+
authorEmail: 'string',
|
|
44
|
+
version: 'string',
|
|
45
|
+
bugs: 'string',
|
|
46
|
+
license: 'string',
|
|
47
|
+
repository: 'string',
|
|
48
|
+
};
|
|
49
|
+
exports.pluginHeaders = {
|
|
50
|
+
name: 'Plugin Name',
|
|
51
|
+
url: 'Plugin URI',
|
|
52
|
+
description: 'Description',
|
|
53
|
+
version: 'Version',
|
|
54
|
+
author: 'Author',
|
|
55
|
+
authorUrl: 'Author URI',
|
|
56
|
+
license: 'License',
|
|
57
|
+
licenseUri: 'License URI',
|
|
58
|
+
updateUri: 'Update URI',
|
|
59
|
+
domainPath: 'Domain Path',
|
|
60
|
+
textDomain: 'Text Domain',
|
|
61
|
+
};
|
|
62
|
+
exports.themeHeaders = {
|
|
63
|
+
name: 'Theme Name',
|
|
64
|
+
url: 'Theme URI',
|
|
65
|
+
description: 'Description',
|
|
66
|
+
author: 'Author',
|
|
67
|
+
authorUrl: 'Author URI',
|
|
68
|
+
version: 'Version',
|
|
69
|
+
license: 'License',
|
|
70
|
+
domainPath: 'Domain Path',
|
|
71
|
+
textDomain: 'Text Domain',
|
|
72
|
+
};
|
|
73
|
+
//# sourceMappingURL=maps.js.map
|
package/lib/maps.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"maps.js","sourceRoot":"","sources":["../src/maps.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAqD;AACrD,oEAAqD;AACrD,kDAA4D;AAE/C,QAAA,OAAO,GAA4B;IAC/C,IAAI,EAAJ,mBAAI;IACJ,OAAO,EAAP,sBAAO;IACP,WAAW,EAAX,0BAAW;CACX,CAAA;AACY,QAAA,SAAS,GAAG,SAAS,CAAA;AACrB,QAAA,SAAS,GAAG,SAAS,CAAA;AAErB,QAAA,UAAU,GAAG,SAAS,CAAA;AAEtB,QAAA,cAAc,GAAG;IAC7B,IAAI,EAAE,QAAQ;IACd,GAAG,EAAE,QAAQ;IACb,WAAW,EAAE,QAAQ;IACrB,MAAM,EAAE,QAAQ;IAChB,WAAW,EAAE,QAAQ;IACrB,OAAO,EAAE,QAAQ;IACjB,IAAI,EAAE,QAAQ;IACd,OAAO,EAAE,QAAQ;IACjB,UAAU,EAAE,QAAQ;CACpB,CAAA;AAEY,QAAA,aAAa,GAAG;IAC5B,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,YAAY;IACjB,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAGlB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;CAChB,CAAA;AAEG,QAAA,YAAY,GAAG;IAC3B,IAAI,EAAE,YAAY;IAClB,GAAG,EAAE,WAAW;IAChB,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,YAAY;IACvB,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;CAChB,CAAA"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.consolidate = void 0;
|
|
4
|
+
function consolidate(translationsArray) {
|
|
5
|
+
const mergedTranslations = {};
|
|
6
|
+
translationsArray.forEach((translations) => {
|
|
7
|
+
Object.entries(translations).forEach(([context, contextTranslations]) => {
|
|
8
|
+
if (!mergedTranslations[context]) {
|
|
9
|
+
mergedTranslations[context] = {};
|
|
10
|
+
}
|
|
11
|
+
Object.entries(contextTranslations).forEach(([msgid, translation]) => {
|
|
12
|
+
var _a, _b, _c;
|
|
13
|
+
if (!mergedTranslations[context][msgid]) {
|
|
14
|
+
mergedTranslations[context][msgid] = {
|
|
15
|
+
msgctxt: context !== '' ? context : undefined,
|
|
16
|
+
msgid: msgid !== null && msgid !== void 0 ? msgid : '',
|
|
17
|
+
msgid_plural: translation.msgid_plural,
|
|
18
|
+
msgstr: translation.msgstr,
|
|
19
|
+
comments: translation.comments,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
if (mergedTranslations[context][msgid].comments &&
|
|
24
|
+
((_a = mergedTranslations[context][msgid].comments) === null || _a === void 0 ? void 0 : _a.reference.length)) {
|
|
25
|
+
mergedTranslations[context][msgid].comments = Object.assign(Object.assign({}, translation.comments), { reference: ((_b = mergedTranslations[context][msgid]
|
|
26
|
+
.comments) === null || _b === void 0 ? void 0 : _b.reference) +
|
|
27
|
+
'\n' +
|
|
28
|
+
((_c = translation.comments) === null || _c === void 0 ? void 0 : _c.reference) });
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
});
|
|
32
|
+
});
|
|
33
|
+
});
|
|
34
|
+
return mergedTranslations;
|
|
35
|
+
}
|
|
36
|
+
exports.consolidate = consolidate;
|
|
37
|
+
//# sourceMappingURL=consolidate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"consolidate.js","sourceRoot":"","sources":["../../src/parser/consolidate.ts"],"names":[],"mappings":";;;AAWA,SAAgB,WAAW,CAC1B,iBAAuC;IAEvC,MAAM,kBAAkB,GAAuB,EAAE,CAAA;IAEjD,iBAAiB,CAAC,OAAO,CAAC,CAAC,YAAY,EAAE,EAAE;QAC1C,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,OAAO,CACnC,CAAC,CAAC,OAAO,EAAE,mBAAmB,CAAC,EAAE,EAAE;YAClC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,EAAE,CAAC;gBAClC,kBAAkB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAA;YACjC,CAAC;YAED,MAAM,CAAC,OAAO,CAAC,mBAAmB,CAAC,CAAC,OAAO,CAC1C,CAAC,CAAC,KAAK,EAAE,WAAW,CAAC,EAAE,EAAE;;gBACxB,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;oBACzC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,GAAG;wBACpC,OAAO,EAAE,OAAO,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS;wBAC7C,KAAK,EAAE,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,EAAE;wBAClB,YAAY,EAAE,WAAW,CAAC,YAAY;wBACtC,MAAM,EAAE,WAAW,CAAC,MAAM;wBAC1B,QAAQ,EAAE,WAAW,CAAC,QAAQ;qBAC9B,CAAA;gBACF,CAAC;qBAAM,CAAC;oBACP,IACC,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ;yBAC3C,MAAA,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,0CACxC,SAAS,CAAC,MAAM,CAAA,EAClB,CAAC;wBACF,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,QAAQ,GAAG,gCAC1C,WAAW,CAAC,QAAQ,KACvB,SAAS,EACR,CAAA,MAAA,kBAAkB,CAAC,OAAO,CAAC,CAAC,KAAK,CAAC;iCAChC,QAAQ,0CAAE,SAAS;gCACrB,IAAI;iCACJ,MAAA,WAAW,CAAC,QAAQ,0CAAE,SAAS,CAAA,GACd,CAAA;oBACpB,CAAC;gBACF,CAAC;YACF,CAAC,CACD,CAAA;QACF,CAAC,CACD,CAAA;IACF,CAAC,CAAC,CAAA;IAEF,OAAO,kBAAkB,CAAA;AAC1B,CAAC;AA7CD,kCA6CC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.exec = exports.getCopyright = void 0;
|
|
16
|
+
const index_1 = require("./index");
|
|
17
|
+
const node_os_1 = require("node:os");
|
|
18
|
+
const headers_1 = require("../extractors/headers");
|
|
19
|
+
const gettext_parser_1 = __importDefault(require("gettext-parser"));
|
|
20
|
+
const consolidate_1 = require("./consolidate");
|
|
21
|
+
function getCopyright(slug, license = 'GPL v2 or later') {
|
|
22
|
+
const copyrightComment = `# Copyright (C) ${new Date().getFullYear()} ${slug}\n` +
|
|
23
|
+
`# This file is distributed under the ${license} license.`;
|
|
24
|
+
return copyrightComment;
|
|
25
|
+
}
|
|
26
|
+
exports.getCopyright = getCopyright;
|
|
27
|
+
function exec(args) {
|
|
28
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
29
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
30
|
+
if (!((_a = args.options) === null || _a === void 0 ? void 0 : _a.silent)) {
|
|
31
|
+
console.log('📝 Starting makePot for', args === null || args === void 0 ? void 0 : args.slug);
|
|
32
|
+
console.log('🔍 Extracting strings from', args.paths);
|
|
33
|
+
}
|
|
34
|
+
let stringsJson = yield (0, index_1.runExtract)(args);
|
|
35
|
+
console.log('🎉 Done!');
|
|
36
|
+
stringsJson = stringsJson.filter((value) => value && Object.values(value).length);
|
|
37
|
+
if (!((_b = args.options) === null || _b === void 0 ? void 0 : _b.silent)) {
|
|
38
|
+
console.log('Memory usage:', (process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2), 'MB (Free:', ((0, node_os_1.totalmem)() / 1024 / 1024 / 1024).toFixed(2), 'GB)\n', 'Cpu User:', (process.cpuUsage().user / 1000000).toFixed(2), 'ms Cpu System:', (process.cpuUsage().system / 1000000).toFixed(2), 'ms of', (0, node_os_1.cpus)().length, 'cores');
|
|
39
|
+
}
|
|
40
|
+
if ((_c = args.options) === null || _c === void 0 ? void 0 : _c.skip.audit) {
|
|
41
|
+
console.log('Audit strings...');
|
|
42
|
+
console.log('✅ Done');
|
|
43
|
+
}
|
|
44
|
+
const potHeader = (0, headers_1.generateHeader)(args);
|
|
45
|
+
const copyrightComment = ((_d = args.options) === null || _d === void 0 ? void 0 : _d.fileComment) ||
|
|
46
|
+
getCopyright(args.slug, (_f = (_e = args.headers) === null || _e === void 0 ? void 0 : _e.license) !== null && _f !== void 0 ? _f : 'GPL v2 or later');
|
|
47
|
+
const potDefinitions = { '': (0, headers_1.translationsHeaders)(args) };
|
|
48
|
+
const translationsUnion = (0, consolidate_1.consolidate)([
|
|
49
|
+
potDefinitions,
|
|
50
|
+
...stringsJson,
|
|
51
|
+
]);
|
|
52
|
+
if (!((_g = args.options) === null || _g === void 0 ? void 0 : _g.silent)) {
|
|
53
|
+
console.log('📝 Found', Object.values(translationsUnion).length, 'group of strings in', stringsJson.length, 'files. In total ' +
|
|
54
|
+
Object.values(translationsUnion)
|
|
55
|
+
.map((v) => Object.keys(v).length)
|
|
56
|
+
.reduce((acc, val) => acc + val, 0) +
|
|
57
|
+
' strings were found');
|
|
58
|
+
}
|
|
59
|
+
const getTextTranslations = {
|
|
60
|
+
charset: 'iso-8859-1',
|
|
61
|
+
headers: potHeader,
|
|
62
|
+
translations: translationsUnion,
|
|
63
|
+
};
|
|
64
|
+
const pluginTranslations = gettext_parser_1.default.po
|
|
65
|
+
.compile(getTextTranslations)
|
|
66
|
+
.toString('utf-8');
|
|
67
|
+
return copyrightComment + '\n' + pluginTranslations;
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
exports.exec = exec;
|
|
71
|
+
//# sourceMappingURL=exec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"exec.js","sourceRoot":"","sources":["../../src/parser/exec.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.runExtract = void 0;
|
|
13
|
+
const glob_1 = require("../fs/glob");
|
|
14
|
+
const patterns_1 = require("./patterns");
|
|
15
|
+
const process_1 = require("./process");
|
|
16
|
+
function runExtract(args) {
|
|
17
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
18
|
+
const pattern = (0, patterns_1.getPatterns)(args);
|
|
19
|
+
const files = yield (0, glob_1.getFiles)(args, pattern);
|
|
20
|
+
return yield (0, process_1.getStrings)(args, files);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
exports.runExtract = runExtract;
|
|
24
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qCAAqC;AACrC,yCAAwC;AACxC,uCAAsC;AAQtC,SAAsB,UAAU,CAAC,IAAU;;QAC1C,MAAM,OAAO,GAAG,IAAA,sBAAW,EAAC,IAAI,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,IAAA,eAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3C,OAAO,MAAM,IAAA,oBAAU,EAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC;CAAA;AAJD,gCAIC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.makePot = void 0;
|
|
16
|
+
const headers_1 = require("../extractors/headers");
|
|
17
|
+
const fs_1 = require("../fs");
|
|
18
|
+
const path_1 = __importDefault(require("path"));
|
|
19
|
+
const json_1 = require("../extractors/json");
|
|
20
|
+
const exec_1 = require("./exec");
|
|
21
|
+
function makePot(args) {
|
|
22
|
+
var _a;
|
|
23
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
const pkgData = (0, json_1.extractPackageJson)(args);
|
|
25
|
+
const metadata = (0, headers_1.extractMainFileData)(args);
|
|
26
|
+
args.headers = Object.assign(Object.assign(Object.assign({}, args.headers), pkgData), {
|
|
27
|
+
name: metadata.name,
|
|
28
|
+
url: metadata.url,
|
|
29
|
+
description: metadata.description,
|
|
30
|
+
author: metadata.author,
|
|
31
|
+
authorUri: metadata.authorUri,
|
|
32
|
+
});
|
|
33
|
+
const jsonTranslations = yield (0, exec_1.exec)(args);
|
|
34
|
+
(0, fs_1.writeFile)(jsonTranslations, path_1.default.join(process.cwd(), args.paths.out, `${args === null || args === void 0 ? void 0 : args.slug}.${((_a = args.options) === null || _a === void 0 ? void 0 : _a.json) ? 'json' : 'pot'}`));
|
|
35
|
+
return jsonTranslations;
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
exports.makePot = makePot;
|
|
39
|
+
//# sourceMappingURL=makePot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"makePot.js","sourceRoot":"","sources":["../../src/parser/makePot.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,mDAA2D;AAC3D,8BAAiC;AACjC,gDAAuB;AACvB,6CAAuD;AACvD,iCAA6B;AAQ7B,SAAsB,OAAO,CAAC,IAAU;;;QAEvC,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAA;QAGxC,MAAM,QAAQ,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC,CAAA;QAG1C,IAAI,CAAC,OAAO,GAAG,8CACX,IAAI,CAAC,OAAO,GACZ,OAAO,GACP;YACF,IAAI,EAAE,QAAQ,CAAC,IAAI;YACnB,GAAG,EAAE,QAAQ,CAAC,GAAG;YACjB,WAAW,EAAE,QAAQ,CAAC,WAAW;YACjC,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,SAAS,EAAE,QAAQ,CAAC,SAAS;SAC7B,CACkB,CAAA;QAGpB,MAAM,gBAAgB,GAAG,MAAM,IAAA,WAAI,EAAC,IAAI,CAAC,CAAA;QAEzC,IAAA,cAAS,EACR,gBAAgB,EAChB,cAAI,CAAC,IAAI,CACR,OAAO,CAAC,GAAG,EAAE,EACb,IAAI,CAAC,KAAK,CAAC,GAAG,EACd,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CACtD,CACD,CAAA;QAED,OAAO,gBAAgB,CAAA;;CACvB;AAjCD,0BAiCC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getPatterns = void 0;
|
|
4
|
+
function getPatterns(args) {
|
|
5
|
+
var _a, _b, _c, _d, _e, _f;
|
|
6
|
+
const pattern = {
|
|
7
|
+
include: args.patterns.include || [],
|
|
8
|
+
exclude: args.patterns.exclude || [],
|
|
9
|
+
mergePaths: args.patterns.mergePaths,
|
|
10
|
+
subtractPaths: args.patterns.subtractPaths,
|
|
11
|
+
subtractAndMerge: args.patterns.subtractAndMerge,
|
|
12
|
+
};
|
|
13
|
+
if (((_a = args.options) === null || _a === void 0 ? void 0 : _a.skip.php) !== undefined ||
|
|
14
|
+
((_b = args.options) === null || _b === void 0 ? void 0 : _b.skip.blade) !== undefined) {
|
|
15
|
+
if (((_c = args.options) === null || _c === void 0 ? void 0 : _c.skip.blade) !== undefined) {
|
|
16
|
+
pattern.include.push('**/*.php');
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
pattern.include.push('**/*.php', '!**/blade.php');
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
if (((_d = args.options) === null || _d === void 0 ? void 0 : _d.skip.js) !== undefined) {
|
|
23
|
+
pattern.include.push('**/*.{js,jsx,ts,tsx,mjs,cjs}');
|
|
24
|
+
}
|
|
25
|
+
if (((_e = args.options) === null || _e === void 0 ? void 0 : _e.skip.blockJson) !== undefined) {
|
|
26
|
+
pattern.include.push('block.json');
|
|
27
|
+
}
|
|
28
|
+
if (((_f = args.options) === null || _f === void 0 ? void 0 : _f.skip.themeJson) !== undefined) {
|
|
29
|
+
pattern.include.push('theme.json');
|
|
30
|
+
}
|
|
31
|
+
return pattern;
|
|
32
|
+
}
|
|
33
|
+
exports.getPatterns = getPatterns;
|
|
34
|
+
//# sourceMappingURL=patterns.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/parser/patterns.ts"],"names":[],"mappings":";;;AAOA,SAAgB,WAAW,CAAC,IAAU;;IACrC,MAAM,OAAO,GAAG;QACf,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE;QACpC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE;QACpC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;QACpC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;QAC1C,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB;KACpC,CAAA;IAIb,IACC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,GAAG,MAAK,SAAS;QACpC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,KAAK,MAAK,SAAS,EACrC,CAAC;QACF,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,KAAK,MAAK,SAAS,EAAE,CAAC;YAE5C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;QAClD,CAAC;IACF,CAAC;IAGD,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,EAAE,MAAK,SAAS,EAAE,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,MAAK,SAAS,EAAE,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,MAAK,SAAS,EAAE,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AArCD,kCAqCC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
14
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.getStrings = void 0;
|
|
16
|
+
const cli_progress_1 = __importDefault(require("cli-progress"));
|
|
17
|
+
const const_1 = require("../const");
|
|
18
|
+
const extractors_1 = require("../extractors");
|
|
19
|
+
function initProgress(args, filesCount) {
|
|
20
|
+
var _a;
|
|
21
|
+
if ((_a = args.options) === null || _a === void 0 ? void 0 : _a.silent)
|
|
22
|
+
return undefined;
|
|
23
|
+
const progressBar = new cli_progress_1.default.SingleBar({
|
|
24
|
+
clearOnComplete: true,
|
|
25
|
+
etaBuffer: 1000,
|
|
26
|
+
hideCursor: true,
|
|
27
|
+
format: ' {bar} {percentage}% | ETA: {eta}s | {filename} | {value}/{total}',
|
|
28
|
+
}, cli_progress_1.default.Presets.shades_classic);
|
|
29
|
+
progressBar.start(filesCount, 0);
|
|
30
|
+
return progressBar;
|
|
31
|
+
}
|
|
32
|
+
function processFiles(files, args, progressBar) {
|
|
33
|
+
const tasks = [];
|
|
34
|
+
for (const file of files) {
|
|
35
|
+
const ext = file.split('.').pop() || undefined;
|
|
36
|
+
if (!ext || !const_1.allowedFiles.includes(ext)) {
|
|
37
|
+
if (progressBar) {
|
|
38
|
+
progressBar.increment(1, {
|
|
39
|
+
filename: `Skipping ${ext} file: ${file}`,
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
continue;
|
|
43
|
+
}
|
|
44
|
+
const task = (0, extractors_1.parseFile)(file, args.paths.cwd).finally(() => {
|
|
45
|
+
if (progressBar) {
|
|
46
|
+
progressBar.increment(1, {
|
|
47
|
+
filename: file,
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
if (task !== null) {
|
|
52
|
+
tasks.push(task);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
return tasks;
|
|
56
|
+
}
|
|
57
|
+
function getStrings(args, files) {
|
|
58
|
+
var _a;
|
|
59
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
+
let progressBar = undefined;
|
|
61
|
+
progressBar =
|
|
62
|
+
(_a = initProgress(args, Array.from(files.iterateSync()).length)) !== null && _a !== void 0 ? _a : undefined;
|
|
63
|
+
return yield Promise.all(processFiles(files, args, progressBar)).finally(() => {
|
|
64
|
+
if (progressBar) {
|
|
65
|
+
progressBar.stop();
|
|
66
|
+
}
|
|
67
|
+
});
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
exports.getStrings = getStrings;
|
|
71
|
+
//# sourceMappingURL=process.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"process.js","sourceRoot":"","sources":["../../src/parser/process.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,gEAAqD;AAErD,oCAAuC;AACvC,8CAAyC;AASzC,SAAS,YAAY,CAAC,IAAU,EAAE,UAAkB;;IACnD,IAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM;QAAE,OAAO,SAAS,CAAA;IAE1C,MAAM,WAAW,GAAG,IAAI,sBAAW,CAAC,SAAS,CAC5C;QACC,eAAe,EAAE,IAAI;QACrB,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,IAAI;QAChB,MAAM,EAAE,mEAAmE;KAC3E,EACD,sBAAW,CAAC,OAAO,CAAC,cAAc,CAClC,CAAA;IAED,WAAW,CAAC,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAA;IAGhC,OAAO,WAAW,CAAA;AACnB,CAAC;AAUD,SAAS,YAAY,CACpB,KAA4B,EAC5B,IAAU,EACV,WAAuB;IAEvB,MAAM,KAAK,GAAkC,EAAE,CAAA;IAG/C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;QAE1B,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAA;QAG9C,IAAI,CAAC,GAAG,IAAI,CAAC,oBAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAEzC,IAAI,WAAW,EAAE,CAAC;gBACjB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE;oBACxB,QAAQ,EAAE,YAAY,GAAG,UAAU,IAAI,EAAE;iBACzC,CAAC,CAAA;YACH,CAAC;YACD,SAAQ;QACT,CAAC;QAED,MAAM,IAAI,GAAG,IAAA,sBAAS,EAAC,IAAI,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;YACzD,IAAI,WAAW,EAAE,CAAC;gBACjB,WAAW,CAAC,SAAS,CAAC,CAAC,EAAE;oBACxB,QAAQ,EAAE,IAAI;iBACd,CAAC,CAAA;YACH,CAAC;QACF,CAAC,CAAC,CAAA;QAGF,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,IAAmC,CAAC,CAAA;QAChD,CAAC;IACF,CAAC;IAED,OAAO,KAAK,CAAA;AACb,CAAC;AASD,SAAsB,UAAU,CAC/B,IAAU,EACV,KAA4B;;;QAK5B,IAAI,WAAW,GAA0B,SAAS,CAAA;QAClD,WAAW;YACV,MAAA,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,MAAM,CAAC,mCAAI,SAAS,CAAA;QAExE,OAAO,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC,OAAO,CACvE,GAAG,EAAE;YACJ,IAAI,WAAW,EAAE,CAAC;gBACjB,WAAW,CAAC,IAAI,EAAE,CAAA;YACnB,CAAC;QACF,CAAC,CACD,CAAA;;CACD;AAlBD,gCAkBC"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.doTree = void 0;
|
|
7
|
+
const tree_sitter_1 = __importDefault(require("tree-sitter"));
|
|
8
|
+
const const_1 = require("../const");
|
|
9
|
+
const glob_1 = require("../fs/glob");
|
|
10
|
+
const utils_1 = require("../utils");
|
|
11
|
+
function collectComments(node) {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
let currentNode = node;
|
|
14
|
+
let depth = 0;
|
|
15
|
+
while (currentNode && depth < 6) {
|
|
16
|
+
if (((_a = currentNode === null || currentNode === void 0 ? void 0 : currentNode.previousSibling) === null || _a === void 0 ? void 0 : _a.type) === 'comment' &&
|
|
17
|
+
((_b = currentNode === null || currentNode === void 0 ? void 0 : currentNode.previousSibling) === null || _b === void 0 ? void 0 : _b.text.toLowerCase().includes('translators'))) {
|
|
18
|
+
return (0, utils_1.stripTranslationMarkup)(currentNode === null || currentNode === void 0 ? void 0 : currentNode.previousSibling.text);
|
|
19
|
+
}
|
|
20
|
+
depth++;
|
|
21
|
+
currentNode = currentNode.parent;
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
function doTree(sourceCode, filepath) {
|
|
25
|
+
var _a;
|
|
26
|
+
const parser = new tree_sitter_1.default();
|
|
27
|
+
parser.setLanguage((0, glob_1.getParser)(filepath));
|
|
28
|
+
const tree = parser.parse(sourceCode);
|
|
29
|
+
const gettextTranslations = {};
|
|
30
|
+
const typeToMatch = ((_a = filepath.split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) !== 'php'
|
|
31
|
+
? 'call_expression'
|
|
32
|
+
: 'function_call_expression';
|
|
33
|
+
function traverse(node) {
|
|
34
|
+
var _a, _b, _c, _d, _e, _f, _g, _h;
|
|
35
|
+
if (node === null || node === void 0 ? void 0 : node.children.length)
|
|
36
|
+
for (const child of node.children) {
|
|
37
|
+
traverse(child);
|
|
38
|
+
}
|
|
39
|
+
if ((node === null || node === void 0 ? void 0 : node.type) === typeToMatch) {
|
|
40
|
+
const functionName = (_b = (_a = node.firstChild) === null || _a === void 0 ? void 0 : _a.text) !== null && _b !== void 0 ? _b : null;
|
|
41
|
+
if (functionName === null ||
|
|
42
|
+
!Object.keys(const_1.i18nFunctions).includes(functionName)) {
|
|
43
|
+
return;
|
|
44
|
+
}
|
|
45
|
+
const argsNode = node.lastChild;
|
|
46
|
+
if (argsNode === null ||
|
|
47
|
+
argsNode.childCount === 0 ||
|
|
48
|
+
argsNode.type !== 'arguments') {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const [_fn, raw] = node.children;
|
|
52
|
+
const translation = {};
|
|
53
|
+
const translationKeys = const_1.i18nFunctions[functionName];
|
|
54
|
+
raw.children.slice(1, -1).forEach((child, index) => {
|
|
55
|
+
if (!child.text)
|
|
56
|
+
return;
|
|
57
|
+
const currentKey = translationKeys[index];
|
|
58
|
+
translation[currentKey] =
|
|
59
|
+
child.text.slice(1, -1);
|
|
60
|
+
});
|
|
61
|
+
const gettext = {
|
|
62
|
+
msgctxt: (_c = translation.msgctxt) !== null && _c !== void 0 ? _c : '',
|
|
63
|
+
msgid: (_d = translation.msgid) !== null && _d !== void 0 ? _d : '',
|
|
64
|
+
msgid_plural: (_e = translation.msgid_plural) !== null && _e !== void 0 ? _e : '',
|
|
65
|
+
msgstr: translation.msgid_plural ? ['', ''] : [''],
|
|
66
|
+
comments: {
|
|
67
|
+
translator: (_f = collectComments(node)) !== null && _f !== void 0 ? _f : '',
|
|
68
|
+
reference: `${filepath}:${node.startPosition.row + 1}`,
|
|
69
|
+
},
|
|
70
|
+
};
|
|
71
|
+
gettextTranslations[(_g = gettext.msgctxt) !== null && _g !== void 0 ? _g : ''] = Object.assign(Object.assign({}, (gettextTranslations[(_h = gettext.msgctxt) !== null && _h !== void 0 ? _h : ''] || {})), { [gettext.msgid]: gettext });
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
traverse(tree.rootNode);
|
|
75
|
+
return gettextTranslations;
|
|
76
|
+
}
|
|
77
|
+
exports.doTree = doTree;
|
|
78
|
+
//# sourceMappingURL=tree.js.map
|