@wp-blocks/make-pot 0.2.2 → 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/README.md +53 -34
- package/lib/assets/package-i18n.json +11 -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 +36 -4
- package/lib/cliArgs.js.map +1 -1
- package/lib/const.d.ts +112 -0
- package/lib/const.js +40 -3
- package/lib/const.js.map +1 -1
- package/lib/extractors/css.js +13 -2
- package/lib/extractors/css.js.map +1 -1
- package/lib/extractors/headers.d.ts +1 -3
- package/lib/extractors/headers.js +8 -6
- package/lib/extractors/headers.js.map +1 -1
- package/lib/extractors/index.d.ts +1 -2
- package/lib/extractors/index.js +9 -44
- package/lib/extractors/index.js.map +1 -1
- package/lib/extractors/json.d.ts +5 -3
- package/lib/extractors/json.js +48 -4
- package/lib/extractors/json.js.map +1 -1
- package/lib/extractors/php.js +8 -15
- package/lib/extractors/php.js.map +1 -1
- package/lib/extractors/schema.js +5 -1
- package/lib/extractors/schema.js.map +1 -1
- package/lib/extractors/text.js +2 -6
- package/lib/extractors/text.js.map +1 -1
- package/lib/extractors/utils.d.ts +3 -3
- package/lib/extractors/utils.js +34 -25
- package/lib/extractors/utils.js.map +1 -1
- 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 -5
- package/lib/index.js.map +1 -1
- package/lib/makePot.d.ts +1 -1
- package/lib/makePot.js +20 -13
- package/lib/makePot.js.map +1 -1
- package/lib/maps.d.ts +1 -3
- package/lib/maps.js +12 -3
- package/lib/maps.js.map +1 -1
- 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/types.d.ts +4 -3
- 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 +1 -1
- package/lib/utils.js +1 -1
- package/lib/utils.js.map +1 -1
- package/package.json +1 -1
- package/tests/consolidate.test.ts +1 -1
- package/tests/extract-2.test.ts +1 -1
- package/tests/getFiles.old.ts +1 -1
- package/tests/getStrings.old.ts +1 -1
|
@@ -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
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/parser/tree.ts"],"names":[],"mappings":"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"}
|
package/lib/parser.d.ts
CHANGED
|
@@ -2,5 +2,5 @@ import type { Args, TranslationStrings } from './types';
|
|
|
2
2
|
import { Glob } from 'glob';
|
|
3
3
|
export declare function getStrings(args: Args, files: Glob<{
|
|
4
4
|
cwd: string;
|
|
5
|
-
}>): Promise<TranslationStrings>;
|
|
6
|
-
export declare function runExtract(args: Args): Promise<TranslationStrings>;
|
|
5
|
+
}>): Promise<TranslationStrings[]>;
|
|
6
|
+
export declare function runExtract(args: Args): Promise<TranslationStrings[]>;
|
package/lib/parser.js
CHANGED
|
@@ -17,11 +17,10 @@ const cli_progress_1 = __importDefault(require("cli-progress"));
|
|
|
17
17
|
const extractors_1 = require("./extractors");
|
|
18
18
|
const const_1 = require("./const");
|
|
19
19
|
const glob_1 = require("./glob");
|
|
20
|
-
const consolidate_1 = require("./consolidate");
|
|
21
20
|
function initProgress(args, filesCount) {
|
|
22
21
|
var _a;
|
|
23
22
|
if ((_a = args.options) === null || _a === void 0 ? void 0 : _a.silent)
|
|
24
|
-
return
|
|
23
|
+
return undefined;
|
|
25
24
|
const progressBar = new cli_progress_1.default.SingleBar({
|
|
26
25
|
clearOnComplete: true,
|
|
27
26
|
etaBuffer: 1000,
|
|
@@ -31,77 +30,79 @@ function initProgress(args, filesCount) {
|
|
|
31
30
|
progressBar.start(filesCount, 0);
|
|
32
31
|
return progressBar;
|
|
33
32
|
}
|
|
34
|
-
function
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
if (progressBar) {
|
|
44
|
-
progressBar.increment(1, {
|
|
45
|
-
filename: `Skipping ${ext} file: ${file}`,
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
continue;
|
|
33
|
+
function processFiles(files, args, progressBar) {
|
|
34
|
+
const tasks = [];
|
|
35
|
+
for (const file of files) {
|
|
36
|
+
const ext = file.split('.').pop() || undefined;
|
|
37
|
+
if (!ext || !const_1.allowedFiles.includes(ext)) {
|
|
38
|
+
if (progressBar) {
|
|
39
|
+
progressBar.increment(1, {
|
|
40
|
+
filename: `Skipping ${ext} file: ${file}`,
|
|
41
|
+
});
|
|
49
42
|
}
|
|
50
|
-
|
|
43
|
+
continue;
|
|
44
|
+
}
|
|
45
|
+
const task = (0, extractors_1.parseFile)(file, args.paths.cwd).finally(() => {
|
|
51
46
|
if (progressBar) {
|
|
52
47
|
progressBar.increment(1, {
|
|
53
48
|
filename: file,
|
|
54
49
|
});
|
|
55
50
|
}
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
51
|
+
});
|
|
52
|
+
if (task !== null) {
|
|
53
|
+
tasks.push(task);
|
|
59
54
|
}
|
|
60
|
-
|
|
61
|
-
|
|
55
|
+
}
|
|
56
|
+
return tasks;
|
|
57
|
+
}
|
|
58
|
+
function getStrings(args, files) {
|
|
59
|
+
var _a;
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
let progressBar = undefined;
|
|
62
|
+
progressBar =
|
|
63
|
+
(_a = initProgress(args, Array.from(files.iterateSync()).length)) !== null && _a !== void 0 ? _a : undefined;
|
|
64
|
+
return yield Promise.all(processFiles(files, args, progressBar)).finally(() => {
|
|
65
|
+
if (progressBar) {
|
|
62
66
|
progressBar.stop();
|
|
67
|
+
}
|
|
63
68
|
});
|
|
64
|
-
const mergedResult = (0, consolidate_1.consolidate)(results.filter((r) => r !== null));
|
|
65
|
-
if (!((_a = args.options) === null || _a === void 0 ? void 0 : _a.silent)) {
|
|
66
|
-
console.log('📝 Found', Object.values(mergedResult).length, 'group of strings in', results.length, 'files.\n', 'In total ' +
|
|
67
|
-
Object.values(mergedResult)
|
|
68
|
-
.map((v) => Object.keys(v).length)
|
|
69
|
-
.reduce((acc, val) => acc + val, 0) +
|
|
70
|
-
' strings were found');
|
|
71
|
-
}
|
|
72
|
-
return mergedResult;
|
|
73
69
|
});
|
|
74
70
|
}
|
|
75
71
|
exports.getStrings = getStrings;
|
|
76
|
-
function
|
|
72
|
+
function getPatterns(args) {
|
|
77
73
|
var _a, _b, _c, _d, _e, _f;
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
pattern.include.push('**/*.php');
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
pattern.include.push('**/*.php', '!**/blade.php');
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
if (((_d = args.options) === null || _d === void 0 ? void 0 : _d.skip.js) !== undefined) {
|
|
96
|
-
pattern.include.push('**/*.{js,jsx,ts,tsx,mjs,cjs}');
|
|
97
|
-
}
|
|
98
|
-
if (((_e = args.options) === null || _e === void 0 ? void 0 : _e.skip.blockJson) !== undefined) {
|
|
99
|
-
pattern.include.push('block.json');
|
|
74
|
+
const pattern = {
|
|
75
|
+
include: args.patterns.include || [],
|
|
76
|
+
exclude: args.patterns.exclude || [],
|
|
77
|
+
mergePaths: args.patterns.mergePaths,
|
|
78
|
+
subtractPaths: args.patterns.subtractPaths,
|
|
79
|
+
subtractAndMerge: args.patterns.subtractAndMerge,
|
|
80
|
+
};
|
|
81
|
+
if (((_a = args.options) === null || _a === void 0 ? void 0 : _a.skip.php) !== undefined ||
|
|
82
|
+
((_b = args.options) === null || _b === void 0 ? void 0 : _b.skip.blade) !== undefined) {
|
|
83
|
+
if (((_c = args.options) === null || _c === void 0 ? void 0 : _c.skip.blade) !== undefined) {
|
|
84
|
+
pattern.include.push('**/*.php');
|
|
100
85
|
}
|
|
101
|
-
|
|
102
|
-
pattern.include.push('
|
|
86
|
+
else {
|
|
87
|
+
pattern.include.push('**/*.php', '!**/blade.php');
|
|
103
88
|
}
|
|
89
|
+
}
|
|
90
|
+
if (((_d = args.options) === null || _d === void 0 ? void 0 : _d.skip.js) !== undefined) {
|
|
91
|
+
pattern.include.push('**/*.{js,jsx,ts,tsx,mjs,cjs}');
|
|
92
|
+
}
|
|
93
|
+
if (((_e = args.options) === null || _e === void 0 ? void 0 : _e.skip.blockJson) !== undefined) {
|
|
94
|
+
pattern.include.push('block.json');
|
|
95
|
+
}
|
|
96
|
+
if (((_f = args.options) === null || _f === void 0 ? void 0 : _f.skip.themeJson) !== undefined) {
|
|
97
|
+
pattern.include.push('theme.json');
|
|
98
|
+
}
|
|
99
|
+
return pattern;
|
|
100
|
+
}
|
|
101
|
+
function runExtract(args) {
|
|
102
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
103
|
+
const pattern = getPatterns(args);
|
|
104
104
|
const files = yield (0, glob_1.getFiles)(args, pattern);
|
|
105
|
+
console.log('Found ', Object.values(files).length, 'files that match the pattern');
|
|
105
106
|
return yield getStrings(args, files);
|
|
106
107
|
});
|
|
107
108
|
}
|
package/lib/parser.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,gEAA0D;AAC1D,6CAAwC;AACxC,mCAAsC;AAEtC,iCAAiC;
|
|
1
|
+
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
|
package/lib/types.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { pkgJsonHeaders, pluginHeaders, themeHeaders } from './
|
|
1
|
+
import { pkgJsonHeaders, pluginHeaders, themeHeaders } from './const';
|
|
2
2
|
import { GetTextTranslation } from 'gettext-parser';
|
|
3
3
|
export type ThemeHeadersType = keyof typeof themeHeaders;
|
|
4
4
|
export type PluginHeadersType = keyof typeof pluginHeaders;
|
|
5
|
-
export type PkgHeadersType = keyof pkgJsonHeaders;
|
|
6
|
-
export type PotHeaders = pkgJsonHeaders[PkgHeadersType] | (typeof pluginHeaders)[PluginHeadersType] | (typeof themeHeaders)[ThemeHeadersType] | '
|
|
5
|
+
export type PkgHeadersType = keyof typeof pkgJsonHeaders;
|
|
6
|
+
export type PotHeaders = (typeof pkgJsonHeaders)[PkgHeadersType] | (typeof pluginHeaders)[PluginHeadersType] | (typeof themeHeaders)[ThemeHeadersType] | 'license';
|
|
7
7
|
export type DomainType = 'plugin' | 'theme' | 'block' | 'theme-block' | 'generic';
|
|
8
8
|
export interface Patterns {
|
|
9
9
|
mergePaths?: string[];
|
|
@@ -27,6 +27,7 @@ export interface Args {
|
|
|
27
27
|
location?: boolean;
|
|
28
28
|
packageName?: string;
|
|
29
29
|
output?: boolean;
|
|
30
|
+
fileComment?: string;
|
|
30
31
|
skip: {
|
|
31
32
|
js?: boolean;
|
|
32
33
|
php?: boolean;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { TranslationStrings } from '../types';
|
|
2
|
+
export declare function getCommentBlock(input: string): string;
|
|
3
|
+
export declare function removeCommentMarkup(input: string): string[] | null;
|
|
4
|
+
export declare function stripTranslationMarkup(comment: string): string;
|
|
5
|
+
export declare function stringstring(string: string | string[] | undefined): string[] | null;
|
|
6
|
+
export declare function advancedObjectMerge(obj1: TranslationStrings, obj2: TranslationStrings): TranslationStrings;
|
|
7
|
+
export declare function detectPatternType(pattern: string): 'file' | 'directory' | 'glob';
|
|
8
|
+
export declare function includeFunction(includePath: string[]): string[];
|
|
@@ -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.includeFunction = exports.detectPatternType = exports.advancedObjectMerge = exports.stringstring = exports.stripTranslationMarkup = exports.removeCommentMarkup = exports.getCommentBlock = void 0;
|
|
7
|
+
const path_1 = __importDefault(require("path"));
|
|
8
|
+
function getCommentBlock(input) {
|
|
9
|
+
const commentBlock = input.match(/\/\*\*?[\s\S]*?\*\//);
|
|
10
|
+
return commentBlock !== null ? commentBlock[0] : input;
|
|
11
|
+
}
|
|
12
|
+
exports.getCommentBlock = getCommentBlock;
|
|
13
|
+
function removeCommentMarkup(input) {
|
|
14
|
+
return input.match(/[a-zA-Z].*/gm);
|
|
15
|
+
}
|
|
16
|
+
exports.removeCommentMarkup = removeCommentMarkup;
|
|
17
|
+
function stripTranslationMarkup(comment) {
|
|
18
|
+
const commentPattern = /\/\*\*?\s*(?:translators:)\s*([\s\S]*?)\s*\*\/|\/\/\s*(?:translators:)\s*(.*)$/i;
|
|
19
|
+
const matches = comment.match(commentPattern);
|
|
20
|
+
return matches ? matches[1] : comment;
|
|
21
|
+
}
|
|
22
|
+
exports.stripTranslationMarkup = stripTranslationMarkup;
|
|
23
|
+
function stringstring(string) {
|
|
24
|
+
if (typeof string === 'string') {
|
|
25
|
+
if (string.includes(',')) {
|
|
26
|
+
return string.split(',');
|
|
27
|
+
}
|
|
28
|
+
return [string];
|
|
29
|
+
}
|
|
30
|
+
return null;
|
|
31
|
+
}
|
|
32
|
+
exports.stringstring = stringstring;
|
|
33
|
+
function advancedObjectMerge(obj1, obj2) {
|
|
34
|
+
const merged = Object.assign({}, obj1);
|
|
35
|
+
for (const key in obj2) {
|
|
36
|
+
if (Object.prototype.hasOwnProperty.call(obj2, key)) {
|
|
37
|
+
merged[key] =
|
|
38
|
+
obj1[key] && obj1[key].toString() === '[object Object]'
|
|
39
|
+
?
|
|
40
|
+
advancedObjectMerge(obj1[key], obj2[key])
|
|
41
|
+
: obj2[key];
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return merged;
|
|
45
|
+
}
|
|
46
|
+
exports.advancedObjectMerge = advancedObjectMerge;
|
|
47
|
+
function detectPatternType(pattern) {
|
|
48
|
+
const containsFileExtension = pattern.includes('.');
|
|
49
|
+
const containsDirectorySeparator = pattern.includes(path_1.default.sep) || pattern.endsWith(path_1.default.sep);
|
|
50
|
+
if (pattern.includes('*')) {
|
|
51
|
+
return 'glob';
|
|
52
|
+
}
|
|
53
|
+
else if (!containsFileExtension && !containsDirectorySeparator) {
|
|
54
|
+
return 'directory';
|
|
55
|
+
}
|
|
56
|
+
else if (containsFileExtension && !containsDirectorySeparator) {
|
|
57
|
+
return 'file';
|
|
58
|
+
}
|
|
59
|
+
else {
|
|
60
|
+
return 'glob';
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
exports.detectPatternType = detectPatternType;
|
|
64
|
+
function includeFunction(includePath) {
|
|
65
|
+
return includePath.map((path) => {
|
|
66
|
+
const type = detectPatternType(path);
|
|
67
|
+
switch (type) {
|
|
68
|
+
case 'directory':
|
|
69
|
+
return path + '/**';
|
|
70
|
+
case 'file':
|
|
71
|
+
return '**/' + path;
|
|
72
|
+
default:
|
|
73
|
+
return path;
|
|
74
|
+
}
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
exports.includeFunction = includeFunction;
|
|
78
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|
package/lib/utils.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { TranslationStrings } from './types';
|
|
2
2
|
export declare function getCommentBlock(input: string): string;
|
|
3
|
-
export declare function removeCommentMarkup(input: string): string;
|
|
3
|
+
export declare function removeCommentMarkup(input: string): string[] | null;
|
|
4
4
|
export declare function stripTranslationMarkup(comment: string): string;
|
|
5
5
|
export declare function stringstring(string: string | string[] | undefined): string[] | null;
|
|
6
6
|
export declare function advancedObjectMerge(obj1: TranslationStrings, obj2: TranslationStrings): TranslationStrings;
|
package/lib/utils.js
CHANGED
|
@@ -11,7 +11,7 @@ function getCommentBlock(input) {
|
|
|
11
11
|
}
|
|
12
12
|
exports.getCommentBlock = getCommentBlock;
|
|
13
13
|
function removeCommentMarkup(input) {
|
|
14
|
-
return input.
|
|
14
|
+
return input.match(/[a-zA-Z].*/gm);
|
|
15
15
|
}
|
|
16
16
|
exports.removeCommentMarkup = removeCommentMarkup;
|
|
17
17
|
function stripTranslationMarkup(comment) {
|
package/lib/utils.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/tests/extract-2.test.ts
CHANGED
package/tests/getFiles.old.ts
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { describe, expect } from '@jest/globals'
|
|
2
2
|
import { getFiles } from '../src/glob'
|
|
3
3
|
import { Args, DomainType } from '../src/types'
|
|
4
|
-
import { parseCliArgs } from '../src/cliArgs'
|
|
5
4
|
import path from 'path'
|
|
5
|
+
import { parseCliArgs } from '../src/cli/parseCli'
|
|
6
6
|
|
|
7
7
|
describe('getFiles', () => {
|
|
8
8
|
const DEFAULTS = parseCliArgs({
|
package/tests/getStrings.old.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { describe, expect } from '@jest/globals'
|
|
2
|
-
import { getStrings } from '../src/parser'
|
|
3
2
|
import { Args, DomainType } from '../src/types'
|
|
4
3
|
import { getFiles } from '../src/glob'
|
|
4
|
+
import { getStrings } from '../src/parser/process'
|
|
5
5
|
|
|
6
6
|
const args: Args = {
|
|
7
7
|
slug: 'plugin-slug',
|