@wp-blocks/make-pot 0.0.8 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (75) hide show
  1. package/CODE_OF_CONDUCT.md +45 -0
  2. package/CONTRIBUTING.md +92 -0
  3. package/README.md +34 -2
  4. package/lib/assets/block-i18n.json +17 -0
  5. package/lib/assets/theme-i18n.json +86 -0
  6. package/lib/cliArgs.js +7 -6
  7. package/lib/cliArgs.js.map +1 -1
  8. package/lib/const.js +2 -2
  9. package/lib/const.js.map +1 -1
  10. package/lib/extractors/css.d.ts +2 -0
  11. package/lib/extractors/css.js +31 -0
  12. package/lib/extractors/css.js.map +1 -0
  13. package/lib/extractors/headers.d.ts +8 -0
  14. package/lib/extractors/headers.js +57 -0
  15. package/lib/extractors/headers.js.map +1 -0
  16. package/lib/extractors/index.d.ts +3 -0
  17. package/lib/{extractors.js → extractors/index.js} +30 -72
  18. package/lib/extractors/index.js.map +1 -0
  19. package/lib/extractors/json.d.ts +7 -0
  20. package/lib/extractors/json.js +38 -0
  21. package/lib/extractors/json.js.map +1 -0
  22. package/lib/extractors/php.d.ts +3 -0
  23. package/lib/extractors/php.js +56 -0
  24. package/lib/extractors/php.js.map +1 -0
  25. package/lib/extractors/schema.d.ts +13 -0
  26. package/lib/extractors/schema.js +117 -0
  27. package/lib/extractors/schema.js.map +1 -0
  28. package/lib/extractors/text.d.ts +1 -0
  29. package/lib/{extractors-text.js → extractors/text.js} +6 -5
  30. package/lib/extractors/text.js.map +1 -0
  31. package/lib/extractors/utils.d.ts +5 -0
  32. package/lib/extractors/utils.js +45 -0
  33. package/lib/extractors/utils.js.map +1 -0
  34. package/lib/fs.js.map +1 -1
  35. package/lib/index.js +2 -0
  36. package/lib/index.js.map +1 -1
  37. package/lib/makePot.js +31 -27
  38. package/lib/makePot.js.map +1 -1
  39. package/lib/maps.d.ts +124 -0
  40. package/lib/maps.js +64 -0
  41. package/lib/maps.js.map +1 -0
  42. package/lib/parser.js +1 -1
  43. package/lib/parser.js.map +1 -1
  44. package/lib/tree.js +6 -6
  45. package/lib/tree.js.map +1 -1
  46. package/lib/types.d.ts +7 -5
  47. package/lib/utils.d.ts +2 -2
  48. package/lib/utils.js +15 -12
  49. package/lib/utils.js.map +1 -1
  50. package/package.json +19 -10
  51. package/tests/extract-2.test.ts +10 -3
  52. package/tests/{jsonParse.test.ts → jsonParse.ts} +9 -8
  53. package/lib/extractors-json.d.ts +0 -9
  54. package/lib/extractors-json.js +0 -53
  55. package/lib/extractors-json.js.map +0 -1
  56. package/lib/extractors-maps.d.ts +0 -109
  57. package/lib/extractors-maps.js +0 -139
  58. package/lib/extractors-maps.js.map +0 -1
  59. package/lib/extractors-php.d.ts +0 -1
  60. package/lib/extractors-php.js +0 -25
  61. package/lib/extractors-php.js.map +0 -1
  62. package/lib/extractors-text.d.ts +0 -1
  63. package/lib/extractors-text.js.map +0 -1
  64. package/lib/extractors.d.ts +0 -17
  65. package/lib/extractors.js.map +0 -1
  66. package/tests/index.html +0 -78
  67. /package/tests/{extract.test.ts → extract.old.ts} +0 -0
  68. /package/tests/{getFiles.test.ts → getFiles.old.ts} +0 -0
  69. /package/tests/{getStrings.test.ts → getStrings.old.ts} +0 -0
  70. /package/tests/{ingnoreFunction.test.ts → ingnoreFunction.old.ts} +0 -0
  71. /package/tests/{makePot.ts → makePot.old.ts} +0 -0
  72. /package/tests/{treeJs.test.ts → treeJs.old.ts} +0 -0
  73. /package/tests/{treePhp.test.ts → treePhp.old.ts} +0 -0
  74. /package/tests/{treeTs.test.ts → treeTs.old.ts} +0 -0
  75. /package/tests/{utils.test.ts → utils.old.ts} +0 -0
@@ -0,0 +1,38 @@
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.getJsonComment = exports.parseJsonFile = void 0;
13
+ const maps_1 = require("../maps");
14
+ const schema_1 = require("./schema");
15
+ function parseJsonFile(opts) {
16
+ return __awaiter(this, void 0, void 0, function* () {
17
+ const jsonTranslations = yield schema_1.JsonSchemaExtractor.fromString(opts.sourceCode, {
18
+ file: opts.filename,
19
+ schema: opts.filename === 'theme.json'
20
+ ? schema_1.JsonSchemaExtractor.themeJsonSource
21
+ : schema_1.JsonSchemaExtractor.blockJsonSource,
22
+ schemaFallback: opts.filename === 'theme.json'
23
+ ? schema_1.JsonSchemaExtractor.themeJsonFallback
24
+ : schema_1.JsonSchemaExtractor.blockJsonFallback,
25
+ addReferences: true,
26
+ });
27
+ return jsonTranslations !== null && jsonTranslations !== void 0 ? jsonTranslations : {};
28
+ });
29
+ }
30
+ exports.parseJsonFile = parseJsonFile;
31
+ function getJsonComment(key, type) {
32
+ const comments = type === 'block.json' ? maps_1.blockJson : maps_1.themeJson;
33
+ return key in Object.values(comments)
34
+ ? comments[key]
35
+ : key;
36
+ }
37
+ exports.getJsonComment = getJsonComment;
38
+ //# sourceMappingURL=json.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/extractors/json.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,kCAA8C;AAC9C,qCAA8C;AAW9C,SAAsB,aAAa,CAAC,IAInC;;QACA,MAAM,gBAAgB,GAAG,MAAM,4BAAmB,CAAC,UAAU,CAC5D,IAAI,CAAC,UAAU,EACf;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;AASD,SAAgB,cAAc,CAC7B,GAAW,EACX,IAAiD;IAEjD,MAAM,QAAQ,GAAG,IAAI,KAAK,YAAY,CAAC,CAAC,CAAC,gBAAS,CAAC,CAAC,CAAC,gBAAS,CAAA;IAC9D,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,QAAQ,CAAC,GAA4B,CAAC;QACxC,CAAC,CAAC,GAAG,CAAA;AACP,CAAC;AARD,wCAQC"}
@@ -0,0 +1,3 @@
1
+ import type { Args } from '../types';
2
+ export declare function extractPhpPluginData(args: Args): Record<string, string>;
3
+ export declare function parsePHPFile(phpContent: string): Record<string, string>;
@@ -0,0 +1,56 @@
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.parsePHPFile = exports.extractPhpPluginData = void 0;
7
+ const maps_1 = require("../maps");
8
+ const utils_1 = require("./utils");
9
+ const path_1 = __importDefault(require("path"));
10
+ const fs_1 = __importDefault(require("fs"));
11
+ function extractPhpPluginData(args) {
12
+ let fileData = {};
13
+ const folderPhpFile = path_1.default.join(args.paths.cwd, `${args.slug}.php`);
14
+ if (fs_1.default.existsSync(folderPhpFile)) {
15
+ const fileContent = fs_1.default.readFileSync(folderPhpFile, 'utf8');
16
+ fileData = parsePHPFile(fileContent);
17
+ if ('name' in fileData) {
18
+ console.log('Plugin file detected.');
19
+ console.log(`Plugin file: ${folderPhpFile}`);
20
+ args.domain = 'plugin';
21
+ return fileData;
22
+ }
23
+ else {
24
+ console.log('Plugin file detected, but no plugin information found.');
25
+ }
26
+ }
27
+ else {
28
+ console.log('Plugin file not found.');
29
+ console.log(`Missing Plugin filename: ${folderPhpFile}`);
30
+ }
31
+ return {};
32
+ }
33
+ exports.extractPhpPluginData = extractPhpPluginData;
34
+ function parsePHPFile(phpContent) {
35
+ var _a;
36
+ const match = phpContent.match(/\/\*\*([\s\S]*?)\*\//);
37
+ if (match && match[1]) {
38
+ const commentBlock = match[1];
39
+ const lines = commentBlock.split('\n');
40
+ const pluginInfo = {};
41
+ for (const line of lines) {
42
+ const keyValueMatch = line.match(/^\s*\*\s*([^:]+):\s*(.*)/);
43
+ if (keyValueMatch && keyValueMatch[1] && keyValueMatch[2]) {
44
+ let header = keyValueMatch[1].trim();
45
+ header =
46
+ (_a = maps_1.pluginHeaders[header]) !== null && _a !== void 0 ? _a : header;
47
+ header = (0, utils_1.getKeyByValue)(maps_1.pluginHeaders, header);
48
+ pluginInfo[header] = keyValueMatch[2].trim();
49
+ }
50
+ }
51
+ return pluginInfo;
52
+ }
53
+ return {};
54
+ }
55
+ exports.parsePHPFile = parsePHPFile;
56
+ //# sourceMappingURL=php.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"php.js","sourceRoot":"","sources":["../../src/extractors/php.ts"],"names":[],"mappings":";;;;;;AAAA,kCAAuC;AACvC,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;QAEpC,IAAI,MAAM,IAAI,QAAQ,EAAE,CAAC;YACxB,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;YACpC,OAAO,CAAC,GAAG,CAAC,gBAAgB,aAAa,EAAE,CAAC,CAAA;YAC5C,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAA;YAEtB,OAAO,QAAQ,CAAA;QAChB,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,GAAG,CACV,wDAAwD,CACxD,CAAA;QACF,CAAC;IACF,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;AAzBD,oDAyBC;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;gBAC3D,IAAI,MAAM,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAA;gBAEpC,MAAM;oBACL,MAAA,oBAAa,CAAC,MAAoC,CAAC,mCACnD,MAAM,CAAA;gBACP,MAAM,GAAG,IAAA,qBAAa,EAAC,oBAAa,EAAE,MAAM,CAAC,CAAA;gBAC7C,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"}
@@ -0,0 +1,13 @@
1
+ import { I18nSchema } from '../types';
2
+ export declare class JsonSchemaExtractor {
3
+ private static schemaCache;
4
+ static themeJsonSource: string;
5
+ static themeJsonFallback: string;
6
+ static blockJsonSource: string;
7
+ static blockJsonFallback: string;
8
+ private static loadSchema;
9
+ static fromString(text: string, options: {
10
+ [key: string]: unknown;
11
+ }): Promise<I18nSchema | undefined>;
12
+ private static extractStringsUsingI18nSchema;
13
+ }
@@ -0,0 +1,117 @@
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.JsonSchemaExtractor = void 0;
39
+ const axios_1 = __importDefault(require("axios"));
40
+ class JsonSchemaExtractor {
41
+ static loadSchema(url, fallback) {
42
+ return __awaiter(this, void 0, void 0, function* () {
43
+ if (this.schemaCache[url]) {
44
+ return this.schemaCache[url];
45
+ }
46
+ try {
47
+ const response = yield axios_1.default.get(url);
48
+ this.schemaCache[url] = response.data;
49
+ return response.data;
50
+ }
51
+ catch (error) {
52
+ console.error(`Failed to load schema from ${url}. Using fallback.`);
53
+ try {
54
+ const fallbackData = yield Promise.resolve(`${fallback}`).then(s => __importStar(require(s)));
55
+ this.schemaCache[url] = fallbackData.default;
56
+ return fallbackData.default;
57
+ }
58
+ catch (fallbackError) {
59
+ console.error(`Failed to load fallback schema from ${fallback}.`);
60
+ return null;
61
+ }
62
+ }
63
+ });
64
+ }
65
+ static fromString(text, options) {
66
+ return __awaiter(this, void 0, void 0, function* () {
67
+ const schema = yield this.loadSchema(options.schema, options.schemaFallback);
68
+ if (!schema) {
69
+ console.error('Failed to load schema.');
70
+ return;
71
+ }
72
+ const json = JSON.parse(text);
73
+ if (json === null) {
74
+ console.error(`Could not parse JSON.`);
75
+ return;
76
+ }
77
+ return this.extractStringsUsingI18nSchema(schema, json);
78
+ });
79
+ }
80
+ static extractStringsUsingI18nSchema(i18nSchema, settings) {
81
+ if (!i18nSchema || !settings) {
82
+ return {};
83
+ }
84
+ if (Array.isArray(i18nSchema) && typeof settings === 'object') {
85
+ const result = {};
86
+ for (const value in settings) {
87
+ const extracted = this.extractStringsUsingI18nSchema(i18nSchema[value], value);
88
+ Object.assign(result, extracted);
89
+ }
90
+ return result;
91
+ }
92
+ if (typeof i18nSchema === 'object' && typeof settings === 'object') {
93
+ const groupKey = '*';
94
+ const result = {};
95
+ for (const [key, value] of Object.entries(settings)) {
96
+ if (i18nSchema[key]) {
97
+ result[key] = i18nSchema[key];
98
+ }
99
+ else if (Object.prototype.hasOwnProperty.call(i18nSchema, groupKey)) {
100
+ const extracted = this.extractStringsUsingI18nSchema(i18nSchema[groupKey], value);
101
+ if (extracted) {
102
+ Object.assign(result, extracted);
103
+ }
104
+ }
105
+ }
106
+ return result;
107
+ }
108
+ return {};
109
+ }
110
+ }
111
+ exports.JsonSchemaExtractor = JsonSchemaExtractor;
112
+ JsonSchemaExtractor.schemaCache = {};
113
+ JsonSchemaExtractor.themeJsonSource = 'http://develop.svn.wordpress.org/trunk/src/wp-includes/theme-i18n.json';
114
+ JsonSchemaExtractor.themeJsonFallback = '../assets/theme-i18n.json';
115
+ JsonSchemaExtractor.blockJsonSource = 'http://develop.svn.wordpress.org/trunk/src/wp-includes/block-i18n.json';
116
+ JsonSchemaExtractor.blockJsonFallback = '../assets/block-i18n.json';
117
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/extractors/schema.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export declare function extractFileData(fileContent: string, separator?: string): Record<string, string>;
@@ -1,17 +1,18 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.extractFileData = void 0;
4
- const utils_1 = require("./utils");
5
- function extractFileData(fileContent) {
4
+ const utils_1 = require("../utils");
5
+ function extractFileData(fileContent, separator = ':') {
6
6
  const data = {};
7
7
  fileContent
8
+ .trimStart()
8
9
  .split('\n')
9
10
  .map((line) => line.trim())
10
11
  .map((line) => (0, utils_1.removeCommentMarkup)(line))
11
12
  .forEach((line) => {
12
13
  var _a, _b;
13
- const parts = line.split(':');
14
- if (parts[1] === undefined) {
14
+ const parts = line.split(separator);
15
+ if (parts.length !== 2 && Object.values(data).length > 0) {
15
16
  return;
16
17
  }
17
18
  data[(_a = parts[0]) === null || _a === void 0 ? void 0 : _a.trim()] = (_b = parts[1]) === null || _b === void 0 ? void 0 : _b.trim();
@@ -19,4 +20,4 @@ function extractFileData(fileContent) {
19
20
  return data;
20
21
  }
21
22
  exports.extractFileData = extractFileData;
22
- //# sourceMappingURL=extractors-text.js.map
23
+ //# sourceMappingURL=text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/extractors/text.ts"],"names":[],"mappings":";;;AAAA,oCAA8C;AAS9C,SAAgB,eAAe,CAC9B,WAAmB,EACnB,SAAS,GAAG,GAAG;IAEf,MAAM,IAAI,GAA2B,EAAE,CAAA;IAGvC,WAAW;SACT,SAAS,EAAE;SACX,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAA,2BAAmB,EAAC,IAAI,CAAC,CAAC;SAExC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;;QACjB,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;AAzBD,0CAyBC"}
@@ -0,0 +1,5 @@
1
+ import type { Args } from '../types';
2
+ import { GetTextTranslation } from 'gettext-parser';
3
+ export declare function getKeyByValue(object: Record<string, unknown>, value: string): string;
4
+ export declare function extractPackageJson(args: Args): Record<string, string>;
5
+ export declare const gentranslation: (label: string, string: string, filePath?: string | undefined) => GetTextTranslation;
@@ -0,0 +1,45 @@
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.gentranslation = exports.extractPackageJson = exports.getKeyByValue = void 0;
7
+ const path_1 = __importDefault(require("path"));
8
+ const fs_1 = __importDefault(require("fs"));
9
+ const maps_1 = require("../maps");
10
+ function getKeyByValue(object, value) {
11
+ var _a;
12
+ return (_a = Object.keys(object).find((key) => object[key] === value)) !== null && _a !== void 0 ? _a : value;
13
+ }
14
+ 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
+ const gentranslation = (label, string, filePath) => {
33
+ return {
34
+ msgctxt: undefined,
35
+ msgid: string,
36
+ msgid_plural: '',
37
+ msgstr: [],
38
+ comments: {
39
+ extracted: label,
40
+ reference: filePath,
41
+ },
42
+ };
43
+ };
44
+ exports.gentranslation = gentranslation;
45
+ //# sourceMappingURL=utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/extractors/utils.ts"],"names":[],"mappings":";;;;;;AACA,gDAAuB;AACvB,4CAAmB;AAEnB,kCAAuC;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,KAAK,CAAA;AACzE,CAAC;AALD,sCAKC;AAUD,SAAgB,kBAAkB,CAAC,IAAU;IAC5C,MAAM,MAAM,GAAG,oBAAa,CAAA;IAC5B,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;QAExE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,IAAI,WAAW,CAAC,KAAK,CAAC,KAAK,SAAS,EAAE,CAAC;gBACtC,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAC,CAAA;YACxC,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAA;AACnB,CAAC;AArBD,gDAqBC;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"}
package/lib/fs.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAA4B;AAC5B,uCAAwB;AAQxB,SAAS,kBAAkB,CAAC,UAA8B;IACzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAA;IACX,CAAC;IACD,IAAI,CAAC;QAEJ,EAAE,CAAC,UAAU,CACZ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACxB,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CACrC,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAExD,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAA;YAC5C,OAAO,UAAU,CAAA;QAClB,CAAC;IACF,CAAC;IACD,OAAO,UAAU,CAAA;AAClB,CAAC;AAMD,SAAsB,SAAS,CAAC,WAAmB,EAAE,IAAY;;QAChE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QACpC,CAAC;IACF,CAAC;CAAA;AAJD,8BAIC"}
1
+ {"version":3,"file":"fs.js","sourceRoot":"","sources":["../src/fs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAC5B,uCAAwB;AAQxB,SAAS,kBAAkB,CAAC,UAA8B;IACzD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC9B,OAAO,GAAG,CAAA;IACX,CAAC;IACD,IAAI,CAAC;QAEJ,EAAE,CAAC,UAAU,CACZ,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EACxB,EAAE,CAAC,SAAS,CAAC,IAAI,GAAG,EAAE,CAAC,SAAS,CAAC,IAAI,CACrC,CAAA;IACF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QAChB,IAAK,KAA+B,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAExD,EAAE,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;YAC7C,OAAO,CAAC,GAAG,CAAC,mBAAmB,UAAU,EAAE,CAAC,CAAA;YAC5C,OAAO,UAAU,CAAA;QAClB,CAAC;IACF,CAAC;IACD,OAAO,UAAU,CAAA;AAClB,CAAC;AAQD,SAAsB,SAAS,CAAC,WAAmB,EAAE,IAAY;;QAChE,IAAI,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC;YAC5C,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,WAAW,CAAC,CAAA;QACpC,CAAC;IACF,CAAC;CAAA;AAJD,8BAIC"}
package/lib/index.js CHANGED
@@ -7,8 +7,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  const makePot_1 = require("./makePot");
8
8
  const cliArgs_1 = require("./cliArgs");
9
9
  const yargs_1 = __importDefault(require("yargs"));
10
+ const maps_1 = require("./maps");
10
11
  const args = (0, cliArgs_1.getArgs)();
11
12
  if (Object.keys(args).length > 0) {
13
+ console.log(maps_1.pkgJson.name + ' version: ' + maps_1.pkgJson.version);
12
14
  const timeStart = new Date();
13
15
  (0, makePot_1.makePot)(args)
14
16
  .then(() => {
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,uCAAmC;AAEnC,uCAAmC;AAEnC,kDAAyB;AAGzB,MAAM,IAAI,GAAG,IAAA,iBAAO,GAAE,CAAA;AACtB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IAClC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IAC5B,IAAA,iBAAO,EAAC,IAAI,CAAC;SACX,IAAI,CAAC,GAAG,EAAE;QACV,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAA;QAC1B,OAAO,CAAC,GAAG,CACV,sCAAsC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CACjF,CAAA;IACF,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC,CAAC,CAAA;AACJ,CAAC;KAAM,CAAC;IACP,eAAK,CAAC,QAAQ,EAAE,CAAA;AACjB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;AACA,uCAAmC;AAEnC,uCAAmC;AAEnC,kDAAyB;AACzB,iCAAgC;AAGhC,MAAM,IAAI,GAAG,IAAA,iBAAO,GAAE,CAAA;AAEtB,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;IAElC,OAAO,CAAC,GAAG,CAAC,cAAO,CAAC,IAAI,GAAG,YAAY,GAAG,cAAO,CAAC,OAAO,CAAC,CAAA;IAE1D,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAA;IAE5B,IAAA,iBAAO,EAAC,IAAI,CAAC;SACX,IAAI,CAAC,GAAG,EAAE;QAEV,MAAM,OAAO,GAAG,IAAI,IAAI,EAAE,CAAA;QAC1B,OAAO,CAAC,GAAG,CACV,sCAAsC,OAAO,CAAC,OAAO,EAAE,GAAG,SAAS,CAAC,OAAO,EAAE,IAAI,CACjF,CAAA;IACF,CAAC,CAAC;SACD,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE;QAChB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACrB,CAAC,CAAC,CAAA;AACJ,CAAC;KAAM,CAAC;IAEP,eAAK,CAAC,QAAQ,EAAE,CAAA;AACjB,CAAC"}
package/lib/makePot.js CHANGED
@@ -13,59 +13,63 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
13
13
  };
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
15
  exports.makePot = void 0;
16
- const extractors_1 = require("./extractors");
16
+ const headers_1 = require("./extractors/headers");
17
17
  const fs_1 = require("./fs");
18
18
  const parser_1 = require("./parser");
19
19
  const node_os_1 = require("node:os");
20
20
  const gettext_parser_1 = __importDefault(require("gettext-parser"));
21
- const utils_1 = require("./utils");
22
21
  const path_1 = __importDefault(require("path"));
22
+ const utils_1 = require("./extractors/utils");
23
+ const utils_2 = require("./utils");
23
24
  function exec(args) {
24
- var _a, _b, _c, _d, _e, _f;
25
+ var _a, _b, _c, _d, _e;
25
26
  return __awaiter(this, void 0, void 0, function* () {
26
27
  if (!((_a = args.options) === null || _a === void 0 ? void 0 : _a.silent)) {
27
- console.log('📝 Making a pot file...');
28
- console.log('🔍 Extracting strings...', args === null || args === void 0 ? void 0 : args.slug, args);
28
+ console.log('📝 Starting makePot for ', args === null || args === void 0 ? void 0 : args.slug);
29
+ console.log('🔍 Extracting strings from', args.paths);
30
+ console.log('💢 With args', args.options);
29
31
  }
30
32
  const stringsJson = yield (0, parser_1.runExtract)(args);
31
33
  if (!((_b = args.options) === null || _b === void 0 ? void 0 : _b.silent)) {
32
- console.log('Memory usage:', (process.memoryUsage().heapUsed / 1024 / 1024).toFixed(2), 'MB (Total:', ((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');
34
+ console.log(' Done!');
35
+ 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');
33
36
  }
34
37
  if ((_c = args.options) === null || _c === void 0 ? void 0 : _c.skip.audit) {
35
38
  console.log('Audit strings...');
36
39
  console.log('✅ Done');
37
40
  }
41
+ const potHeader = (0, headers_1.generateHeader)(args);
42
+ const copyrightComment = `# Copyright (C) ${new Date().getFullYear()} ${args.slug}\n` +
43
+ `# This file is distributed under the ${(_e = (_d = args.headers) === null || _d === void 0 ? void 0 : _d.license) !== null && _e !== void 0 ? _e : 'GPL v2 or later'} license.`;
44
+ const potDefinitions = (0, headers_1.translationsHeaders)(args);
45
+ const translationsUnion = (0, utils_2.advancedObjectMerge)({ '': potDefinitions }, stringsJson);
38
46
  const getTextTranslations = {
39
47
  charset: 'iso-8859-1',
40
- headers: {
41
- '': (_e = (_d = args.headers) === null || _d === void 0 ? void 0 : _d.fileComment) !== null && _e !== void 0 ? _e : (0, utils_1.generateHeaderComments)(args),
42
- },
43
- translations: stringsJson,
48
+ headers: potHeader,
49
+ translations: translationsUnion,
44
50
  };
45
- if (args.headers && Object.values(args.headers).length)
46
- Object.entries(args.headers).map((header) => (getTextTranslations.headers[header[0]] =
47
- typeof header[1] === 'string'
48
- ? header[1]
49
- : JSON.stringify(header[1])));
50
- if ((_f = args.options) === null || _f === void 0 ? void 0 : _f.json) {
51
- return JSON.stringify(getTextTranslations);
52
- }
53
- return gettext_parser_1.default.po
54
- .compile(getTextTranslations, {
55
- sort: true,
56
- })
51
+ const pluginTranslations = gettext_parser_1.default.po
52
+ .compile(getTextTranslations)
57
53
  .toString('utf-8');
54
+ return copyrightComment + '\n' + pluginTranslations;
58
55
  });
59
56
  }
60
57
  function makePot(args) {
61
58
  var _a;
62
59
  return __awaiter(this, void 0, void 0, function* () {
63
- const metadata = (0, extractors_1.extractMainFileData)(args);
64
- const pkgData = (0, extractors_1.extractPackageJson)(args);
65
- const headers = Object.assign(Object.assign(Object.assign({}, pkgData), metadata), args.headers);
66
- args = Object.assign(Object.assign({}, args), { headers });
60
+ const pkgData = (0, utils_1.extractPackageJson)(args);
61
+ const metadata = (0, headers_1.extractMainFileData)(args);
62
+ args.headers = Object.assign(Object.assign(Object.assign({}, args.headers), pkgData), {
63
+ name: metadata.name,
64
+ description: metadata.description,
65
+ author: metadata.author,
66
+ });
67
67
  const jsonTranslations = yield exec(args);
68
- return yield (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'}`));
68
+ (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'}`))
69
+ .catch((err) => {
70
+ console.log(err);
71
+ })
72
+ .finally(() => jsonTranslations);
69
73
  });
70
74
  }
71
75
  exports.makePot = makePot;
@@ -1 +1 @@
1
- {"version":3,"file":"makePot.js","sourceRoot":"","sources":["../src/makePot.ts"],"names":[],"mappings":"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"}
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,124 @@
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 type 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 wpMinimumVersion: "Requires at least";
105
+ readonly phpMinimumVersion: "Requires PHP";
106
+ readonly author: "Author";
107
+ readonly authorUrl: "Author URI";
108
+ readonly license: "License";
109
+ readonly licenseUri: "License URI";
110
+ readonly updateUri: "Update URI";
111
+ readonly domainPath: "Domain Path";
112
+ readonly textDomain: "Text Domain";
113
+ };
114
+ export declare const themeHeaders: {
115
+ readonly name: "Theme Name";
116
+ readonly url: "Theme URI";
117
+ readonly description: "Description";
118
+ readonly author: "Author";
119
+ readonly authorUrl: "Author URI";
120
+ readonly version: "Version";
121
+ readonly license: "License";
122
+ readonly domainPath: "Domain Path";
123
+ readonly textDomain: "Text Domain";
124
+ };