@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
package/lib/extractors/css.js
CHANGED
|
@@ -8,6 +8,8 @@ const path_1 = __importDefault(require("path"));
|
|
|
8
8
|
const fs_1 = __importDefault(require("fs"));
|
|
9
9
|
const utils_1 = require("../utils");
|
|
10
10
|
const text_1 = require("./text");
|
|
11
|
+
const const_1 = require("../const");
|
|
12
|
+
const utils_2 = require("./utils");
|
|
11
13
|
function extractCssThemeData(args) {
|
|
12
14
|
let fileData = {};
|
|
13
15
|
const styleCssFile = path_1.default.join(args.paths.cwd, 'style.css');
|
|
@@ -15,11 +17,20 @@ function extractCssThemeData(args) {
|
|
|
15
17
|
const fileContent = fs_1.default.readFileSync(styleCssFile, 'utf8');
|
|
16
18
|
const commentBlock = (0, utils_1.getCommentBlock)(fileContent);
|
|
17
19
|
fileData = (0, text_1.extractFileData)(commentBlock);
|
|
18
|
-
if ('Name' in fileData) {
|
|
20
|
+
if ('Theme Name' in fileData) {
|
|
19
21
|
console.log('Theme stylesheet detected.');
|
|
20
22
|
console.log(`Theme stylesheet: ${styleCssFile}`);
|
|
21
23
|
args.domain = 'theme';
|
|
22
|
-
|
|
24
|
+
const themeInfo = {};
|
|
25
|
+
for (const keyValueMatch of Object.entries(fileData)) {
|
|
26
|
+
if (keyValueMatch && keyValueMatch[0] && keyValueMatch[1]) {
|
|
27
|
+
const header = (0, utils_2.getKeyByValue)(const_1.themeHeaders, keyValueMatch[0].trim());
|
|
28
|
+
if (header === undefined)
|
|
29
|
+
continue;
|
|
30
|
+
themeInfo[header] = keyValueMatch[1].trim();
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return themeInfo;
|
|
23
34
|
}
|
|
24
35
|
}
|
|
25
36
|
else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../src/extractors/css.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AACvB,4CAAmB;AACnB,oCAA0C;AAC1C,iCAAwC;
|
|
1
|
+
{"version":3,"file":"css.js","sourceRoot":"","sources":["../../src/extractors/css.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AACvB,4CAAmB;AACnB,oCAA0C;AAC1C,iCAAwC;AACxC,oCAAuC;AACvC,mCAAuC;AAMvC,SAAgB,mBAAmB,CAAC,IAAU;IAC7C,IAAI,QAAQ,GAA2B,EAAE,CAAA;IACzC,MAAM,YAAY,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAA;IAE3D,IAAI,YAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,YAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAA;QACzD,MAAM,YAAY,GAAG,IAAA,uBAAe,EAAC,WAAW,CAAC,CAAA;QACjD,QAAQ,GAAG,IAAA,sBAAe,EAAC,YAAY,CAAC,CAAA;QAExC,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAA;YACzC,OAAO,CAAC,GAAG,CAAC,qBAAqB,YAAY,EAAE,CAAC,CAAA;YAChD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAA;YAErB,MAAM,SAAS,GAA2B,EAAE,CAAA;YAG5C,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAEtD,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;oBAE3D,MAAM,MAAM,GAAG,IAAA,qBAAa,EAC3B,oBAAY,EACZ,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CACvB,CAAA;oBACD,IAAI,MAAM,KAAK,SAAS;wBAAE,SAAQ;oBAClC,SAAS,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;gBAC5C,CAAC;YACF,CAAC;YAED,OAAO,SAAS,CAAA;QACjB,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAA;IAC7D,CAAC;IACD,OAAO,EAAE,CAAA;AACV,CAAC;AApCD,kDAoCC"}
|
|
@@ -2,7 +2,5 @@ import { Args } from '../types';
|
|
|
2
2
|
export declare function generateHeader(args: Args): Record<string, string>;
|
|
3
3
|
export declare function extractMainFileData(args: Args): Record<string, string>;
|
|
4
4
|
export declare function translationsHeaders(args: Args): {
|
|
5
|
-
|
|
6
|
-
description: import("gettext-parser").GetTextTranslation;
|
|
7
|
-
author: import("gettext-parser").GetTextTranslation;
|
|
5
|
+
[x: string]: import("gettext-parser").GetTextTranslation;
|
|
8
6
|
};
|
|
@@ -4,7 +4,7 @@ exports.translationsHeaders = exports.extractMainFileData = exports.generateHead
|
|
|
4
4
|
const php_1 = require("./php");
|
|
5
5
|
const css_1 = require("./css");
|
|
6
6
|
const utils_1 = require("./utils");
|
|
7
|
-
const
|
|
7
|
+
const const_1 = require("../const");
|
|
8
8
|
function generateHeader(args) {
|
|
9
9
|
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
|
|
10
10
|
const headerData = Object.assign(Object.assign({}, args.headers), { author: ((_a = args.headers) === null || _a === void 0 ? void 0 : _a.author) || 'AUTHOR', slug: ((_b = args.headers) === null || _b === void 0 ? void 0 : _b.slug) || 'PLUGIN NAME', email: ((_c = args.headers) === null || _c === void 0 ? void 0 : _c.email) || 'EMAIL', license: ((_d = args.headers) === null || _d === void 0 ? void 0 : _d.license) || 'gpl-2.0 or later', version: ((_e = args.headers) === null || _e === void 0 ? void 0 : _e.version) || 'VERSION', language: ((_f = args.headers) === null || _f === void 0 ? void 0 : _f.language) || 'LANGUAGE', domain: ((_g = args.headers) === null || _g === void 0 ? void 0 : _g.domain) || ((_h = args.headers) === null || _h === void 0 ? void 0 : _h.slug) || undefined, bugs: {
|
|
@@ -23,7 +23,7 @@ function generateHeader(args) {
|
|
|
23
23
|
'PO-Revision-Date': `${new Date().getFullYear()}-MO-DA HO:MI+ZONE`,
|
|
24
24
|
'Last-Translator': `${headerData.author} <${headerData.email}>`,
|
|
25
25
|
'Language-Team': `${headerData.author} <${headerData.email}>`,
|
|
26
|
-
'X-Generator': `${
|
|
26
|
+
'X-Generator': `${const_1.pkgJson.name} ${const_1.pkgJson.version}`,
|
|
27
27
|
Language: `${headerData.language}`,
|
|
28
28
|
'X-Domain': headerData.domain ? `${headerData.domain}` : '',
|
|
29
29
|
};
|
|
@@ -45,12 +45,14 @@ function extractMainFileData(args) {
|
|
|
45
45
|
exports.extractMainFileData = extractMainFileData;
|
|
46
46
|
function translationsHeaders(args) {
|
|
47
47
|
const { domain, headers } = args;
|
|
48
|
-
const { name, description, author } = headers;
|
|
48
|
+
const { name, description, author, authorUri, url } = headers;
|
|
49
49
|
const fakePath = domain === 'plugin' ? args.slug + '.php' : 'style.css';
|
|
50
50
|
return {
|
|
51
|
-
name: (0, utils_1.gentranslation)('Name of the ' + domain, name, fakePath),
|
|
52
|
-
|
|
53
|
-
|
|
51
|
+
[name]: (0, utils_1.gentranslation)('Name of the ' + domain, name, fakePath),
|
|
52
|
+
[url]: (0, utils_1.gentranslation)('Url of the ' + domain, url, fakePath),
|
|
53
|
+
[description]: (0, utils_1.gentranslation)('Description of the ' + domain, description, fakePath),
|
|
54
|
+
[author]: (0, utils_1.gentranslation)(domain + ' author', author, fakePath),
|
|
55
|
+
[authorUri]: (0, utils_1.gentranslation)('Author of the ' + domain, authorUri, fakePath),
|
|
54
56
|
};
|
|
55
57
|
}
|
|
56
58
|
exports.translationsHeaders = translationsHeaders;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/extractors/headers.ts"],"names":[],"mappings":";;;AACA,+BAA4C;AAC5C,+BAA2C;AAC3C,mCAAwC;AACxC,
|
|
1
|
+
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/extractors/headers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,2 @@
|
|
|
1
1
|
import { type TranslationStrings } from '../types';
|
|
2
|
-
export declare function
|
|
3
|
-
export declare function parseFile(file: string, filePath?: string): Promise<TranslationStrings | null>;
|
|
2
|
+
export declare function parseFile(file: string, filePath?: string): Promise<TranslationStrings | undefined>;
|
package/lib/extractors/index.js
CHANGED
|
@@ -32,63 +32,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
32
32
|
});
|
|
33
33
|
};
|
|
34
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.parseFile =
|
|
35
|
+
exports.parseFile = void 0;
|
|
36
36
|
const path = __importStar(require("path"));
|
|
37
|
-
const
|
|
38
|
-
const utils_1 = require("../utils");
|
|
37
|
+
const fs_1 = require("../fs");
|
|
39
38
|
const json_1 = require("./json");
|
|
40
|
-
const
|
|
41
|
-
const tree_1 = require("../tree");
|
|
42
|
-
const utils_2 = require("./utils");
|
|
43
|
-
function yieldParsedData(parsed, filename, filepath) {
|
|
44
|
-
const gettextTranslations = {};
|
|
45
|
-
Object.entries(parsed).forEach(([term, string]) => {
|
|
46
|
-
var _a, _b;
|
|
47
|
-
const entry = (0, utils_2.gentranslation)((0, json_1.getJsonComment)(term, filename), string, filepath);
|
|
48
|
-
gettextTranslations[(_a = entry.msgctxt) !== null && _a !== void 0 ? _a : ''] = Object.assign(Object.assign({}, (gettextTranslations[(_b = entry.msgctxt) !== null && _b !== void 0 ? _b : ''] || {})), { [entry.msgid]: entry });
|
|
49
|
-
});
|
|
50
|
-
return gettextTranslations;
|
|
51
|
-
}
|
|
52
|
-
exports.yieldParsedData = yieldParsedData;
|
|
39
|
+
const tree_1 = require("../parser/tree");
|
|
53
40
|
function parseFile(file, filePath = '') {
|
|
54
41
|
return __awaiter(this, void 0, void 0, function* () {
|
|
42
|
+
const filename = path.basename(file);
|
|
55
43
|
const ext = path.extname(file).replace(/^./, '');
|
|
56
44
|
const fileRealPath = path.resolve(filePath, file);
|
|
57
45
|
if (ext === 'json') {
|
|
58
|
-
const filename = path.basename(file);
|
|
59
46
|
if (filename === 'theme.json' || filename === 'block.json') {
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
filename: filename,
|
|
63
|
-
filepath: filePath,
|
|
47
|
+
return (0, fs_1.readFileAsync)(fileRealPath).then((sourceCode) => {
|
|
48
|
+
return (0, json_1.parseJsonCallback)(sourceCode, filePath, filename);
|
|
64
49
|
});
|
|
65
|
-
if (res) {
|
|
66
|
-
return yieldParsedData(res, filename, path.join(filePath, filename));
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
return {};
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
if (ext === 'txt') {
|
|
74
|
-
const filename = path.basename(file);
|
|
75
|
-
if (filename === 'readme.txt') {
|
|
76
|
-
const fileContent = fs.readFileSync(file, 'utf8');
|
|
77
|
-
const commentBlock = (0, utils_1.getCommentBlock)(fileContent);
|
|
78
|
-
const parsed = (0, text_1.extractFileData)(commentBlock);
|
|
79
|
-
if (parsed) {
|
|
80
|
-
return yieldParsedData(parsed, filename, filePath);
|
|
81
|
-
}
|
|
82
|
-
else {
|
|
83
|
-
return {};
|
|
84
|
-
}
|
|
85
50
|
}
|
|
86
51
|
}
|
|
87
52
|
if (['ts', 'tsx', 'js', 'jsx', 'mjs', 'cjs', 'php'].includes(ext)) {
|
|
88
|
-
|
|
89
|
-
|
|
53
|
+
return (0, fs_1.readFileAsync)(fileRealPath).then((sourceCode) => {
|
|
54
|
+
return (0, tree_1.doTree)(sourceCode, file);
|
|
55
|
+
});
|
|
90
56
|
}
|
|
91
|
-
return new Promise((resolve) => resolve(null));
|
|
92
57
|
});
|
|
93
58
|
}
|
|
94
59
|
exports.parseFile = parseFile;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extractors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extractors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAE5B,8BAAqC;AACrC,iCAA0C;AAC1C,yCAAuC;AAOvC,SAAsB,SAAS,CAC9B,IAAY,EACZ,WAAmB,EAAE;;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAEjD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC5D,OAAO,IAAA,kBAAa,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBACtD,OAAO,IAAA,wBAAiB,EAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBACzD,CAAC,CAAC,CAAA;YACH,CAAC;QACF,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAEnE,OAAO,IAAA,kBAAa,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;gBACtD,OAAO,IAAA,aAAM,EAAC,UAAU,EAAE,IAAI,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;QACH,CAAC;IACF,CAAC;CAAA;AAtBD,8BAsBC"}
|
package/lib/extractors/json.d.ts
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
import type { I18nSchema } from '../types';
|
|
1
|
+
import type { Args, I18nSchema, TranslationStrings } from '../types';
|
|
2
2
|
export declare function parseJsonFile(opts: {
|
|
3
|
-
|
|
3
|
+
fileContent: string;
|
|
4
4
|
filename: 'block.json' | 'theme.json';
|
|
5
5
|
filepath: string;
|
|
6
6
|
}): Promise<I18nSchema>;
|
|
7
|
-
export declare function getJsonComment(key: string, type?:
|
|
7
|
+
export declare function getJsonComment(key: string, type?: string): string;
|
|
8
|
+
export declare function extractPackageJson(args: Args): Record<string, string>;
|
|
9
|
+
export declare function parseJsonCallback(fileContent: string, filePath: string, filename: 'block.json' | 'theme.json'): Promise<TranslationStrings>;
|
package/lib/extractors/json.js
CHANGED
|
@@ -8,13 +8,19 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
8
8
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
9
|
});
|
|
10
10
|
};
|
|
11
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
+
};
|
|
11
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.getJsonComment = exports.parseJsonFile = void 0;
|
|
13
|
-
const
|
|
15
|
+
exports.parseJsonCallback = exports.extractPackageJson = exports.getJsonComment = exports.parseJsonFile = void 0;
|
|
16
|
+
const const_1 = require("../const");
|
|
14
17
|
const schema_1 = require("./schema");
|
|
18
|
+
const path_1 = __importDefault(require("path"));
|
|
19
|
+
const fs_1 = __importDefault(require("fs"));
|
|
20
|
+
const utils_1 = require("./utils");
|
|
15
21
|
function parseJsonFile(opts) {
|
|
16
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
|
-
const jsonTranslations = yield schema_1.JsonSchemaExtractor.fromString(opts.
|
|
23
|
+
const jsonTranslations = yield schema_1.JsonSchemaExtractor.fromString(opts.fileContent, {
|
|
18
24
|
file: opts.filename,
|
|
19
25
|
schema: opts.filename === 'theme.json'
|
|
20
26
|
? schema_1.JsonSchemaExtractor.themeJsonSource
|
|
@@ -28,11 +34,49 @@ function parseJsonFile(opts) {
|
|
|
28
34
|
});
|
|
29
35
|
}
|
|
30
36
|
exports.parseJsonFile = parseJsonFile;
|
|
37
|
+
function getSchema(type) {
|
|
38
|
+
switch (type) {
|
|
39
|
+
case 'block.json':
|
|
40
|
+
return const_1.blockJson;
|
|
41
|
+
case 'theme.json':
|
|
42
|
+
return const_1.themeJson;
|
|
43
|
+
default:
|
|
44
|
+
return {};
|
|
45
|
+
}
|
|
46
|
+
}
|
|
31
47
|
function getJsonComment(key, type) {
|
|
32
|
-
const comments = type
|
|
48
|
+
const comments = getSchema(type);
|
|
33
49
|
return key in Object.values(comments)
|
|
34
50
|
? comments[key]
|
|
35
51
|
: key;
|
|
36
52
|
}
|
|
37
53
|
exports.getJsonComment = getJsonComment;
|
|
54
|
+
function extractPackageJson(args) {
|
|
55
|
+
const fields = const_1.pkgJsonHeaders;
|
|
56
|
+
const pkgJsonMeta = {};
|
|
57
|
+
const packageJsonPath = args.paths.cwd
|
|
58
|
+
? path_1.default.join(args.paths.cwd, 'package.json')
|
|
59
|
+
: 'package.json';
|
|
60
|
+
if (fs_1.default.existsSync(packageJsonPath)) {
|
|
61
|
+
const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf8'));
|
|
62
|
+
for (const field of Object.keys(fields)) {
|
|
63
|
+
if (field in packageJson) {
|
|
64
|
+
pkgJsonMeta[field] = packageJson[field];
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
return pkgJsonMeta;
|
|
69
|
+
}
|
|
70
|
+
exports.extractPackageJson = extractPackageJson;
|
|
71
|
+
function parseJsonCallback(fileContent, filePath, filename) {
|
|
72
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
73
|
+
const data = yield parseJsonFile({
|
|
74
|
+
fileContent: fileContent,
|
|
75
|
+
filename: filename,
|
|
76
|
+
filepath: filePath,
|
|
77
|
+
});
|
|
78
|
+
return (0, utils_1.yieldParsedData)(data, filename, path_1.default.join(filePath, filename));
|
|
79
|
+
});
|
|
80
|
+
}
|
|
81
|
+
exports.parseJsonCallback = parseJsonCallback;
|
|
38
82
|
//# sourceMappingURL=json.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/extractors/json.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/extractors/json.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,oCAA+D;AAC/D,qCAA8C;AAC9C,gDAAuB;AACvB,4CAAmB;AACnB,mCAAyC;AAWzC,SAAsB,aAAa,CAAC,IAInC;;QACA,MAAM,gBAAgB,GAAG,MAAM,4BAAmB,CAAC,UAAU,CAC5D,IAAI,CAAC,WAAW,EAChB;YACC,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,MAAM,EACL,IAAI,CAAC,QAAQ,KAAK,YAAY;gBAC7B,CAAC,CAAC,4BAAmB,CAAC,eAAe;gBACrC,CAAC,CAAC,4BAAmB,CAAC,eAAe;YACvC,cAAc,EACb,IAAI,CAAC,QAAQ,KAAK,YAAY;gBAC7B,CAAC,CAAC,4BAAmB,CAAC,iBAAiB;gBACvC,CAAC,CAAC,4BAAmB,CAAC,iBAAiB;YACzC,aAAa,EAAE,IAAI;SACnB,CACD,CAAA;QACD,OAAO,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAA;IAC9B,CAAC;CAAA;AArBD,sCAqBC;AAED,SAAS,SAAS,CAAC,IAAa;IAC/B,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,YAAY;YAChB,OAAO,iBAAS,CAAA;QACjB,KAAK,YAAY;YAChB,OAAO,iBAAS,CAAA;QACjB;YACC,OAAO,EAAE,CAAA;IACX,CAAC;AACF,CAAC;AASD,SAAgB,cAAc,CAAC,GAAW,EAAE,IAAa;IACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAChC,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,QAAQ,CAAC,GAA4B,CAAC;QACxC,CAAC,CAAC,GAAG,CAAA;AACP,CAAC;AALD,wCAKC;AAUD,SAAgB,kBAAkB,CAAC,IAAU;IAC5C,MAAM,MAAM,GAAG,sBAAc,CAAA;IAC7B,MAAM,WAAW,GAA2B,EAAE,CAAA;IAE9C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG;QACrC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;QAC3C,CAAC,CAAC,cAAc,CAAA;IAKjB,IAAI,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;QACxE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAEzC,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;gBAC1B,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAW,CAAA;YAClD,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAA;AACnB,CAAC;AArBD,gDAqBC;AAUD,SAAsB,iBAAiB,CACtC,WAAmB,EACnB,QAAgB,EAChB,QAAqC;;QAErC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC;YAChC,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SAClB,CAAC,CAAA;QAEF,OAAO,IAAA,uBAAe,EACrB,IAAyC,EACzC,QAAQ,EACR,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAC7B,CAAA;IACF,CAAC;CAAA;AAhBD,8CAgBC"}
|
package/lib/extractors/php.js
CHANGED
|
@@ -4,7 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.parsePHPFile = exports.extractPhpPluginData = void 0;
|
|
7
|
-
const
|
|
7
|
+
const const_1 = require("../const");
|
|
8
8
|
const utils_1 = require("./utils");
|
|
9
9
|
const path_1 = __importDefault(require("path"));
|
|
10
10
|
const fs_1 = __importDefault(require("fs"));
|
|
@@ -14,15 +14,10 @@ function extractPhpPluginData(args) {
|
|
|
14
14
|
if (fs_1.default.existsSync(folderPhpFile)) {
|
|
15
15
|
const fileContent = fs_1.default.readFileSync(folderPhpFile, 'utf8');
|
|
16
16
|
fileData = parsePHPFile(fileContent);
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return fileData;
|
|
22
|
-
}
|
|
23
|
-
else {
|
|
24
|
-
console.log('Plugin file detected, but no plugin information found.');
|
|
25
|
-
}
|
|
17
|
+
console.log('Plugin file detected.');
|
|
18
|
+
console.log(`Plugin file: ${folderPhpFile}`);
|
|
19
|
+
args.domain = 'plugin';
|
|
20
|
+
return fileData;
|
|
26
21
|
}
|
|
27
22
|
else {
|
|
28
23
|
console.log('Plugin file not found.');
|
|
@@ -32,7 +27,6 @@ function extractPhpPluginData(args) {
|
|
|
32
27
|
}
|
|
33
28
|
exports.extractPhpPluginData = extractPhpPluginData;
|
|
34
29
|
function parsePHPFile(phpContent) {
|
|
35
|
-
var _a;
|
|
36
30
|
const match = phpContent.match(/\/\*\*([\s\S]*?)\*\//);
|
|
37
31
|
if (match && match[1]) {
|
|
38
32
|
const commentBlock = match[1];
|
|
@@ -41,10 +35,9 @@ function parsePHPFile(phpContent) {
|
|
|
41
35
|
for (const line of lines) {
|
|
42
36
|
const keyValueMatch = line.match(/^\s*\*\s*([^:]+):\s*(.*)/);
|
|
43
37
|
if (keyValueMatch && keyValueMatch[1] && keyValueMatch[2]) {
|
|
44
|
-
|
|
45
|
-
header
|
|
46
|
-
|
|
47
|
-
header = (0, utils_1.getKeyByValue)(maps_1.pluginHeaders, header);
|
|
38
|
+
const header = (0, utils_1.getKeyByValue)(const_1.pluginHeaders, keyValueMatch[1].trim());
|
|
39
|
+
if (header === undefined)
|
|
40
|
+
continue;
|
|
48
41
|
pluginInfo[header] = keyValueMatch[2].trim();
|
|
49
42
|
}
|
|
50
43
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"php.js","sourceRoot":"","sources":["../../src/extractors/php.ts"],"names":[],"mappings":";;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"php.js","sourceRoot":"","sources":["../../src/extractors/php.ts"],"names":[],"mappings":";;;;;;AAAA,oCAAwC;AACxC,mCAAuC;AAEvC,gDAAuB;AACvB,4CAAmB;AAEnB,SAAgB,oBAAoB,CAAC,IAAU;IAC9C,IAAI,QAAQ,GAA2B,EAAE,CAAA;IACzC,MAAM,aAAa,GAAG,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC,CAAA;IAEnE,IAAI,YAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,YAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QAC1D,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAA;QAGpC,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;QACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,EAAE,CAAC,CAAA;QAC5C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;QAEtB,OAAO,QAAQ,CAAA;IAChB,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;QACrC,OAAO,CAAC,GAAG,CAAC,4BAA4B,aAAa,EAAE,CAAC,CAAA;IACzD,CAAC;IAED,OAAO,EAAE,CAAA;AACV,CAAC;AApBD,oDAoBC;AAQD,SAAgB,YAAY,CAAC,UAAkB;IAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAA;IAEtD,IAAI,KAAK,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;QACvB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAA;QAC7B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;QAEtC,MAAM,UAAU,GAA2B,EAAE,CAAA;QAE7C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAA;YAG5D,IAAI,aAAa,IAAI,aAAa,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBAE3D,MAAM,MAAM,GAAG,IAAA,qBAAa,EAC3B,qBAAa,EACb,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CACvB,CAAA;gBACD,IAAI,MAAM,KAAK,SAAS;oBAAE,SAAQ;gBAClC,UAAU,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;YAC7C,CAAC;QACF,CAAC;QAED,OAAO,UAAU,CAAA;IAClB,CAAC;IACD,OAAO,EAAE,CAAA;AACV,CAAC;AA3BD,oCA2BC"}
|
package/lib/extractors/schema.js
CHANGED
|
@@ -44,7 +44,11 @@ class JsonSchemaExtractor {
|
|
|
44
44
|
return this.schemaCache[url];
|
|
45
45
|
}
|
|
46
46
|
try {
|
|
47
|
-
const response = yield axios_1.default.get(url
|
|
47
|
+
const response = yield axios_1.default.get(url, {
|
|
48
|
+
headers: {
|
|
49
|
+
'Cache-Control': 'no-cache',
|
|
50
|
+
},
|
|
51
|
+
});
|
|
48
52
|
this.schemaCache[url] = response.data;
|
|
49
53
|
return response.data;
|
|
50
54
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/extractors/schema.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,kDAAyB;AAMzB,MAAa,mBAAmB;IAmBvB,MAAM,CAAO,UAAU,CAC9B,GAAW,EACX,QAAgB;;YAEhB,IAAI,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;gBAC3B,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAA;YAC7B,CAAC;YAED,IAAI,CAAC;gBACJ,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/extractors/schema.ts"],"names":[],"mappings":"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"}
|
package/lib/extractors/text.js
CHANGED
|
@@ -3,13 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.extractFileData = void 0;
|
|
4
4
|
const utils_1 = require("../utils");
|
|
5
5
|
function extractFileData(fileContent, separator = ':') {
|
|
6
|
+
var _a;
|
|
6
7
|
const data = {};
|
|
7
|
-
fileContent
|
|
8
|
-
.trimStart()
|
|
9
|
-
.split('\n')
|
|
10
|
-
.map((line) => line.trim())
|
|
11
|
-
.map((line) => (0, utils_1.removeCommentMarkup)(line))
|
|
12
|
-
.forEach((line) => {
|
|
8
|
+
(_a = (0, utils_1.removeCommentMarkup)(fileContent)) === null || _a === void 0 ? void 0 : _a.forEach((line) => {
|
|
13
9
|
var _a, _b;
|
|
14
10
|
const parts = line.split(separator);
|
|
15
11
|
if (parts.length !== 2 && Object.values(data).length > 0) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/extractors/text.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/extractors/text.ts"],"names":[],"mappings":";;;AAAA,oCAA+D;AAW/D,SAAgB,eAAe,CAC9B,WAAmB,EACnB,YAAoB,GAAG;;IAEvB,MAAM,IAAI,GAA2B,EAAE,CAAA;IAGvC,MAAA,IAAA,2BAAmB,EAAC,WAAW,CAAC,0CAE7B,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;;QAClB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAInC,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1D,OAAM;QACP,CAAC;QACD,IAAI,CAAC,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,IAAI,EAAE,CAAC,GAAG,MAAA,KAAK,CAAC,CAAC,CAAC,0CAAE,IAAI,EAAE,CAAA;IAC1C,CAAC,CAAC,CAAA;IAEH,OAAO,IAAI,CAAA;AACZ,CAAC;AArBD,0CAqBC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type { Args } from '../types';
|
|
2
1
|
import { GetTextTranslation } from 'gettext-parser';
|
|
3
|
-
|
|
4
|
-
export declare function
|
|
2
|
+
import type { TranslationStrings } from '../types';
|
|
3
|
+
export declare function getKeyByValue(object: Record<string, unknown>, value: string): string | undefined;
|
|
5
4
|
export declare const gentranslation: (label: string, string: string, filePath?: string | undefined) => GetTextTranslation;
|
|
5
|
+
export declare function yieldParsedData(parsed: Record<string, string | string[]>, filename: 'block.json' | 'theme.json' | 'readme.txt', filepath: string): TranslationStrings;
|
package/lib/extractors/utils.js
CHANGED
|
@@ -1,34 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
7
|
-
const
|
|
8
|
-
const fs_1 = __importDefault(require("fs"));
|
|
9
|
-
const maps_1 = require("../maps");
|
|
3
|
+
exports.yieldParsedData = exports.gentranslation = exports.getKeyByValue = void 0;
|
|
4
|
+
const json_1 = require("./json");
|
|
10
5
|
function getKeyByValue(object, value) {
|
|
11
6
|
var _a;
|
|
12
|
-
return (_a = Object.keys(object).find((key) => object[key] === value)) !== null && _a !== void 0 ? _a :
|
|
7
|
+
return (_a = Object.keys(object).find((key) => object[key] === value)) !== null && _a !== void 0 ? _a : undefined;
|
|
13
8
|
}
|
|
14
9
|
exports.getKeyByValue = getKeyByValue;
|
|
15
|
-
function extractPackageJson(args) {
|
|
16
|
-
const fields = maps_1.pluginHeaders;
|
|
17
|
-
const pkgJsonMeta = {};
|
|
18
|
-
const packageJsonPath = args.paths.cwd
|
|
19
|
-
? path_1.default.join(args.paths.cwd, 'package.json')
|
|
20
|
-
: 'package.json';
|
|
21
|
-
if (fs_1.default.existsSync(packageJsonPath)) {
|
|
22
|
-
const packageJson = JSON.parse(fs_1.default.readFileSync(packageJsonPath, 'utf8'));
|
|
23
|
-
for (const field of Object.keys(fields)) {
|
|
24
|
-
if (packageJson[field] !== undefined) {
|
|
25
|
-
pkgJsonMeta[field] = packageJson[field];
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
return pkgJsonMeta;
|
|
30
|
-
}
|
|
31
|
-
exports.extractPackageJson = extractPackageJson;
|
|
32
10
|
const gentranslation = (label, string, filePath) => {
|
|
33
11
|
return {
|
|
34
12
|
msgctxt: undefined,
|
|
@@ -42,4 +20,35 @@ const gentranslation = (label, string, filePath) => {
|
|
|
42
20
|
};
|
|
43
21
|
};
|
|
44
22
|
exports.gentranslation = gentranslation;
|
|
23
|
+
function yieldParsedData(parsed, filename, filepath) {
|
|
24
|
+
if (!parsed) {
|
|
25
|
+
return {};
|
|
26
|
+
}
|
|
27
|
+
const gettextTranslations = {};
|
|
28
|
+
Object.entries(parsed).forEach(([term, item]) => {
|
|
29
|
+
function storeTranslation(value, valueKey = term) {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
const entry = (0, exports.gentranslation)((0, json_1.getJsonComment)(term, filename), valueKey, filepath);
|
|
32
|
+
gettextTranslations[(_a = entry.msgctxt) !== null && _a !== void 0 ? _a : ''] = Object.assign(Object.assign({}, (gettextTranslations[(_b = entry.msgctxt) !== null && _b !== void 0 ? _b : ''] || {})), { [entry.msgid]: entry });
|
|
33
|
+
}
|
|
34
|
+
if (!item) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
else if (typeof item === 'string') {
|
|
38
|
+
storeTranslation(item);
|
|
39
|
+
}
|
|
40
|
+
else if (Array.isArray(item)) {
|
|
41
|
+
item.forEach((value) => storeTranslation(value));
|
|
42
|
+
}
|
|
43
|
+
else {
|
|
44
|
+
Object.entries(item).forEach(([key, value]) => {
|
|
45
|
+
if (typeof value === 'string') {
|
|
46
|
+
storeTranslation(value, key);
|
|
47
|
+
}
|
|
48
|
+
});
|
|
49
|
+
}
|
|
50
|
+
});
|
|
51
|
+
return gettextTranslations;
|
|
52
|
+
}
|
|
53
|
+
exports.yieldParsedData = yieldParsedData;
|
|
45
54
|
//# sourceMappingURL=utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/extractors/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/extractors/utils.ts"],"names":[],"mappings":";;;AAEA,iCAAuC;AASvC,SAAgB,aAAa,CAC5B,MAA+B,EAC/B,KAAa;;IAEb,OAAO,MAAA,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,KAAK,CAAC,mCAAI,SAAS,CAAA;AAC7E,CAAC;AALD,sCAKC;AASM,MAAM,cAAc,GAAG,CAC7B,KAAa,EACb,MAAc,EACd,QAA6B,EACR,EAAE;IACvB,OAAO;QACN,OAAO,EAAE,SAAS;QAClB,KAAK,EAAE,MAAM;QACb,YAAY,EAAE,EAAE;QAChB,MAAM,EAAE,EAAE;QACV,QAAQ,EAAE;YACT,SAAS,EAAE,KAAK;YAChB,SAAS,EAAE,QAAQ;SACe;KACnC,CAAA;AACF,CAAC,CAAA;AAfY,QAAA,cAAc,kBAe1B;AAUD,SAAgB,eAAe,CAC9B,MAAyC,EACzC,QAAoD,EACpD,QAAgB;IAEhB,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,OAAO,EAAE,CAAA;IACV,CAAC;IACD,MAAM,mBAAmB,GAAuB,EAAE,CAAA;IAElD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE;QAO/C,SAAS,gBAAgB,CAAC,KAAa,EAAE,WAAmB,IAAI;;YAC/D,MAAM,KAAK,GAAG,IAAA,sBAAc,EAC3B,IAAA,qBAAc,EAAC,IAAI,EAAE,QAAQ,CAAC,EAC9B,QAAQ,EACR,QAAQ,CACR,CAAA;YAED,mBAAmB,CAAC,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CAAC,mCACpC,CAAC,mBAAmB,CAAC,MAAA,KAAK,CAAC,OAAO,mCAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KACnD,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,KAAK,GACpB,CAAA;QACF,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,CAAC;YACX,OAAM;QACP,CAAC;aAAM,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;YACrC,gBAAgB,CAAC,IAAI,CAAC,CAAA;QACvB,CAAC;aAAM,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAChC,IAAI,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAA;QACjD,CAAC;aAAM,CAAC;YACP,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;gBAC7C,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;oBAC/B,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;gBAC7B,CAAC;YACF,CAAC,CAAC,CAAA;QACH,CAAC;IACF,CAAC,CAAC,CAAA;IAEF,OAAO,mBAAmB,CAAA;AAC3B,CAAC;AA9CD,0CA8CC"}
|
package/lib/fs/glob.d.ts
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import Parser from 'tree-sitter';
|
|
2
|
+
import type { Args, Patterns } from '../types';
|
|
3
|
+
import { Glob, Path } from 'glob';
|
|
4
|
+
export declare function getParser(file: string): string | Parser;
|
|
5
|
+
export declare const ignoreFunc: (filePath: Path, excludedPatterns: string[]) => boolean;
|
|
6
|
+
export declare function getFiles(args: Args, pattern: Patterns): Promise<Glob<{
|
|
7
|
+
ignore: {
|
|
8
|
+
ignored: (p: Path) => boolean;
|
|
9
|
+
};
|
|
10
|
+
nodir: true;
|
|
11
|
+
cwd: string;
|
|
12
|
+
root: string | undefined;
|
|
13
|
+
}>>;
|
package/lib/fs/glob.js
ADDED
|
@@ -0,0 +1,95 @@
|
|
|
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
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
38
|
+
exports.getFiles = exports.ignoreFunc = exports.getParser = void 0;
|
|
39
|
+
const path_1 = __importDefault(require("path"));
|
|
40
|
+
const glob_1 = require("glob");
|
|
41
|
+
const minimatch_1 = require("minimatch");
|
|
42
|
+
const Javascript = __importStar(require("tree-sitter-javascript"));
|
|
43
|
+
const Ts = __importStar(require("tree-sitter-typescript"));
|
|
44
|
+
const Php = __importStar(require("tree-sitter-php"));
|
|
45
|
+
const utils_1 = require("../utils");
|
|
46
|
+
function getParser(file) {
|
|
47
|
+
const ext = file.split('.').pop();
|
|
48
|
+
switch (ext) {
|
|
49
|
+
case 'ts':
|
|
50
|
+
return Ts.default.typescript;
|
|
51
|
+
case 'tsx':
|
|
52
|
+
return Ts.default.tsx;
|
|
53
|
+
case 'js':
|
|
54
|
+
case 'jsx':
|
|
55
|
+
case 'mjs':
|
|
56
|
+
case 'cjs':
|
|
57
|
+
return Javascript.default;
|
|
58
|
+
case 'php':
|
|
59
|
+
return Php.default;
|
|
60
|
+
default:
|
|
61
|
+
return ext;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
exports.getParser = getParser;
|
|
65
|
+
const ignoreFunc = (filePath, excludedPatterns) => {
|
|
66
|
+
return excludedPatterns.some((exclude) => {
|
|
67
|
+
const type = (0, utils_1.detectPatternType)(exclude);
|
|
68
|
+
switch (type) {
|
|
69
|
+
case 'file':
|
|
70
|
+
return filePath.isNamed(exclude);
|
|
71
|
+
case 'directory':
|
|
72
|
+
return filePath.relative().includes(exclude);
|
|
73
|
+
default:
|
|
74
|
+
return (0, minimatch_1.minimatch)(filePath.relative(), exclude);
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
};
|
|
78
|
+
exports.ignoreFunc = ignoreFunc;
|
|
79
|
+
function getFiles(args, pattern) {
|
|
80
|
+
var _a;
|
|
81
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
82
|
+
if (!((_a = args.options) === null || _a === void 0 ? void 0 : _a.silent))
|
|
83
|
+
console.log('Searching in :', path_1.default.resolve(args.paths.cwd), 'for ' + pattern.include.join(), '\nignoring patterns: ' + pattern.exclude.join());
|
|
84
|
+
return new glob_1.Glob(pattern.include, {
|
|
85
|
+
ignore: {
|
|
86
|
+
ignored: (p) => (0, exports.ignoreFunc)(p, pattern.exclude),
|
|
87
|
+
},
|
|
88
|
+
nodir: true,
|
|
89
|
+
cwd: args.paths.cwd,
|
|
90
|
+
root: args.paths.root ? path_1.default.resolve(args.paths.root) : undefined,
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
exports.getFiles = getFiles;
|
|
95
|
+
//# sourceMappingURL=glob.js.map
|