@wp-blocks/make-pot 1.0.2 → 1.3.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.
Files changed (128) hide show
  1. package/README.md +18 -1
  2. package/biome.json +12 -0
  3. package/lib/assets/block-i18n.js +1 -0
  4. package/lib/assets/package-i18n.js +1 -0
  5. package/lib/assets/theme-i18n.js +1 -0
  6. package/lib/assets/wp-plugin-i18n.js +1 -0
  7. package/lib/assets/wp-theme-i18n.js +1 -0
  8. package/lib/cli/getArgs.js +1 -0
  9. package/lib/cli/parseCli.js +1 -111
  10. package/lib/const.js +1 -93
  11. package/lib/extractors/css.js +1 -42
  12. package/lib/extractors/headers.js +1 -63
  13. package/lib/extractors/json.js +1 -82
  14. package/lib/extractors/php.js +2 -49
  15. package/lib/extractors/schema.js +1 -121
  16. package/lib/extractors/text.js +1 -19
  17. package/lib/extractors/utils.js +1 -54
  18. package/lib/fs/fs.js +1 -0
  19. package/lib/fs/glob.js +3 -95
  20. package/lib/index.js +1 -26
  21. package/lib/parser/exec.js +3 -71
  22. package/lib/parser/makePot.js +1 -35
  23. package/lib/parser/patterns.js +1 -34
  24. package/lib/parser/process.js +1 -70
  25. package/lib/parser/progress.js +1 -0
  26. package/lib/parser/taskRunner.js +1 -0
  27. package/lib/parser/tree.js +1 -87
  28. package/lib/run.js +1 -0
  29. package/lib/types.js +1 -3
  30. package/lib/utils/common.js +2 -0
  31. package/package.json +68 -62
  32. package/tsconfig.json +3 -19
  33. package/ .prettierignore +0 -3
  34. package/.editorconfig +0 -15
  35. package/.eslintrc.json +0 -12
  36. package/jest.config.json +0 -18
  37. package/lib/assets/block-i18n.json +0 -17
  38. package/lib/assets/package-i18n.json +0 -13
  39. package/lib/assets/theme-i18n.json +0 -86
  40. package/lib/assets/wp-plugin-i18n.json +0 -14
  41. package/lib/assets/wp-theme-i18n.json +0 -13
  42. package/lib/cli/index.d.ts +0 -1
  43. package/lib/cli/index.js +0 -114
  44. package/lib/cli/index.js.map +0 -1
  45. package/lib/cli/parseCli.d.ts +0 -3
  46. package/lib/cli/parseCli.js.map +0 -1
  47. package/lib/cliArgs.d.ts +0 -4
  48. package/lib/cliArgs.js +0 -216
  49. package/lib/cliArgs.js.map +0 -1
  50. package/lib/consolidate.d.ts +0 -2
  51. package/lib/consolidate.js +0 -37
  52. package/lib/consolidate.js.map +0 -1
  53. package/lib/const.d.ts +0 -140
  54. package/lib/const.js.map +0 -1
  55. package/lib/extractors/css.d.ts +0 -2
  56. package/lib/extractors/css.js.map +0 -1
  57. package/lib/extractors/headers.d.ts +0 -6
  58. package/lib/extractors/headers.js.map +0 -1
  59. package/lib/extractors/index.d.ts +0 -2
  60. package/lib/extractors/index.js +0 -60
  61. package/lib/extractors/index.js.map +0 -1
  62. package/lib/extractors/json.d.ts +0 -9
  63. package/lib/extractors/json.js.map +0 -1
  64. package/lib/extractors/php.d.ts +0 -3
  65. package/lib/extractors/php.js.map +0 -1
  66. package/lib/extractors/schema.d.ts +0 -13
  67. package/lib/extractors/schema.js.map +0 -1
  68. package/lib/extractors/text.d.ts +0 -1
  69. package/lib/extractors/text.js.map +0 -1
  70. package/lib/extractors/utils.d.ts +0 -5
  71. package/lib/extractors/utils.js.map +0 -1
  72. package/lib/fs/glob.d.ts +0 -13
  73. package/lib/fs/glob.js.map +0 -1
  74. package/lib/fs/index.d.ts +0 -2
  75. package/lib/fs/index.js +0 -69
  76. package/lib/fs/index.js.map +0 -1
  77. package/lib/fs.d.ts +0 -2
  78. package/lib/fs.js +0 -69
  79. package/lib/fs.js.map +0 -1
  80. package/lib/glob.d.ts +0 -13
  81. package/lib/glob.js +0 -95
  82. package/lib/glob.js.map +0 -1
  83. package/lib/index.d.ts +0 -2
  84. package/lib/index.js.map +0 -1
  85. package/lib/makePot.d.ts +0 -2
  86. package/lib/makePot.js +0 -83
  87. package/lib/makePot.js.map +0 -1
  88. package/lib/maps.d.ts +0 -122
  89. package/lib/maps.js +0 -73
  90. package/lib/maps.js.map +0 -1
  91. package/lib/parser/consolidate.d.ts +0 -2
  92. package/lib/parser/consolidate.js +0 -37
  93. package/lib/parser/consolidate.js.map +0 -1
  94. package/lib/parser/exec.d.ts +0 -3
  95. package/lib/parser/exec.js.map +0 -1
  96. package/lib/parser/index.d.ts +0 -2
  97. package/lib/parser/index.js +0 -24
  98. package/lib/parser/index.js.map +0 -1
  99. package/lib/parser/makePot.d.ts +0 -2
  100. package/lib/parser/makePot.js.map +0 -1
  101. package/lib/parser/patterns.d.ts +0 -2
  102. package/lib/parser/patterns.js.map +0 -1
  103. package/lib/parser/process.d.ts +0 -5
  104. package/lib/parser/process.js.map +0 -1
  105. package/lib/parser/tree.d.ts +0 -2
  106. package/lib/parser/tree.js.map +0 -1
  107. package/lib/parser.d.ts +0 -6
  108. package/lib/parser.js +0 -110
  109. package/lib/parser.js.map +0 -1
  110. package/lib/tree.d.ts +0 -2
  111. package/lib/tree.js +0 -78
  112. package/lib/tree.js.map +0 -1
  113. package/lib/types.d.ts +0 -50
  114. package/lib/types.js.map +0 -1
  115. package/lib/utils/index.d.ts +0 -8
  116. package/lib/utils/index.js +0 -78
  117. package/lib/utils/index.js.map +0 -1
  118. package/lib/utils.d.ts +0 -8
  119. package/lib/utils.js +0 -78
  120. package/lib/utils.js.map +0 -1
  121. package/tests/consolidate.test.ts +0 -77
  122. package/tests/extract.test.ts +0 -391
  123. package/tests/getFiles.test.ts +0 -114
  124. package/tests/getStrings.test.ts +0 -85
  125. package/tests/ignoreFunction.test.ts +0 -126
  126. package/tests/jsonParse.test.ts +0 -51
  127. package/tests/tree.test.ts +0 -152
  128. /package/{LICENSE.md → LICENSE} +0 -0
@@ -1,24 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.runExtract = void 0;
13
- const glob_1 = require("../fs/glob");
14
- const patterns_1 = require("./patterns");
15
- const process_1 = require("./process");
16
- function runExtract(args) {
17
- return __awaiter(this, void 0, void 0, function* () {
18
- const pattern = (0, patterns_1.getPatterns)(args);
19
- const files = yield (0, glob_1.getFiles)(args, pattern);
20
- return (0, process_1.getStrings)(args, files);
21
- });
22
- }
23
- exports.runExtract = runExtract;
24
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AACA,qCAAqC;AACrC,yCAAwC;AACxC,uCAAsC;AAQtC,SAAsB,UAAU,CAAC,IAAU;;QAC1C,MAAM,OAAO,GAAG,IAAA,sBAAW,EAAC,IAAI,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,IAAA,eAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3C,OAAO,IAAA,oBAAU,EAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IAC/B,CAAC;CAAA;AAJD,gCAIC"}
@@ -1,2 +0,0 @@
1
- import { type Args } from '../types';
2
- export declare function makePot(args: Args): Promise<string>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"makePot.js","sourceRoot":"","sources":["../../src/parser/makePot.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,mDAA2D;AAC3D,8BAAiC;AACjC,gDAAuB;AACvB,6CAAuD;AACvD,iCAA6B;AAQ7B,SAAsB,OAAO,CAAC,IAAU;;;QAEvC,MAAM,OAAO,GAAG,IAAA,yBAAkB,EAAC,IAAI,CAAC,CAAA;QAGxC,MAAM,QAAQ,GAAG,IAAA,6BAAmB,EAAC,IAAI,CAAC,CAAA;QAG1C,IAAI,CAAC,OAAO,GAAG,8CACX,IAAI,CAAC,OAAO,GACZ,OAAO,GACP,QAAQ,CACQ,CAAA;QAGpB,MAAM,gBAAgB,GAAG,MAAM,IAAA,WAAI,EAAC,IAAI,CAAC,CAAA;QAEzC,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAC3B,OAAO,CAAC,GAAG,EAAE,EACb,MAAA,MAAC,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAqB,mCAAI,IAAI,CAAC,KAAK,CAAC,GAAG,mCAAI,WAAW,EACrE,GAAG,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,EAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,CACtD,CAAA;QAED,OAAO,CAAC,GAAG,CAAC,uBAAuB,UAAU,EAAE,CAAC,CAAA;QAEhD,IAAA,cAAS,EAAC,gBAAgB,EAAE,UAAU,CAAC,CAAA;QAEvC,OAAO,gBAAgB,CAAA;IACxB,CAAC;CAAA;AA5BD,0BA4BC"}
@@ -1,2 +0,0 @@
1
- import type { Args, Patterns } from '../types';
2
- export declare function getPatterns(args: Args): Patterns;
@@ -1 +0,0 @@
1
- {"version":3,"file":"patterns.js","sourceRoot":"","sources":["../../src/parser/patterns.ts"],"names":[],"mappings":";;;AAOA,SAAgB,WAAW,CAAC,IAAU;;IACrC,MAAM,OAAO,GAAG;QACf,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE;QACpC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE;QACpC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;QACpC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;QAC1C,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB;KACpC,CAAA;IAIb,IACC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,GAAG,MAAK,SAAS;QACpC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,KAAK,MAAK,SAAS,EACrC,CAAC;QACF,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,KAAK,MAAK,SAAS,EAAE,CAAC;YAE5C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;QAClD,CAAC;IACF,CAAC;IAGD,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,EAAE,MAAK,SAAS,EAAE,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,MAAK,SAAS,EAAE,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,MAAK,SAAS,EAAE,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AArCD,kCAqCC"}
@@ -1,5 +0,0 @@
1
- import type { Args, TranslationStrings } from '../types';
2
- import { Glob } from 'glob';
3
- export declare function getStrings(args: Args, files: Glob<{
4
- cwd: string;
5
- }>): Promise<TranslationStrings[]>;
@@ -1 +0,0 @@
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,CAAC,IAAU,EAAE,KAA4B;;;QAIxE,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,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAA;QAEzE,IAAI,WAAW;YAAE,WAAW,CAAC,IAAI,EAAE,CAAA;QAEnC,OAAO,OAAO,CAAA;IACf,CAAC;CAAA;AAbD,gCAaC"}
@@ -1,2 +0,0 @@
1
- import { type TranslationStrings } from '../types';
2
- export declare function doTree(sourceCode: string, filepath: string): TranslationStrings;
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/parser/tree.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAqD;AAErD,oCAAwC;AAGxC,qCAAsC;AACtC,oCAAiD;AAQjD,SAAS,eAAe,CAAC,IAAgB;;IACxC,IAAI,WAAW,GAAG,IAAI,CAAA;IACtB,IAAI,KAAK,GAAG,CAAC,CAAA;IAGb,OAAO,WAAW,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACjC,IACC,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,0CAAE,IAAI,MAAK,SAAS;aAChD,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,0CAAE,IAAI,CAChC,WAAW,GACX,QAAQ,CAAC,aAAa,CAAC,CAAA,EACxB,CAAC;YACF,OAAO,IAAA,8BAAsB,EAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAC,IAAI,CAAC,CAAA;QACjE,CAAC;QACD,KAAK,EAAE,CAAA;QACP,WAAW,GAAG,WAAW,CAAC,MAAoB,CAAA;IAC/C,CAAC;AACF,CAAC;AASD,SAAgB,MAAM,CACrB,UAAkB,EAClB,QAAgB;;IAGhB,MAAM,MAAM,GAAG,IAAI,qBAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,WAAW,CAAC,IAAA,gBAAS,EAAC,QAAQ,CAAC,CAAC,CAAA;IAGvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAErC,MAAM,mBAAmB,GAAuB,EAAE,CAAA;IAClD,MAAM,WAAW,GAChB,CAAA,MAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,0CAAE,WAAW,EAAE,MAAK,KAAK;QACjD,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,0BAA0B,CAAA;IAO9B,SAAS,QAAQ,CAAC,IAAgB;;QAEjC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,MAAM;YACxB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QAGF,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,WAAW,EAAE,CAAC;YAEhC,MAAM,YAAY,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,mCAAI,IAAI,CAAA;YAClD,IACC,YAAY,KAAK,IAAI;gBACrB,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EACjD,CAAC;gBACF,OAAM;YACP,CAAC;YAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAA;YAC/B,IACC,QAAQ,KAAK,IAAI;gBACjB,QAAQ,CAAC,UAAU,KAAK,CAAC;gBACzB,QAAQ,CAAC,IAAI,KAAK,WAAW,EAC5B,CAAC;gBACF,OAAM;YACP,CAAC;YAID,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAA;YAChC,MAAM,WAAW,GAAgC,EAAE,CAAA;YAEnD,MAAM,eAAe,GACpB,qBAAa,CAAC,YAA0C,CAAC,CAAA;YAE1D,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YAC1C,IAAI,mBAAmB,GAAG,CAAC,CAAC;YAG5B,KAAK,MAAM,KAAK,IAAI,QAAQ,EAAE,CAAC;gBAC9B,IAAI,IAAI,GAAG,KAAK,CAAC;gBAGjB,IAAI,KAAK,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC/B,IAAI,KAAK,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;wBAAE,SAAS;oBAC1C,IAAI,GAAG,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC1B,CAAC;gBAGD,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ;oBAAE,SAAQ;gBAGpC,MAAM,UAAU,GAAG,eAAe,CAAC,mBAAmB,CAAC,CAAA;gBAGvD,WAAW,CAAC,UAAsC,CAAC;oBAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;gBAGxB,mBAAmB,IAAI,CAAC,CAAC;YAC1B,CAAC;YAGD,MAAM,OAAO,GAAuB;gBACnC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE;gBAClC,KAAK,EAAE,MAAA,WAAW,CAAC,KAAK,mCAAI,EAAE;gBAC9B,YAAY,EAAE,MAAA,WAAW,CAAC,YAAY,mCAAI,EAAE;gBAC5C,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBAClD,QAAQ,EAAE;oBACT,UAAU,EAAE,MAAA,eAAe,CAAC,IAAI,CAAC,mCAAI,EAAE;oBACvC,SAAS,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE;iBACpC;aACnB,CAAA;YAED,mBAAmB,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC,mCACtC,CAAC,mBAAmB,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KACrD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GACxB,CAAA;QACF,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAGvB,OAAO,mBAAmB,CAAA;AAC3B,CAAC;AA5GD,wBA4GC"}
package/lib/parser.d.ts DELETED
@@ -1,6 +0,0 @@
1
- import type { Args, TranslationStrings } from './types';
2
- import { Glob } from 'glob';
3
- export declare function getStrings(args: Args, files: Glob<{
4
- cwd: string;
5
- }>): Promise<TranslationStrings[]>;
6
- export declare function runExtract(args: Args): Promise<TranslationStrings[]>;
package/lib/parser.js DELETED
@@ -1,110 +0,0 @@
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.runExtract = exports.getStrings = void 0;
16
- const cli_progress_1 = __importDefault(require("cli-progress"));
17
- const extractors_1 = require("./extractors");
18
- const const_1 = require("./const");
19
- const glob_1 = require("./glob");
20
- function initProgress(args, filesCount) {
21
- var _a;
22
- if ((_a = args.options) === null || _a === void 0 ? void 0 : _a.silent)
23
- return undefined;
24
- const progressBar = new cli_progress_1.default.SingleBar({
25
- clearOnComplete: true,
26
- etaBuffer: 1000,
27
- hideCursor: true,
28
- format: ' {bar} {percentage}% | ETA: {eta}s | {filename} | {value}/{total}',
29
- }, cli_progress_1.default.Presets.shades_classic);
30
- progressBar.start(filesCount, 0);
31
- return progressBar;
32
- }
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
- });
42
- }
43
- continue;
44
- }
45
- const task = (0, extractors_1.parseFile)(file, args.paths.cwd).finally(() => {
46
- if (progressBar) {
47
- progressBar.increment(1, {
48
- filename: file,
49
- });
50
- }
51
- });
52
- if (task !== null) {
53
- tasks.push(task);
54
- }
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) {
66
- progressBar.stop();
67
- }
68
- });
69
- });
70
- }
71
- exports.getStrings = getStrings;
72
- function getPatterns(args) {
73
- var _a, _b, _c, _d, _e, _f;
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');
85
- }
86
- else {
87
- pattern.include.push('**/*.php', '!**/blade.php');
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
- const files = yield (0, glob_1.getFiles)(args, pattern);
105
- console.log('Found ', Object.values(files).length, 'files that match the pattern');
106
- return yield getStrings(args, files);
107
- });
108
- }
109
- exports.runExtract = runExtract;
110
- //# sourceMappingURL=parser.js.map
package/lib/parser.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,gEAA0D;AAC1D,6CAAwC;AACxC,mCAAsC;AAEtC,iCAAiC;AASjC,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;AAED,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;AAOD,SAAS,WAAW,CAAC,IAAU;;IAC9B,MAAM,OAAO,GAAG;QACf,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE;QACpC,OAAO,EAAE,IAAI,CAAC,QAAQ,CAAC,OAAO,IAAI,EAAE;QACpC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,UAAU;QACpC,aAAa,EAAE,IAAI,CAAC,QAAQ,CAAC,aAAa;QAC1C,gBAAgB,EAAE,IAAI,CAAC,QAAQ,CAAC,gBAAgB;KACpC,CAAA;IAIb,IACC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,GAAG,MAAK,SAAS;QACpC,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,KAAK,MAAK,SAAS,EACrC,CAAC;QACF,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,KAAK,MAAK,SAAS,EAAE,CAAC;YAE5C,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QACjC,CAAC;aAAM,CAAC;YACP,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,EAAE,eAAe,CAAC,CAAA;QAClD,CAAC;IACF,CAAC;IAGD,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,EAAE,MAAK,SAAS,EAAE,CAAC;QACzC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAA;IACrD,CAAC;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,MAAK,SAAS,EAAE,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,IAAI,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAC,SAAS,MAAK,SAAS,EAAE,CAAC;QAChD,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;IACnC,CAAC;IAED,OAAO,OAAO,CAAA;AACf,CAAC;AAQD,SAAsB,UAAU,CAAC,IAAU;;QAC1C,MAAM,OAAO,GAAG,WAAW,CAAC,IAAI,CAAC,CAAA;QACjC,MAAM,KAAK,GAAG,MAAM,IAAA,eAAQ,EAAC,IAAI,EAAE,OAAO,CAAC,CAAA;QAC3C,OAAO,CAAC,GAAG,CACV,QAAQ,EACR,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,EAC3B,8BAA8B,CAC9B,CAAA;QACD,OAAO,MAAM,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;IACrC,CAAC;CAAA;AATD,gCASC"}
package/lib/tree.d.ts DELETED
@@ -1,2 +0,0 @@
1
- import { type TranslationStrings } from './types';
2
- export declare function doTree(sourceCode: string, filepath: string): TranslationStrings;
package/lib/tree.js DELETED
@@ -1,78 +0,0 @@
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("./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: [],
66
- comments: {
67
- reference: `${filepath}:${node.startPosition.row + 1}`,
68
- translator: (_f = collectComments(node)) !== null && _f !== void 0 ? _f : '',
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
package/lib/tree.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"tree.js","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":";;;;;;AAAA,8DAAqD;AAErD,mCAAuC;AAGvC,iCAAkC;AAClC,mCAAgD;AAQhD,SAAS,eAAe,CAAC,IAAgB;;IACxC,IAAI,WAAW,GAAG,IAAI,CAAA;IACtB,IAAI,KAAK,GAAG,CAAC,CAAA;IAGb,OAAO,WAAW,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;QACjC,IACC,CAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,0CAAE,IAAI,MAAK,SAAS;aAChD,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,0CAAE,IAAI,CAChC,WAAW,GACX,QAAQ,CAAC,aAAa,CAAC,CAAA,EACxB,CAAC;YACF,OAAO,IAAA,8BAAsB,EAAC,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,eAAe,CAAC,IAAI,CAAC,CAAA;QACjE,CAAC;QACD,KAAK,EAAE,CAAA;QACP,WAAW,GAAG,WAAW,CAAC,MAAoB,CAAA;IAC/C,CAAC;AACF,CAAC;AASD,SAAgB,MAAM,CACrB,UAAkB,EAClB,QAAgB;;IAGhB,MAAM,MAAM,GAAG,IAAI,qBAAM,EAAE,CAAA;IAC3B,MAAM,CAAC,WAAW,CAAC,IAAA,gBAAS,EAAC,QAAQ,CAAC,CAAC,CAAA;IAGvC,MAAM,IAAI,GAAG,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,CAAA;IAErC,MAAM,mBAAmB,GAAuB,EAAE,CAAA;IAClD,MAAM,WAAW,GAChB,CAAA,MAAA,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,0CAAE,WAAW,EAAE,MAAK,KAAK;QACjD,CAAC,CAAC,iBAAiB;QACnB,CAAC,CAAC,0BAA0B,CAAA;IAO9B,SAAS,QAAQ,CAAC,IAAgB;;QAEjC,IAAI,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,QAAQ,CAAC,MAAM;YACxB,KAAK,MAAM,KAAK,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACnC,QAAQ,CAAC,KAAK,CAAC,CAAA;YAChB,CAAC;QAGF,IAAI,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,WAAW,EAAE,CAAC;YAEhC,MAAM,YAAY,GAAG,MAAA,MAAA,IAAI,CAAC,UAAU,0CAAE,IAAI,mCAAI,IAAI,CAAA;YAClD,IACC,YAAY,KAAK,IAAI;gBACrB,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAa,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC,EACjD,CAAC;gBACF,OAAM;YACP,CAAC;YAGD,MAAM,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAA;YAC/B,IACC,QAAQ,KAAK,IAAI;gBACjB,QAAQ,CAAC,UAAU,KAAK,CAAC;gBACzB,QAAQ,CAAC,IAAI,KAAK,WAAW,EAC5B,CAAC;gBACF,OAAM;YACP,CAAC;YAID,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAA;YAChC,MAAM,WAAW,GAAgC,EAAE,CAAA;YAEnD,MAAM,eAAe,GACpB,qBAAa,CAAC,YAA0C,CAAC,CAAA;YAI1D,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;gBAClD,IAAI,CAAC,KAAK,CAAC,IAAI;oBAAE,OAAM;gBAEvB,MAAM,UAAU,GAAG,eAAe,CAAC,KAAK,CAAC,CAAA;gBAEzC,WAAW,CAAC,UAAsC,CAAC;oBAClD,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAA;YACzB,CAAC,CAAC,CAAA;YAGF,MAAM,OAAO,GAAuB;gBACnC,OAAO,EAAE,MAAA,WAAW,CAAC,OAAO,mCAAI,EAAE;gBAClC,KAAK,EAAE,MAAA,WAAW,CAAC,KAAK,mCAAI,EAAE;gBAC9B,YAAY,EAAE,MAAA,WAAW,CAAC,YAAY,mCAAI,EAAE;gBAC5C,MAAM,EAAE,EAAE;gBACV,QAAQ,EAAE;oBACT,SAAS,EAAE,GAAG,QAAQ,IAAI,IAAI,CAAC,aAAa,CAAC,GAAG,GAAG,CAAC,EAAE;oBACtD,UAAU,EAAE,MAAA,eAAe,CAAC,IAAI,CAAC,mCAAI,EAAE;iBACrB;aACnB,CAAA;YAED,mBAAmB,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC,mCACtC,CAAC,mBAAmB,CAAC,MAAA,OAAO,CAAC,OAAO,mCAAI,EAAE,CAAC,IAAI,EAAE,CAAC,KACrD,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,OAAO,GACxB,CAAA;QACF,CAAC;IACF,CAAC;IAED,QAAQ,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;IAGvB,OAAO,mBAAmB,CAAA;AAC3B,CAAC;AA5FD,wBA4FC"}
package/lib/types.d.ts DELETED
@@ -1,50 +0,0 @@
1
- import { pkgJsonHeaders, pluginHeaders, themeHeaders } from './const';
2
- import { GetTextTranslation } from 'gettext-parser';
3
- export type ThemeHeadersType = keyof typeof themeHeaders;
4
- export type PluginHeadersType = keyof typeof pluginHeaders;
5
- export type PkgHeadersType = keyof typeof pkgJsonHeaders;
6
- export type PotHeaders = (typeof pkgJsonHeaders)[PkgHeadersType] | (typeof pluginHeaders)[PluginHeadersType] | (typeof themeHeaders)[ThemeHeadersType] | 'license';
7
- export type DomainType = 'plugin' | 'theme' | 'block' | 'theme-block' | 'generic';
8
- export interface Patterns {
9
- mergePaths?: string[];
10
- subtractPaths?: string[];
11
- subtractAndMerge?: boolean;
12
- include: string[];
13
- exclude: string[];
14
- }
15
- export interface Args {
16
- slug: string;
17
- domain: DomainType;
18
- paths: {
19
- cwd: string;
20
- out: string;
21
- root?: string;
22
- };
23
- options?: {
24
- ignoreDomain?: boolean;
25
- silent?: boolean;
26
- json?: boolean;
27
- location?: boolean;
28
- packageName?: string;
29
- output?: boolean;
30
- fileComment?: string;
31
- skip: {
32
- js?: boolean;
33
- php?: boolean;
34
- blade?: boolean;
35
- blockJson?: boolean;
36
- themeJson?: boolean;
37
- audit?: boolean;
38
- };
39
- };
40
- headers?: Record<PotHeaders, unknown>;
41
- patterns: Patterns;
42
- }
43
- export interface I18nSchema {
44
- [key: string]: string | string[] | I18nSchema | I18nSchema[];
45
- }
46
- export interface TranslationStrings {
47
- [msgctxt: string]: {
48
- [msgId: string]: GetTextTranslation;
49
- };
50
- }
package/lib/types.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
@@ -1,8 +0,0 @@
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[];
@@ -1,78 +0,0 @@
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);
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
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
package/lib/utils.d.ts DELETED
@@ -1,8 +0,0 @@
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[];
package/lib/utils.js DELETED
@@ -1,78 +0,0 @@
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=utils.js.map
package/lib/utils.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"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"}
@@ -1,77 +0,0 @@
1
- import { describe, expect } from '@jest/globals'
2
- import { consolidate } from '../src/parser/consolidate'
3
- import { GetTextComment } from 'gettext-parser'
4
-
5
- describe('consolidate', () => {
6
- it('should consolidate strings with translator comments', () => {
7
- const translationStrings = {
8
- '': {
9
- '': {
10
- msgid: '',
11
- msgstr: [
12
- 'Content-Type: text/plain; charset=iso-8859-1\n...',
13
- ],
14
- },
15
- },
16
- '': {
17
- a: {
18
- msgid: '',
19
- msgstr: ['a'],
20
- },
21
- },
22
- 'another context': {
23
- '%s example': {
24
- msgctxt: 'another context',
25
- msgid: '%s example',
26
- msgid_plural: '%s examples',
27
- msgstr: ['% näide', '%s näidet'],
28
- comments: {
29
- translator: 'This is a regular comment',
30
- reference: '/path/to/file:123',
31
- } as GetTextComment,
32
- },
33
- },
34
- }
35
- const translationStrings2 = {
36
- '': {
37
- '': {
38
- msgid: '',
39
- msgstr: [
40
- 'Content-Type: text/plain; charset=iso-8859-1\n...',
41
- ],
42
- },
43
- },
44
- }
45
- // eslint-disable-next-line
46
- const expected = {
47
- '': {
48
- '': {
49
- msgid: '',
50
- msgstr: [
51
- 'Content-Type: text/plain; charset=iso-8859-1\n...',
52
- ],
53
- },
54
- a: {
55
- msgid: 'a',
56
- msgstr: ['a'],
57
- },
58
- },
59
- 'another context': {
60
- '%s example': {
61
- comments: {
62
- reference: '/path/to/file:123',
63
- translator: 'This is a regular comment',
64
- },
65
- msgctxt: 'another context',
66
- msgid: '%s example',
67
- msgid_plural: '%s examples',
68
- msgstr: ['% näide', '%s näidet'],
69
- },
70
- },
71
- }
72
-
73
- const result = consolidate([translationStrings, translationStrings2])
74
-
75
- expect(result).toMatchObject(expected)
76
- })
77
- })