@wp-blocks/make-pot 1.5.1 → 1.6.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 (65) hide show
  1. package/README.md +2 -1
  2. package/lib/assets/block-i18n.js.map +1 -7
  3. package/lib/assets/package-i18n.js.map +1 -7
  4. package/lib/assets/theme-i18n.js.map +1 -7
  5. package/lib/assets/wp-plugin-i18n.js.map +1 -7
  6. package/lib/assets/wp-theme-i18n.js.map +1 -7
  7. package/lib/cli/getArgs.js +1 -1
  8. package/lib/cli/getArgs.js.map +1 -7
  9. package/lib/cli/getJsonArgs.js +1 -1
  10. package/lib/cli/getJsonArgs.js.map +1 -7
  11. package/lib/cli/parseCli.js +1 -1
  12. package/lib/cli/parseCli.js.map +1 -7
  13. package/lib/cli.js.map +1 -7
  14. package/lib/const.js +1 -1
  15. package/lib/const.js.map +1 -7
  16. package/lib/extractors/auditStrings.js +5 -0
  17. package/lib/extractors/auditStrings.js.map +1 -0
  18. package/lib/extractors/css.js +1 -1
  19. package/lib/extractors/css.js.map +1 -7
  20. package/lib/extractors/headers.js +12 -4
  21. package/lib/extractors/headers.js.map +1 -7
  22. package/lib/extractors/json.js.map +1 -7
  23. package/lib/extractors/packageJson.js.map +1 -7
  24. package/lib/extractors/php.js.map +1 -7
  25. package/lib/extractors/schema.js.map +1 -7
  26. package/lib/extractors/text.js.map +1 -7
  27. package/lib/fs/fs.js +2 -2
  28. package/lib/fs/fs.js.map +1 -7
  29. package/lib/fs/glob.js +1 -1
  30. package/lib/fs/glob.js.map +1 -7
  31. package/lib/index.js +1 -1
  32. package/lib/index.js.map +1 -7
  33. package/lib/jsonCommand.js +1 -1
  34. package/lib/jsonCommand.js.map +1 -7
  35. package/lib/makeJson.js.map +1 -7
  36. package/lib/makePot.js.map +1 -7
  37. package/lib/parser/exec.js +3 -7
  38. package/lib/parser/exec.js.map +1 -7
  39. package/lib/parser/makeJson.js +1 -1
  40. package/lib/parser/makeJson.js.map +1 -7
  41. package/lib/parser/makePot.js +1 -1
  42. package/lib/parser/makePot.js.map +1 -7
  43. package/lib/parser/patterns.js +1 -1
  44. package/lib/parser/patterns.js.map +1 -7
  45. package/lib/parser/process.js +1 -1
  46. package/lib/parser/process.js.map +1 -7
  47. package/lib/parser/progress.js.map +1 -7
  48. package/lib/parser/taskRunner.js.map +1 -7
  49. package/lib/parser/tree.js +1 -1
  50. package/lib/parser/tree.js.map +1 -7
  51. package/lib/potCommand.js +1 -1
  52. package/lib/potCommand.js.map +1 -7
  53. package/lib/types.js +1 -1
  54. package/lib/types.js.map +1 -7
  55. package/lib/utils/common.js +8 -4
  56. package/lib/utils/common.js.map +1 -7
  57. package/lib/utils/extractors.js.map +1 -7
  58. package/lib/utils/output.js +1 -0
  59. package/lib/utils/output.js.map +1 -0
  60. package/package.json +9 -7
  61. package/tests/audit.test.js +50 -0
  62. package/tests/compare-json.test.js +81 -0
  63. package/tests/extract.test.js +38 -0
  64. package/tests/parse-headers.test.js +7 -6
  65. package/tests/tree.test.js +21 -0
package/README.md CHANGED
@@ -65,7 +65,7 @@ npx @wp-blocks/make-pot src languages --charset='utf-8' --include="src/**/*.{ts,
65
65
  - `--skip-block-json`: Skips block.json files during processing.
66
66
  - `--skip-theme-json`: Skips theme.json files during processing.
67
67
  - `--skip-audit`: Skips auditing of strings.
68
- - `--headers <headers>`: Specifies additional headers for the `.pot` file.
68
+ - `--headers <headers>`: Specifies additional headers for the `.pot` file. Accepts an array of strings (--headers=email:erik@ck.it,domain:my-block) or multiple values (--headers=email:erik@ck.it --headers=domain:my-block)
69
69
  - `--file-comment <comment>`: Specifies the file comment for the `.pot` file.
70
70
  - `--package-name <name>`: Specifies the package name.
71
71
  - `--location`: Includes location information in the `.pot` file.
@@ -158,6 +158,7 @@ Unlike traditional PO/MO files, JavaScript translations use JSON. This format is
158
158
  - `--allowedFormats`: The allowed formats of the translation file (e.g. `js` or `tsx`).
159
159
  - `--purge`: if enabled, removes the existing translation file. Otherwise, the old translation file will be merged with the new.
160
160
  - `--prettyPrint`: Pretty prints the translation file.
161
+ - `--stripUnused`: strips unused translations from the translation file (default: true).
161
162
  - `--debug`: Enables debug mode.
162
163
 
163
164
  ## How to Generate Json translations
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/assets/block-i18n.ts"],
4
- "sourcesContent": ["export default {\n\ttitle: \"block title\",\n\tdescription: \"block description\",\n\tkeywords: [\"block keyword\"],\n\tstyles: [\n\t\t{\n\t\t\tlabel: \"block style label\",\n\t\t},\n\t],\n\tvariations: [\n\t\t{\n\t\t\ttitle: \"block variation title\",\n\t\t\tdescription: \"block variation description\",\n\t\t\tkeywords: [\"block variation keyword\"],\n\t\t},\n\t],\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAO,qBAAQ;AAAA,EACd,OAAO;AAAA,EACP,aAAa;AAAA,EACb,UAAU,CAAC,eAAe;AAAA,EAC1B,QAAQ;AAAA,IACP;AAAA,MACC,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,YAAY;AAAA,IACX;AAAA,MACC,OAAO;AAAA,MACP,aAAa;AAAA,MACb,UAAU,CAAC,yBAAyB;AAAA,IACrC;AAAA,EACD;AACD;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"block-i18n.js","sourceRoot":"","sources":["../../src/assets/block-i18n.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,KAAK,EAAE,aAAa;IACpB,WAAW,EAAE,mBAAmB;IAChC,QAAQ,EAAE,CAAC,eAAe,CAAC;IAC3B,MAAM,EAAE;QACP;YACC,KAAK,EAAE,mBAAmB;SAC1B;KACD;IACD,UAAU,EAAE;QACX;YACC,KAAK,EAAE,uBAAuB;YAC9B,WAAW,EAAE,6BAA6B;YAC1C,QAAQ,EAAE,CAAC,yBAAyB,CAAC;SACrC;KACD;CACD,CAAC"}
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/assets/package-i18n.ts"],
4
- "sourcesContent": ["export default {\n\tname: \"name\",\n\turl: \"url\",\n\tdescription: \"description\",\n\tauthor: \"author\",\n\tauthors: \"authors\",\n\tauthorEmail: \"authorEmail\",\n\tversion: \"version\",\n\tbugs: \"bugs\",\n\t\"bugs.url\": \"bugsUrl\",\n\t\"bugs.email\": \"bugsEmail\",\n\tlicense: \"license\",\n\trepository: \"repository\",\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAO,uBAAQ;AAAA,EACd,MAAM;AAAA,EACN,KAAK;AAAA,EACL,aAAa;AAAA,EACb,QAAQ;AAAA,EACR,SAAS;AAAA,EACT,aAAa;AAAA,EACb,SAAS;AAAA,EACT,MAAM;AAAA,EACN,YAAY;AAAA,EACZ,cAAc;AAAA,EACd,SAAS;AAAA,EACT,YAAY;AACb;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"package-i18n.js","sourceRoot":"","sources":["../../src/assets/package-i18n.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,IAAI,EAAE,MAAM;IACZ,GAAG,EAAE,KAAK;IACV,WAAW,EAAE,aAAa;IAC1B,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;IAClB,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;IACZ,UAAU,EAAE,SAAS;IACrB,YAAY,EAAE,WAAW;IACzB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,YAAY;CACxB,CAAC"}
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/assets/theme-i18n.ts"],
4
- "sourcesContent": ["export default {\n\ttitle: \"Style variation name\",\n\tsettings: {\n\t\ttypography: {\n\t\t\tfontSizes: [\n\t\t\t\t{\n\t\t\t\t\tname: \"Font size name\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tfontFamilies: [\n\t\t\t\t{\n\t\t\t\t\tname: \"Font family name\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tcolor: {\n\t\t\tpalette: [\n\t\t\t\t{\n\t\t\t\t\tname: \"Color name\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tgradients: [\n\t\t\t\t{\n\t\t\t\t\tname: \"Gradient name\",\n\t\t\t\t},\n\t\t\t],\n\t\t\tduotone: [\n\t\t\t\t{\n\t\t\t\t\tname: \"Duotone name\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tspacing: {\n\t\t\tspacingSizes: [\n\t\t\t\t{\n\t\t\t\t\tname: \"Space size name\",\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\tblocks: {\n\t\t\t\"*\": {\n\t\t\t\ttypography: {\n\t\t\t\t\tfontSizes: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Font size name\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tfontFamilies: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Font family name\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tcolor: {\n\t\t\t\t\tpalette: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Color name\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t\tgradients: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Gradient name\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t\tspacing: {\n\t\t\t\t\tspacingSizes: [\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tname: \"Space size name\",\n\t\t\t\t\t\t},\n\t\t\t\t\t],\n\t\t\t\t},\n\t\t\t},\n\t\t},\n\t},\n\tcustomTemplates: [\n\t\t{\n\t\t\ttitle: \"Custom template name\",\n\t\t},\n\t],\n\ttemplateParts: [\n\t\t{\n\t\t\ttitle: \"Template part name\",\n\t\t},\n\t],\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAO,qBAAQ;AAAA,EACd,OAAO;AAAA,EACP,UAAU;AAAA,IACT,YAAY;AAAA,MACX,WAAW;AAAA,QACV;AAAA,UACC,MAAM;AAAA,QACP;AAAA,MACD;AAAA,MACA,cAAc;AAAA,QACb;AAAA,UACC,MAAM;AAAA,QACP;AAAA,MACD;AAAA,IACD;AAAA,IACA,OAAO;AAAA,MACN,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,QACP;AAAA,MACD;AAAA,MACA,WAAW;AAAA,QACV;AAAA,UACC,MAAM;AAAA,QACP;AAAA,MACD;AAAA,MACA,SAAS;AAAA,QACR;AAAA,UACC,MAAM;AAAA,QACP;AAAA,MACD;AAAA,IACD;AAAA,IACA,SAAS;AAAA,MACR,cAAc;AAAA,QACb;AAAA,UACC,MAAM;AAAA,QACP;AAAA,MACD;AAAA,IACD;AAAA,IACA,QAAQ;AAAA,MACP,KAAK;AAAA,QACJ,YAAY;AAAA,UACX,WAAW;AAAA,YACV;AAAA,cACC,MAAM;AAAA,YACP;AAAA,UACD;AAAA,UACA,cAAc;AAAA,YACb;AAAA,cACC,MAAM;AAAA,YACP;AAAA,UACD;AAAA,QACD;AAAA,QACA,OAAO;AAAA,UACN,SAAS;AAAA,YACR;AAAA,cACC,MAAM;AAAA,YACP;AAAA,UACD;AAAA,UACA,WAAW;AAAA,YACV;AAAA,cACC,MAAM;AAAA,YACP;AAAA,UACD;AAAA,QACD;AAAA,QACA,SAAS;AAAA,UACR,cAAc;AAAA,YACb;AAAA,cACC,MAAM;AAAA,YACP;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAAA,EACD;AAAA,EACA,iBAAiB;AAAA,IAChB;AAAA,MACC,OAAO;AAAA,IACR;AAAA,EACD;AAAA,EACA,eAAe;AAAA,IACd;AAAA,MACC,OAAO;AAAA,IACR;AAAA,EACD;AACD;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"theme-i18n.js","sourceRoot":"","sources":["../../src/assets/theme-i18n.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,KAAK,EAAE,sBAAsB;IAC7B,QAAQ,EAAE;QACT,UAAU,EAAE;YACX,SAAS,EAAE;gBACV;oBACC,IAAI,EAAE,gBAAgB;iBACtB;aACD;YACD,YAAY,EAAE;gBACb;oBACC,IAAI,EAAE,kBAAkB;iBACxB;aACD;SACD;QACD,KAAK,EAAE;YACN,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,YAAY;iBAClB;aACD;YACD,SAAS,EAAE;gBACV;oBACC,IAAI,EAAE,eAAe;iBACrB;aACD;YACD,OAAO,EAAE;gBACR;oBACC,IAAI,EAAE,cAAc;iBACpB;aACD;SACD;QACD,OAAO,EAAE;YACR,YAAY,EAAE;gBACb;oBACC,IAAI,EAAE,iBAAiB;iBACvB;aACD;SACD;QACD,MAAM,EAAE;YACP,GAAG,EAAE;gBACJ,UAAU,EAAE;oBACX,SAAS,EAAE;wBACV;4BACC,IAAI,EAAE,gBAAgB;yBACtB;qBACD;oBACD,YAAY,EAAE;wBACb;4BACC,IAAI,EAAE,kBAAkB;yBACxB;qBACD;iBACD;gBACD,KAAK,EAAE;oBACN,OAAO,EAAE;wBACR;4BACC,IAAI,EAAE,YAAY;yBAClB;qBACD;oBACD,SAAS,EAAE;wBACV;4BACC,IAAI,EAAE,eAAe;yBACrB;qBACD;iBACD;gBACD,OAAO,EAAE;oBACR,YAAY,EAAE;wBACb;4BACC,IAAI,EAAE,iBAAiB;yBACvB;qBACD;iBACD;aACD;SACD;KACD;IACD,eAAe,EAAE;QAChB;YACC,KAAK,EAAE,sBAAsB;SAC7B;KACD;IACD,aAAa,EAAE;QACd;YACC,KAAK,EAAE,oBAAoB;SAC3B;KACD;CACD,CAAC"}
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/assets/wp-plugin-i18n.ts"],
4
- "sourcesContent": ["export default {\n\tname: \"Plugin Name\",\n\tslug: \"Plugin Slug\",\n\turl: \"Plugin URI\",\n\tdescription: \"Description\",\n\tversion: \"Version\",\n\tauthor: \"Author\",\n\tauthorUri: \"Author URI\",\n\ttags: \"Tags\",\n\tlicense: \"License\",\n\tlicenseUri: \"License URI\",\n\tupdateUri: \"Update URI\",\n\tdomainPath: \"Domain Path\",\n\ttextDomain: \"Text Domain\",\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAO,yBAAQ;AAAA,EACd,MAAM;AAAA,EACN,MAAM;AAAA,EACN,KAAK;AAAA,EACL,aAAa;AAAA,EACb,SAAS;AAAA,EACT,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,MAAM;AAAA,EACN,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,WAAW;AAAA,EACX,YAAY;AAAA,EACZ,YAAY;AACb;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"wp-plugin-i18n.js","sourceRoot":"","sources":["../../src/assets/wp-plugin-i18n.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,IAAI,EAAE,aAAa;IACnB,IAAI,EAAE,aAAa;IACnB,GAAG,EAAE,YAAY;IACjB,WAAW,EAAE,aAAa;IAC1B,OAAO,EAAE,SAAS;IAClB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,YAAY;IACvB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,aAAa;IACzB,SAAS,EAAE,YAAY;IACvB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;CACzB,CAAC"}
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/assets/wp-theme-i18n.ts"],
4
- "sourcesContent": ["export default {\n\tname: \"Theme Name\",\n\tauthor: \"Author\",\n\tauthorUri: \"Author URI\",\n\tdescription: \"Description\",\n\turl: \"Theme URI\",\n\ttags: \"Tags\",\n\tversion: \"Version\",\n\tlicense: \"License\",\n\tlicenseUri: \"License URI\",\n\tdomainPath: \"Domain Path\",\n\ttextDomain: \"Text Domain\",\n};\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,IAAO,wBAAQ;AAAA,EACd,MAAM;AAAA,EACN,QAAQ;AAAA,EACR,WAAW;AAAA,EACX,aAAa;AAAA,EACb,KAAK;AAAA,EACL,MAAM;AAAA,EACN,SAAS;AAAA,EACT,SAAS;AAAA,EACT,YAAY;AAAA,EACZ,YAAY;AAAA,EACZ,YAAY;AACb;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"wp-theme-i18n.js","sourceRoot":"","sources":["../../src/assets/wp-theme-i18n.ts"],"names":[],"mappings":";;AAAA,kBAAe;IACd,IAAI,EAAE,YAAY;IAClB,MAAM,EAAE,QAAQ;IAChB,SAAS,EAAE,YAAY;IACvB,WAAW,EAAE,aAAa;IAC1B,GAAG,EAAE,WAAW;IAChB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,OAAO,EAAE,SAAS;IAClB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;IACzB,UAAU,EAAE,aAAa;CACzB,CAAC"}
@@ -1 +1 @@
1
- "use strict";var l=Object.create;var o=Object.defineProperty;var g=Object.getOwnPropertyDescriptor;var b=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var f=(e,t)=>{for(var i in t)o(e,i,{get:t[i],enumerable:!0})},n=(e,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of b(t))!y.call(e,s)&&s!==i&&o(e,s,{get:()=>t[s],enumerable:!(r=g(t,s))||r.enumerable});return e};var a=(e,t,i)=>(i=e!=null?l(u(e)):{},n(t||!e||!e.__esModule?o(i,"default",{value:e,enumerable:!0}):i,e)),m=e=>n(o({},"__esModule",{value:!0}),e);var S={};f(S,{getArgs:()=>h});module.exports=m(S);var p=a(require("node:process")),k=a(require("yargs")),c=require("yargs/helpers"),d=require("./parseCli.js");function h(e={}){const t=k.default((0,c.hideBin)(p.default.argv)).help("h").alias("help","help").usage("Usage: $0 <source> [destination] [options]").positional("sourceDirectory",{describe:"Source directory",type:"string"}).positional("destination",{describe:"Destination directory",type:"string"}).options({slug:{describe:"Plugin or theme slug",type:"string"},domain:{describe:"Text domain to look for in the source code",type:"string"},"skip-js":{describe:"Skip JavaScript files",type:"boolean"},"skip-php":{describe:"Skip PHP files",type:"boolean"},"skip-blade":{describe:"Skip Blade files",type:"boolean"},"skip-block-json":{describe:"Skip block.json files",type:"boolean"},"skip-theme-json":{describe:"Skip theme.json files",type:"boolean"},"skip-audit":{describe:"Skip auditing of strings",type:"boolean"},headers:{describe:"Headers",type:"string"},"file-comment":{describe:"File comment",type:"string"},"package-name":{describe:"Package name",type:"string"},location:{describe:"Include location information",type:"boolean"},"ignore-domain":{describe:"Ignore text domain",type:"boolean"},mergePaths:{describe:"Merge with existing POT file(s)",type:"string"},subtractPaths:{describe:"Subtract strings from existing POT file(s)",type:"string"},subtractAndMerge:{describe:"Subtract and merge strings from existing POT file(s)",type:"boolean"},include:{describe:"Include specific files",type:"string",default:"**"},exclude:{describe:"Exclude specific files",type:"string"},silent:{describe:"No output to stdout",type:"boolean",default:!1},json:{describe:"Output the json gettext data",type:"boolean"},output:{describe:"Output the gettext data",type:"boolean"},charset:{describe:"Charset",type:"string",default:"latin1"}}).parseSync();return(0,d.parseCliArgs)({...e,...t})}0&&(module.exports={getArgs});
1
+ "use strict";var l=Object.create;var o=Object.defineProperty;var b=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,f=Object.prototype.hasOwnProperty;var y=(e,t)=>{for(var i in t)o(e,i,{get:t[i],enumerable:!0})},n=(e,t,i,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of g(t))!f.call(e,s)&&s!==i&&o(e,s,{get:()=>t[s],enumerable:!(r=b(t,s))||r.enumerable});return e};var a=(e,t,i)=>(i=e!=null?l(u(e)):{},n(t||!e||!e.__esModule?o(i,"default",{value:e,enumerable:!0}):i,e)),m=e=>n(o({},"__esModule",{value:!0}),e);var S={};y(S,{getArgs:()=>h});module.exports=m(S);var p=a(require("node:process")),k=a(require("yargs")),d=require("yargs/helpers"),c=require("./parseCli.js");function h(e={}){const t=k.default((0,d.hideBin)(p.default.argv)).help("h").alias("help","help").usage("Usage: $0 <source> [destination] [options]").positional("sourceDirectory",{describe:"Source directory",type:"string"}).positional("destination",{describe:"Destination directory",type:"string"}).options({slug:{describe:"Plugin or theme slug",type:"string"},domain:{describe:"Text domain to look for in the source code",type:"string"},"skip-js":{describe:"Skip JavaScript files",type:"boolean"},"skip-php":{describe:"Skip PHP files",type:"boolean"},"skip-blade":{describe:"Skip Blade files",type:"boolean"},"skip-block-json":{describe:"Skip block.json files",type:"boolean"},"skip-theme-json":{describe:"Skip theme.json files",type:"boolean"},"skip-audit":{describe:"Skip auditing of strings",type:"boolean",default:!1},headers:{describe:"Additional Headers",type:"array",default:[]},"file-comment":{describe:"File comment",type:"string"},"package-name":{describe:"Package name",type:"string"},location:{describe:"Include location information",type:"boolean"},"ignore-domain":{describe:"Ignore text domain",type:"boolean"},mergePaths:{describe:"Merge with existing POT file(s)",type:"string"},subtractPaths:{describe:"Subtract strings from existing POT file(s)",type:"string"},subtractAndMerge:{describe:"Subtract and merge strings from existing POT file(s)",type:"boolean"},include:{describe:"Include specific files",type:"string",default:"**"},exclude:{describe:"Exclude specific files",type:"string"},silent:{describe:"No output to stdout",type:"boolean",default:!1},json:{describe:"Output the json gettext data",type:"boolean"},output:{describe:"Output the gettext data",type:"boolean"},charset:{describe:"Charset",type:"string",default:"latin1"},debug:{describe:"Debug mode",type:"boolean",default:!1}}).parseSync();return(0,c.parseCliArgs)({...e,...t})}0&&(module.exports={getArgs});
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cli/getArgs.ts"],
4
- "sourcesContent": ["import process from \"node:process\";\nimport * as yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport type { Args, MakeJsonArgs } from \"../types.js\";\nimport { parseCliArgs } from \"./parseCli.js\";\n\n/**\n * Retrieves and returns the command line arguments and options.\n *\n * @return The parsed command line arguments and options.\n */\nexport function getArgs(userArgs = {}): Args | MakeJsonArgs {\n\tconst args = yargs\n\t\t.default(hideBin(process.argv))\n\t\t.help(\"h\")\n\t\t.alias(\"help\", \"help\")\n\t\t.usage(\"Usage: $0 <source> [destination] [options]\")\n\t\t.positional(\"sourceDirectory\", {\n\t\t\tdescribe: \"Source directory\",\n\t\t\ttype: \"string\",\n\t\t})\n\t\t.positional(\"destination\", {\n\t\t\tdescribe: \"Destination directory\",\n\t\t\ttype: \"string\",\n\t\t})\n\t\t.options({\n\t\t\tslug: {\n\t\t\t\tdescribe: \"Plugin or theme slug\",\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\tdomain: {\n\t\t\t\tdescribe: \"Text domain to look for in the source code\",\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\t\"skip-js\": {\n\t\t\t\tdescribe: \"Skip JavaScript files\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\t\"skip-php\": {\n\t\t\t\tdescribe: \"Skip PHP files\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\t\"skip-blade\": {\n\t\t\t\tdescribe: \"Skip Blade files\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\t\"skip-block-json\": {\n\t\t\t\tdescribe: \"Skip block.json files\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\t\"skip-theme-json\": {\n\t\t\t\tdescribe: \"Skip theme.json files\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\t\"skip-audit\": {\n\t\t\t\tdescribe: \"Skip auditing of strings\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\theaders: {\n\t\t\t\tdescribe: \"Headers\",\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\t\"file-comment\": {\n\t\t\t\tdescribe: \"File comment\",\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\t\"package-name\": {\n\t\t\t\tdescribe: \"Package name\",\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\tlocation: {\n\t\t\t\tdescribe: \"Include location information\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\t\"ignore-domain\": {\n\t\t\t\tdescribe: \"Ignore text domain\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\tmergePaths: {\n\t\t\t\tdescribe: \"Merge with existing POT file(s)\",\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\tsubtractPaths: {\n\t\t\t\tdescribe: \"Subtract strings from existing POT file(s)\",\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\tsubtractAndMerge: {\n\t\t\t\tdescribe: \"Subtract and merge strings from existing POT file(s)\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\tinclude: {\n\t\t\t\tdescribe: \"Include specific files\",\n\t\t\t\ttype: \"string\",\n\t\t\t\tdefault: \"**\",\n\t\t\t},\n\t\t\texclude: {\n\t\t\t\tdescribe: \"Exclude specific files\",\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\tsilent: {\n\t\t\t\tdescribe: \"No output to stdout\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tjson: {\n\t\t\t\tdescribe: \"Output the json gettext data\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\toutput: {\n\t\t\t\tdescribe: \"Output the gettext data\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t},\n\t\t\tcharset: {\n\t\t\t\tdescribe: \"Charset\",\n\t\t\t\ttype: \"string\",\n\t\t\t\tdefault: \"latin1\",\n\t\t\t},\n\t\t})\n\t\t.parseSync();\n\treturn parseCliArgs({ ...userArgs, ...args });\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAoB;AACpB,YAAuB;AACvB,qBAAwB;AAExB,sBAA6B;AAOtB,SAAS,QAAQ,WAAW,CAAC,GAAwB;AAC3D,QAAM,OAAO,MACX,YAAQ,wBAAQ,oBAAAA,QAAQ,IAAI,CAAC,EAC7B,KAAK,GAAG,EACR,MAAM,QAAQ,MAAM,EACpB,MAAM,4CAA4C,EAClD,WAAW,mBAAmB;AAAA,IAC9B,UAAU;AAAA,IACV,MAAM;AAAA,EACP,CAAC,EACA,WAAW,eAAe;AAAA,IAC1B,UAAU;AAAA,IACV,MAAM;AAAA,EACP,CAAC,EACA,QAAQ;AAAA,IACR,MAAM;AAAA,MACL,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,WAAW;AAAA,MACV,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,mBAAmB;AAAA,MAClB,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,mBAAmB;AAAA,MAClB,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,cAAc;AAAA,MACb,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACR,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,gBAAgB;AAAA,MACf,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,gBAAgB;AAAA,MACf,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,UAAU;AAAA,MACT,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,iBAAiB;AAAA,MAChB,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,YAAY;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,eAAe;AAAA,MACd,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,kBAAkB;AAAA,MACjB,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACR,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,SAAS;AAAA,MACR,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,MAAM;AAAA,MACL,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,QAAQ;AAAA,MACP,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,SAAS;AAAA,MACR,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACD,CAAC,EACA,UAAU;AACZ,aAAO,8BAAa,EAAE,GAAG,UAAU,GAAG,KAAK,CAAC;AAC7C;",
6
- "names": ["process"]
7
- }
1
+ {"version":3,"file":"getArgs.js","sourceRoot":"","sources":["../../src/cli/getArgs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- "use strict";var c=Object.create;var o=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var g=Object.getOwnPropertyNames;var u=Object.getPrototypeOf,y=Object.prototype.hasOwnProperty;var m=(e,t)=>{for(var r in t)o(e,r,{get:t[r],enumerable:!0})},a=(e,t,r,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of g(t))!y.call(e,s)&&s!==r&&o(e,s,{get:()=>t[s],enumerable:!(i=f(t,s))||i.enumerable});return e};var n=(e,t,r)=>(r=e!=null?c(u(e)):{},a(t||!e||!e.__esModule?o(r,"default",{value:e,enumerable:!0}):r,e)),b=e=>a(o({},"__esModule",{value:!0}),e);var A={};m(A,{getJsonArgs:()=>J});module.exports=b(A);var p=n(require("node:process")),h=n(require("yargs")),d=require("yargs/helpers"),l=require("./parseCli.js");function J(e={}){const t=h.default((0,d.hideBin)(p.default.argv)).help("h").alias("help","help").usage("Usage: $0 <source> [destination] [options]").positional("source",{describe:"Source directory",type:"string"}).positional("destination",{describe:"Destination directory",type:"string"}).options({scriptName:{describe:"The name of the script to be translated",type:"string"},allowedFormats:{describe:"which extensions to use for translation",type:"array",default:["js"]},purge:{describe:"Remove old JSON files",type:"boolean",default:!0},prettyPrint:{describe:"Pretty print JSON",type:"boolean",default:!1},debug:{describe:"Debug mode",type:"boolean",default:!1}}).parseSync();return(0,l.parseJsonArgs)({...e,...t})}0&&(module.exports={getJsonArgs});
1
+ "use strict";var u=Object.create;var o=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var f=Object.getOwnPropertyNames;var y=Object.getPrototypeOf,g=Object.prototype.hasOwnProperty;var b=(e,t)=>{for(var s in t)o(e,s,{get:t[s],enumerable:!0})},a=(e,t,s,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of f(t))!g.call(e,r)&&r!==s&&o(e,r,{get:()=>t[r],enumerable:!(i=c(t,r))||i.enumerable});return e};var n=(e,t,s)=>(s=e!=null?u(y(e)):{},a(t||!e||!e.__esModule?o(s,"default",{value:e,enumerable:!0}):s,e)),m=e=>a(o({},"__esModule",{value:!0}),e);var S={};b(S,{getJsonArgs:()=>J});module.exports=m(S);var p=n(require("node:process")),h=n(require("yargs")),d=require("yargs/helpers"),l=require("./parseCli.js");function J(e={}){const t=h.default((0,d.hideBin)(p.default.argv)).help("h").alias("help","help").usage("Usage: $0 <source> [destination] [options]").positional("source",{describe:"Source directory",type:"string"}).positional("destination",{describe:"Destination directory",type:"string"}).options({scriptName:{describe:"The name of the script to be translated",type:"string"},allowedFormats:{describe:"which extensions to use for translation",type:"array",default:["js"]},purge:{describe:"Remove old JSON files",type:"boolean",default:!0},prettyPrint:{describe:"Pretty print JSON",type:"boolean",default:!1},debug:{describe:"Debug mode",type:"boolean",default:!1},stripUnused:{describe:"Strip unused translations in js files",type:"boolean",default:!0}}).parseSync();return(0,l.parseJsonArgs)({...e,...t})}0&&(module.exports={getJsonArgs});
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cli/getJsonArgs.ts"],
4
- "sourcesContent": ["import process from \"node:process\";\nimport * as yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport type { MakeJsonArgs } from \"../types.js\";\nimport { parseJsonArgs } from \"./parseCli.js\";\n\n/**\n * Parses the command line arguments for the JSON command.\n *\n * @param additionalArgs - Additional arguments to be parsed.\n * @returns The parsed command line arguments.\n */\nexport function getJsonArgs(additionalArgs = {}): MakeJsonArgs {\n\tconst args = yargs\n\t\t.default(hideBin(process.argv))\n\t\t.help(\"h\")\n\t\t.alias(\"help\", \"help\")\n\t\t.usage(\"Usage: $0 <source> [destination] [options]\")\n\t\t.positional(\"source\", {\n\t\t\tdescribe: \"Source directory\",\n\t\t\ttype: \"string\",\n\t\t})\n\t\t.positional(\"destination\", {\n\t\t\tdescribe: \"Destination directory\",\n\t\t\ttype: \"string\",\n\t\t})\n\t\t.options({\n\t\t\tscriptName: {\n\t\t\t\tdescribe: \"The name of the script to be translated\",\n\t\t\t\ttype: \"string\",\n\t\t\t},\n\t\t\tallowedFormats: {\n\t\t\t\tdescribe: \"which extensions to use for translation\",\n\t\t\t\ttype: \"array\",\n\t\t\t\tdefault: [\"js\"],\n\t\t\t},\n\t\t\tpurge: {\n\t\t\t\tdescribe: \"Remove old JSON files\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: true,\n\t\t\t},\n\t\t\tprettyPrint: {\n\t\t\t\tdescribe: \"Pretty print JSON\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t\tdebug: {\n\t\t\t\tdescribe: \"Debug mode\",\n\t\t\t\ttype: \"boolean\",\n\t\t\t\tdefault: false,\n\t\t\t},\n\t\t})\n\t\t.parseSync();\n\treturn parseJsonArgs({ ...additionalArgs, ...args });\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,0BAAoB;AACpB,YAAuB;AACvB,qBAAwB;AAExB,sBAA8B;AAQvB,SAAS,YAAY,iBAAiB,CAAC,GAAiB;AAC9D,QAAM,OAAO,MACX,YAAQ,wBAAQ,oBAAAA,QAAQ,IAAI,CAAC,EAC7B,KAAK,GAAG,EACR,MAAM,QAAQ,MAAM,EACpB,MAAM,4CAA4C,EAClD,WAAW,UAAU;AAAA,IACrB,UAAU;AAAA,IACV,MAAM;AAAA,EACP,CAAC,EACA,WAAW,eAAe;AAAA,IAC1B,UAAU;AAAA,IACV,MAAM;AAAA,EACP,CAAC,EACA,QAAQ;AAAA,IACR,YAAY;AAAA,MACX,UAAU;AAAA,MACV,MAAM;AAAA,IACP;AAAA,IACA,gBAAgB;AAAA,MACf,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS,CAAC,IAAI;AAAA,IACf;AAAA,IACA,OAAO;AAAA,MACN,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,aAAa;AAAA,MACZ,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,IACA,OAAO;AAAA,MACN,UAAU;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACV;AAAA,EACD,CAAC,EACA,UAAU;AACZ,aAAO,+BAAc,EAAE,GAAG,gBAAgB,GAAG,KAAK,CAAC;AACpD;",
6
- "names": ["process"]
7
- }
1
+ {"version":3,"file":"getJsonArgs.js","sourceRoot":"","sources":["../../src/cli/getJsonArgs.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAYA,kCA+CC;AA3DD,gEAAmC;AACnC,6CAA+B;AAC/B,2CAAwC;AAExC,+CAA8C;AAE9C;;;;;GAKG;AACH,SAAgB,WAAW,CAAC,cAAc,GAAG,EAAE;IAC9C,MAAM,IAAI,GAAG,KAAK;SAChB,OAAO,CAAC,IAAA,iBAAO,EAAC,sBAAO,CAAC,IAAI,CAAC,CAAC;SAC9B,IAAI,CAAC,GAAG,CAAC;SACT,KAAK,CAAC,MAAM,EAAE,MAAM,CAAC;SACrB,KAAK,CAAC,4CAA4C,CAAC;SACnD,UAAU,CAAC,QAAQ,EAAE;QACrB,QAAQ,EAAE,kBAAkB;QAC5B,IAAI,EAAE,QAAQ;KACd,CAAC;SACD,UAAU,CAAC,aAAa,EAAE;QAC1B,QAAQ,EAAE,uBAAuB;QACjC,IAAI,EAAE,QAAQ;KACd,CAAC;SACD,OAAO,CAAC;QACR,UAAU,EAAE;YACX,QAAQ,EAAE,yCAAyC;YACnD,IAAI,EAAE,QAAQ;SACd;QACD,cAAc,EAAE;YACf,QAAQ,EAAE,yCAAyC;YACnD,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,CAAC,IAAI,CAAC;SACf;QACD,KAAK,EAAE;YACN,QAAQ,EAAE,uBAAuB;YACjC,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACb;QACD,WAAW,EAAE;YACZ,QAAQ,EAAE,mBAAmB;YAC7B,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACd;QACD,KAAK,EAAE;YACN,QAAQ,EAAE,YAAY;YACtB,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,KAAK;SACd;QACD,WAAW,EAAE;YACZ,QAAQ,EAAE,uCAAuC;YACjD,IAAI,EAAE,SAAS;YACf,OAAO,EAAE,IAAI;SACb;KACD,CAAC;SACD,SAAS,EAAE,CAAC;IACd,OAAO,IAAA,2BAAa,EAAC,EAAE,GAAG,cAAc,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;AACtD,CAAC"}
@@ -1 +1 @@
1
- "use strict";var b=Object.create;var u=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var P=Object.getOwnPropertyNames;var D=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty;var J=(t,n)=>{for(var e in n)u(t,e,{get:n[e],enumerable:!0})},g=(t,n,e,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of P(n))!w.call(t,s)&&s!==e&&u(t,s,{get:()=>n[s],enumerable:!(o=A(n,s))||o.enumerable});return t};var l=(t,n,e)=>(e=t!=null?b(D(t)):{},g(n||!t||!t.__esModule?u(e,"default",{value:t,enumerable:!0}):e,t)),T=t=>g(u({},"__esModule",{value:!0}),t);var S={};J(S,{parseCliArgs:()=>j,parseJsonArgs:()=>O});module.exports=T(S);var c=l(require("node:fs")),i=l(require("node:path")),h=l(require("node:process")),f=require("../const.js"),y=require("../fs/fs"),a=require("../utils/common.js");function _(t="/",n="default"){const e=t;try{return(0,c.accessSync)(i.join(e,`${n}.php`),c.default.constants.R_OK),"plugin"}catch{console.log(`the current working directory ${e} does not contain a ${n}.php file`)}try{return(0,c.accessSync)(i.join(e,"style.css"),c.default.constants.R_OK),"theme"}catch{console.log(`the current working directory ${e} does not contain a style.css file`)}return"generic"}function j(t){const n=t._[0]?.toString(),e=t._[1]?.toString()||"languages",o=n??".",s=e.startsWith("/")?e.slice(1):e,r=h.cwd(),p=t.slug&&typeof t.slug=="string"?t.slug:i.basename(i.resolve(r,o)),m=i.relative(r,o),k=i.relative(r,s);if(!t?.domain)t.domain=_(i.resolve(m),p);else switch(t.domain){case"plugin":case"theme":case"block":case"theme-block":break;default:console.error(`Invalid domain: ${t.domain}. Valid domains are: plugin, theme, block, theme-block, generic`),t.domain="generic"}const d={slug:p,domain:t.domain,paths:{cwd:m,out:k},options:{ignoreDomain:!!t?.ignoreDomain,packageName:String(t.packageName),silent:t.silent===!0,json:!!t.json,location:!!t?.location,output:!!t?.output,fileComment:t.fileComment?String(t.fileComment):void 0,charset:(0,y.getEncodingCharset)(t?.charset),skip:{js:!!t.skipJs,php:!!t.skipPhp,blade:!!t.skipBlade,blockJson:!!t.skipBlockJson,themeJson:!!t.skipThemeJson,audit:!!t.skipAudit}},patterns:{mergePaths:(0,a.stringstring)(t.mergePaths),subtractPaths:(0,a.stringstring)(t.subtractPaths),subtractAndMerge:!!t.subtractAndMerge,include:(0,a.stringstring)(t.include),exclude:[...(0,a.stringstring)(t.exclude),...f.DEFAULT_EXCLUDED_PATH]}};return d.paths.root=t.root?String(t.root):void 0,d}function O(t){const n=t._[0]||"build",e=t._[1]||"languages",o=h.cwd(),s=i.basename(i.resolve(o));let r;return t.scriptName&&(r=t.scriptName.split(",").map(p=>p.trim()),r.length===1&&(r=r[0])),{timeStart:Date.now(),slug:s,source:n,destination:e,scriptName:r,allowedFormats:t.allowedFormats,purge:!!t.purge,prettyPrint:!!t.prettyPrint,debug:!!t.debug,paths:{cwd:o,out:i.join(o,e)}}}0&&(module.exports={parseCliArgs,parseJsonArgs});
1
+ "use strict";var w=Object.create;var u=Object.defineProperty;var J=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var _=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty;var v=(t,n)=>{for(var e in n)u(t,e,{get:n[e],enumerable:!0})},g=(t,n,e,o)=>{if(n&&typeof n=="object"||typeof n=="function")for(let s of T(n))!j.call(t,s)&&s!==e&&u(t,s,{get:()=>n[s],enumerable:!(o=J(n,s))||o.enumerable});return t};var d=(t,n,e)=>(e=t!=null?w(_(t)):{},g(n||!t||!t.__esModule?u(e,"default",{value:t,enumerable:!0}):e,t)),O=t=>g(u({},"__esModule",{value:!0}),t);var $={};v($,{parseCliArgs:()=>C,parseJsonArgs:()=>N});module.exports=O($);var c=d(require("node:fs")),i=d(require("node:path")),f=d(require("node:process")),y=require("../const.js"),k=require("../fs/fs"),a=require("../utils/common.js");function S(t="/",n="default"){const e=t;try{return(0,c.accessSync)(i.join(e,`${n}.php`),c.default.constants.R_OK),"plugin"}catch{console.log(`the current working directory ${e} does not contain a ${n}.php file`)}try{return(0,c.accessSync)(i.join(e,"style.css"),c.default.constants.R_OK),"theme"}catch{console.log(`the current working directory ${e} does not contain a style.css file`)}return"generic"}function C(t){const n=t._[0]?.toString(),e=t._[1]?.toString()||"languages",o=n??".",s=e.startsWith("/")?e.slice(1):e,r=f.cwd(),p=t.slug&&typeof t.slug=="string"?t.slug:i.basename(i.resolve(r,o)),m=i.relative(r,o),b=i.relative(r,s);if(!t?.domain)t.domain=S(i.resolve(m),p);else switch(t.domain){case"plugin":case"theme":case"block":case"theme-block":break;default:console.error(`Invalid domain: ${t.domain}. Valid domains are: plugin, theme, block, theme-block, generic`),t.domain="generic"}const l={};for(const P of t.headers){const[A,D]=P.split(":");l[A.trim()]=D.trim()}const h={slug:p,debug:!!t.debug,domain:t.domain,paths:{cwd:m,out:b},options:{ignoreDomain:!!t?.ignoreDomain,packageName:String(t.packageName),silent:t.silent===!0,json:!!t.json,location:!!t?.location,headers:l,theme:!!t?.theme,output:!!t?.output,fileComment:t.fileComment?String(t.fileComment):void 0,charset:(0,k.getEncodingCharset)(t?.charset),skip:{js:!!t.skipJs,php:!!t.skipPhp,blade:!!t.skipBlade,blockJson:!!t.skipBlockJson,themeJson:!!t.skipThemeJson,audit:!!t.skipAudit}},patterns:{mergePaths:(0,a.stringstring)(t.mergePaths),subtractPaths:(0,a.stringstring)(t.subtractPaths),subtractAndMerge:!!t.subtractAndMerge,include:(0,a.stringstring)(t.include),exclude:[...(0,a.stringstring)(t.exclude),...y.DEFAULT_EXCLUDED_PATH]}};return h.paths.root=t.root?String(t.root):void 0,h}function N(t){const n=t._[0]||"build",e=t._[1]||"languages",o=f.cwd(),s=i.basename(i.resolve(o));let r;return t.scriptName&&(r=t.scriptName.split(",").map(p=>p.trim()),r.length===1&&(r=r[0])),{timeStart:Date.now(),slug:s,source:n,destination:e,scriptName:r,allowedFormats:t.allowedFormats,purge:!!t.purge,stripUnused:!!t.stripUnused,prettyPrint:!!t.prettyPrint,debug:!!t.debug,paths:{cwd:o,out:i.join(o,e)}}}0&&(module.exports={parseCliArgs,parseJsonArgs});
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/cli/parseCli.ts"],
4
- "sourcesContent": ["import fs, { accessSync } from \"node:fs\";\nimport * as path from \"node:path\";\nimport * as process from \"node:process\";\nimport type * as yargs from \"yargs\";\nimport { DEFAULT_EXCLUDED_PATH } from \"../const.js\";\nimport { getEncodingCharset } from \"../fs/fs\";\nimport type { Args, DomainType, MakeJsonArgs } from \"../types.js\";\nimport { stringstring } from \"../utils/common.js\";\n\n/**\n * This function checks if the current working directory is a theme or plugin\n * @param currentPath The current working directory\n * @param slug The slug of the theme or plugin\n */\nfunction isThemeOrPlugin(currentPath = \"/\", slug = \"default\"): DomainType {\n\tconst currentWorkingDirectory = currentPath;\n\n\t/**\n\t * Checks if the current working directory contains a plugin file\n\t */\n\ttry {\n\t\taccessSync(\n\t\t\tpath.join(currentWorkingDirectory, `${slug}.php`),\n\t\t\tfs.constants.R_OK,\n\t\t);\n\t\treturn \"plugin\";\n\t} catch (err) {\n\t\t// do nothing\n\t\tconsole.log(\n\t\t\t`the current working directory ${currentWorkingDirectory} does not contain a ${slug}.php file`,\n\t\t);\n\t}\n\n\t/**\n\t * Checks if the current working directory contains a style.css file and is a theme\n\t */\n\ttry {\n\t\taccessSync(\n\t\t\tpath.join(currentWorkingDirectory, \"style.css\"),\n\t\t\tfs.constants.R_OK,\n\t\t);\n\t\treturn \"theme\";\n\t} catch (err) {\n\t\t// do nothing\n\t\tconsole.log(\n\t\t\t`the current working directory ${currentWorkingDirectory} does not contain a style.css file`,\n\t\t);\n\t}\n\n\t// If none of the above conditions are met, return \"generic\"\n\treturn \"generic\";\n}\n\n/**\n * Parses the command line arguments and returns an object with the parsed values.\n *\n * @param {{_: string[]}} args - The command line arguments to be parsed.\n * @return {object} - An object with the parsed values from the command line arguments.\n */\nexport function parseCliArgs(\n\targs: yargs.PositionalOptions & yargs.Options & yargs.Arguments,\n): Args {\n\t// Get the input and output paths\n\tconst pos1: string | undefined = args._[0]?.toString();\n\tconst pos2: string = args._[1]?.toString() || \"languages\";\n\n\tconst inputPath: string | undefined = pos1 ?? \".\";\n\t// remove \"/\" if the output path starts with it\n\tconst outputPath: string = pos2.startsWith(\"/\") ? pos2.slice(1) : pos2;\n\n\t// Store the current working directory\n\tconst currentWorkingDirectory = process.cwd();\n\n\t// Get the slug or use the basename of the current working directory\n\t// the slug is the plugin or theme slug. Defaults to the source directory\u2019s basename\n\tconst slug =\n\t\targs.slug && typeof args.slug === \"string\"\n\t\t\t? args.slug\n\t\t\t: path.basename(path.resolve(currentWorkingDirectory, inputPath));\n\n\t// Get the relative paths\n\tconst cwd = path.relative(currentWorkingDirectory, inputPath);\n\tconst out = path.relative(currentWorkingDirectory, outputPath);\n\n\t/** get the domain to look for (plugin, theme, etc) */\n\tif (!(args?.domain as DomainType)) {\n\t\targs.domain = isThemeOrPlugin(path.resolve(cwd), slug);\n\t} else {\n\t\tswitch (args.domain) {\n\t\t\tcase \"plugin\":\n\t\t\tcase \"theme\":\n\t\t\tcase \"block\":\n\t\t\tcase \"theme-block\":\n\t\t\t\tbreak;\n\t\t\tdefault:\n\t\t\t\tconsole.error(\n\t\t\t\t\t`Invalid domain: ${args.domain}. Valid domains are: plugin, theme, block, theme-block, generic`,\n\t\t\t\t);\n\t\t\t\t// fallback to generic if the domain is invalid\n\t\t\t\targs.domain = \"generic\";\n\t\t}\n\t}\n\n\tconst parsedArgs: Args = {\n\t\tslug: slug,\n\t\tdomain: args.domain as DomainType,\n\t\tpaths: { cwd: cwd, out: out },\n\t\toptions: {\n\t\t\tignoreDomain: !!args?.ignoreDomain,\n\t\t\tpackageName: String(args.packageName),\n\t\t\tsilent: args.silent === true, // default is false\n\t\t\tjson: !!args.json,\n\t\t\tlocation: !!args?.location,\n\t\t\toutput: !!args?.output,\n\t\t\tfileComment: args.fileComment ? String(args.fileComment) : undefined,\n\t\t\tcharset: getEncodingCharset(args?.charset as string | undefined),\n\t\t\tskip: {\n\t\t\t\tjs: !!args.skipJs,\n\t\t\t\tphp: !!args.skipPhp,\n\t\t\t\tblade: !!args.skipBlade,\n\t\t\t\tblockJson: !!args.skipBlockJson,\n\t\t\t\tthemeJson: !!args.skipThemeJson,\n\t\t\t\taudit: !!args.skipAudit,\n\t\t\t},\n\t\t},\n\t\t// Patterns\n\t\tpatterns: {\n\t\t\tmergePaths: stringstring(args.mergePaths as string),\n\t\t\tsubtractPaths: stringstring(args.subtractPaths as string),\n\t\t\tsubtractAndMerge: !!args.subtractAndMerge,\n\t\t\tinclude: stringstring(args.include as string),\n\t\t\texclude: [\n\t\t\t\t...stringstring(args.exclude as string),\n\t\t\t\t...DEFAULT_EXCLUDED_PATH,\n\t\t\t],\n\t\t},\n\t};\n\n\tparsedArgs.paths.root = args.root ? String(args.root) : undefined;\n\n\treturn parsedArgs;\n}\n\n/**\n * Parses the command line arguments for the JSON command.\n * @param args - The command line arguments to be parsed.\n */\nexport function parseJsonArgs(\n\targs: yargs.PositionalOptions & yargs.Options & yargs.Arguments,\n): MakeJsonArgs {\n\t// Get the input and output paths\n\tconst inputPath: string = (args._[0] as string) || \"build\";\n\tconst outputPath: string = (args._[1] as string) || \"languages\";\n\tconst currentWorkingDirectory = process.cwd();\n\tconst slug = path.basename(path.resolve(currentWorkingDirectory));\n\n\tlet scriptName = undefined;\n\tif (args.scriptName) {\n\t\tscriptName = args.scriptName.split(\",\").map((s) => s.trim());\n\t\tif (scriptName.length === 1) {\n\t\t\tscriptName = scriptName[0];\n\t\t}\n\t}\n\n\treturn {\n\t\ttimeStart: Date.now(),\n\t\tslug,\n\t\tsource: inputPath,\n\t\tdestination: outputPath,\n\t\tscriptName,\n\t\tallowedFormats: args.allowedFormats as string[],\n\t\tpurge: !!args.purge,\n\t\tprettyPrint: !!args.prettyPrint,\n\t\tdebug: !!args.debug,\n\t\tpaths: {\n\t\t\tcwd: currentWorkingDirectory,\n\t\t\tout: path.join(currentWorkingDirectory, outputPath),\n\t\t},\n\t};\n}\n"],
5
- "mappings": "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",
6
- "names": ["fs"]
7
- }
1
+ {"version":3,"file":"parseCli.js","sourceRoot":"","sources":["../../src/cli/parseCli.ts"],"names":[],"mappings":"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"}
package/lib/cli.js.map CHANGED
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/cli.ts"],
4
- "sourcesContent": ["#!/usr/bin/env node\n\nimport process from \"node:process\";\nimport * as yargs from \"yargs\";\nimport { hideBin } from \"yargs/helpers\";\nimport { getArgs } from \"./cli/getArgs.js\";\nimport { getJsonArgs } from \"./cli/getJsonArgs.js\";\nimport makeJsonCommand from \"./jsonCommand.js\";\nimport makepotCommand from \"./potCommand.js\";\nimport type { Args, MakeJsonArgs } from \"./types.js\";\n\n/** Main execution */\n// Get the selected command\nconst r = yargs\n\t.default(hideBin(process.argv))\n\t.options({\n\t\tmakejson: {\n\t\t\tdescribe: \"Make JSON file\",\n\t\t\ttype: \"boolean\",\n\t\t\tdefault: false,\n\t\t},\n\t})\n\t.parseSync() as { makejson: boolean };\n\n// Execute the command\nif (!r.makejson) {\n\tmakepotCommand(getArgs() as Args);\n} else {\n\tmakeJsonCommand(getJsonArgs() as MakeJsonArgs);\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;AAEA,0BAAoB;AACpB,YAAuB;AACvB,qBAAwB;AACxB,qBAAwB;AACxB,yBAA4B;AAC5B,yBAA4B;AAC5B,wBAA2B;AAK3B,MAAM,IAAI,MACR,YAAQ,wBAAQ,oBAAAA,QAAQ,IAAI,CAAC,EAC7B,QAAQ;AAAA,EACR,UAAU;AAAA,IACT,UAAU;AAAA,IACV,MAAM;AAAA,IACN,SAAS;AAAA,EACV;AACD,CAAC,EACA,UAAU;AAGZ,IAAI,CAAC,EAAE,UAAU;AAChB,wBAAAC,aAAe,wBAAQ,CAAS;AACjC,OAAO;AACN,yBAAAC,aAAgB,gCAAY,CAAiB;AAC9C;",
6
- "names": ["process", "makepotCommand", "makeJsonCommand"]
7
- }
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,gEAAmC;AACnC,6CAA+B;AAC/B,2CAAwC;AACxC,iDAA2C;AAC3C,yDAAmD;AACnD,sEAA+C;AAC/C,oEAA6C;AAG7C,qBAAqB;AACrB,2BAA2B;AAC3B,MAAM,CAAC,GAAG,KAAK;KACb,OAAO,CAAC,IAAA,iBAAO,EAAC,sBAAO,CAAC,IAAI,CAAC,CAAC;KAC9B,OAAO,CAAC;IACR,QAAQ,EAAE;QACT,QAAQ,EAAE,gBAAgB;QAC1B,IAAI,EAAE,SAAS;QACf,OAAO,EAAE,KAAK;KACd;CACD,CAAC;KACD,SAAS,EAA2B,CAAC;AAEvC,sBAAsB;AACtB,IAAI,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACjB,IAAA,uBAAc,EAAC,IAAA,oBAAO,GAAU,CAAC,CAAC;AACnC,CAAC;KAAM,CAAC;IACP,IAAA,wBAAe,EAAC,IAAA,4BAAW,GAAkB,CAAC,CAAC;AAChD,CAAC"}
package/lib/const.js CHANGED
@@ -1 +1 @@
1
- "use strict";var r=Object.create;var _=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var m in e)_(t,m,{get:e[m],enumerable:!0})},d=(t,e,m,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of p(e))!u.call(t,s)&&s!==m&&_(t,s,{get:()=>e[s],enumerable:!(i=c(e,s))||i.enumerable});return t};var o=(t,e,m)=>(m=t!=null?r(l(t)):{},d(e||!t||!t.__esModule?_(m,"default",{value:t,enumerable:!0}):m,t)),h=t=>d(_({},"__esModule",{value:!0}),t);var P={};f(P,{DEFAULT_EXCLUDED_PATH:()=>H,IsoCodeRegex:()=>k,allowedFormats:()=>E,defaultLocale:()=>D,fileRegex:()=>A,i18nFunctions:()=>F,modulePath:()=>L,pkgJsonHeaders:()=>j,pluginHeaders:()=>b,themeHeaders:()=>w});module.exports=h(P);var n=o(require("node:path")),x=o(require("./assets/package-i18n.js")),a=o(require("./assets/wp-plugin-i18n.js")),g=o(require("./assets/wp-theme-i18n.js"));const j=x.default,b=a.default,w=g.default,H=[".git","node_modules","vendor","build","dist","uploads","Gruntfile.js","webpack.config.js","**/*.min.js","tsconfig.js","**.test.**","tests"],k=/-([a-z]{2}_[A-Z]{2})\.po$/,A=/#:\s*(.*?)(?::\d+)?$/,D="en_US",E=["php","js","jsx","ts","tsx","mjs","cjs"],F={__:["msgid","text_domain"],esc_attr__:["msgid","text_domain"],esc_html__:["msgid","text_domain"],esc_xml__:["msgid","text_domain"],_e:["msgid","text_domain"],esc_attr_e:["msgid","text_domain"],esc_html_e:["msgid","text_domain"],esc_xml_e:["msgid","text_domain"],_x:["msgid","msgctxt","text_domain"],_ex:["msgid","msgctxt","text_domain"],esc_attr_x:["msgid","msgctxt","text_domain"],esc_html_x:["msgid","msgctxt","text_domain"],esc_xml_x:["msgid","msgctxt","text_domain"],_n:["msgid","msgid_plural","number","text_domain"],_nx:["msgid","msgid_plural","number","msgctxt","text_domain"],_n_noop:["msgid","msgid_plural","text_domain"],_nx_noop:["msgid","msgid_plural","msgctxt","text_domain"],_:["msgid","text_domain"],_c:["msgid","text_domain"],_nc:["msgid","msgid_plural","number","text_domain"],__ngettext:["msgid","msgid_plural","number","text_domain"],__ngettext_noop:["msgid","msgid_plural","text_domain"]},L=n.default.resolve(__dirname,"..");0&&(module.exports={DEFAULT_EXCLUDED_PATH,IsoCodeRegex,allowedFormats,defaultLocale,fileRegex,i18nFunctions,modulePath,pkgJsonHeaders,pluginHeaders,themeHeaders});
1
+ "use strict";var r=Object.create;var _=Object.defineProperty;var c=Object.getOwnPropertyDescriptor;var p=Object.getOwnPropertyNames;var l=Object.getPrototypeOf,u=Object.prototype.hasOwnProperty;var f=(t,e)=>{for(var m in e)_(t,m,{get:e[m],enumerable:!0})},n=(t,e,m,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of p(e))!u.call(t,s)&&s!==m&&_(t,s,{get:()=>e[s],enumerable:!(i=c(e,s))||i.enumerable});return t};var o=(t,e,m)=>(m=t!=null?r(l(t)):{},n(e||!t||!t.__esModule?_(m,"default",{value:t,enumerable:!0}):m,t)),h=t=>n(_({},"__esModule",{value:!0}),t);var T={};f(T,{DEFAULT_EXCLUDED_PATH:()=>F,IsoCodeRegex:()=>H,allowedFormats:()=>D,allowedFunctions:()=>E,defaultLocale:()=>A,fileRegex:()=>k,i18nFunctions:()=>L,modulePath:()=>P,pkgJsonHeaders:()=>j,pluginHeaders:()=>b,themeHeaders:()=>w});module.exports=h(T);var d=o(require("node:path")),x=o(require("./assets/package-i18n.js")),a=o(require("./assets/wp-plugin-i18n.js")),g=o(require("./assets/wp-theme-i18n.js"));const j=x.default,b=a.default,w=g.default,F=[".git","node_modules","vendor","build","dist","uploads","Gruntfile.js","webpack.config.js","**/*.min.js","tsconfig.js","**.test.**","tests"],H=/-([a-z]{2}_[A-Z]{2})\.po$/,k=/#:\s*(.*?)(?::\d+)?$/,A="en_US",D=["php","js","jsx","ts","tsx","mjs","cjs"],E=new Set(["__","_x","_n","_nx"]),L={__:["msgid","text_domain"],esc_attr__:["msgid","text_domain"],esc_html__:["msgid","text_domain"],esc_xml__:["msgid","text_domain"],_e:["msgid","text_domain"],esc_attr_e:["msgid","text_domain"],esc_html_e:["msgid","text_domain"],esc_xml_e:["msgid","text_domain"],_x:["msgid","msgctxt","text_domain"],_ex:["msgid","msgctxt","text_domain"],esc_attr_x:["msgid","msgctxt","text_domain"],esc_html_x:["msgid","msgctxt","text_domain"],esc_xml_x:["msgid","msgctxt","text_domain"],_n:["msgid","msgid_plural","number","text_domain"],_nx:["msgid","msgid_plural","number","msgctxt","text_domain"],_n_noop:["msgid","msgid_plural","text_domain"],_nx_noop:["msgid","msgid_plural","msgctxt","text_domain"],_:["msgid","text_domain"],_c:["msgid","text_domain"],_nc:["msgid","msgid_plural","number","text_domain"],__ngettext:["msgid","msgid_plural","number","text_domain"],__ngettext_noop:["msgid","msgid_plural","text_domain"]},P=d.default.resolve(__dirname,"..");0&&(module.exports={DEFAULT_EXCLUDED_PATH,IsoCodeRegex,allowedFormats,allowedFunctions,defaultLocale,fileRegex,i18nFunctions,modulePath,pkgJsonHeaders,pluginHeaders,themeHeaders});
package/lib/const.js.map CHANGED
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../src/const.ts"],
4
- "sourcesContent": ["import path from \"node:path\";\nimport packagei18n from \"./assets/package-i18n.js\";\nimport wpPlugini18n from \"./assets/wp-plugin-i18n.js\";\nimport wpThemei18n from \"./assets/wp-theme-i18n.js\";\n\n/**\n * Theme Json metadata headers\n *\n */\nexport const pkgJsonHeaders = packagei18n;\n/**\n * The Plugin metadata headers\n * @link https://codex.wordpress.org/File_Header\n */\nexport const pluginHeaders = wpPlugini18n;\n/**\n * The Theme metadata headers\n * @link https://developer.wordpress.org/plugins/plugin-basics/header-requirements/\n */\nexport const themeHeaders = wpThemei18n;\n\n/**\n * The default list of paths to exclude from the pot file.\n * @link https://www.npmjs.com/package/glob#glob-primer\n */\nexport const DEFAULT_EXCLUDED_PATH = [\n\t\".git\",\n\t\"node_modules\",\n\t\"vendor\",\n\t\"build\",\n\t\"dist\",\n\t\"uploads\",\n\t\"Gruntfile.js\",\n\t\"webpack.config.js\",\n\t\"**/*.min.js\",\n\t\"tsconfig.js\",\n\t\"**.test.**\",\n\t\"tests\",\n];\n\n/**\n * The regex used to find the locale in the source code\n */\nexport const IsoCodeRegex = /-([a-z]{2}_[A-Z]{2})\\.po$/;\n\n/**\n * The regex used to find the filename in the source code\n */\nexport const fileRegex = /#:\\s*(.*?)(?::\\d+)?$/;\n\nexport const defaultLocale = \"en_US\";\n\n/**\n * The files that are allowed to be parsed using tree sitter\n *\n * Json and text files are parsed in a different way\n */\nexport const allowedFormats = [\"php\", \"js\", \"jsx\", \"ts\", \"tsx\", \"mjs\", \"cjs\"];\n\n/**\n * The default functions to use for i18n.\n */\nexport const i18nFunctions = {\n\t__: [\"msgid\", \"text_domain\"],\n\tesc_attr__: [\"msgid\", \"text_domain\"],\n\tesc_html__: [\"msgid\", \"text_domain\"],\n\tesc_xml__: [\"msgid\", \"text_domain\"],\n\t_e: [\"msgid\", \"text_domain\"],\n\tesc_attr_e: [\"msgid\", \"text_domain\"],\n\tesc_html_e: [\"msgid\", \"text_domain\"],\n\tesc_xml_e: [\"msgid\", \"text_domain\"],\n\t_x: [\"msgid\", \"msgctxt\", \"text_domain\"],\n\t_ex: [\"msgid\", \"msgctxt\", \"text_domain\"],\n\tesc_attr_x: [\"msgid\", \"msgctxt\", \"text_domain\"],\n\tesc_html_x: [\"msgid\", \"msgctxt\", \"text_domain\"],\n\tesc_xml_x: [\"msgid\", \"msgctxt\", \"text_domain\"],\n\t_n: [\"msgid\", \"msgid_plural\", \"number\", \"text_domain\"],\n\t_nx: [\"msgid\", \"msgid_plural\", \"number\", \"msgctxt\", \"text_domain\"],\n\t_n_noop: [\"msgid\", \"msgid_plural\", \"text_domain\"],\n\t_nx_noop: [\"msgid\", \"msgid_plural\", \"msgctxt\", \"text_domain\"],\n\n\t// Compat.\n\t_: [\"msgid\", \"text_domain\"],\n\n\t// Deprecated.\n\t_c: [\"msgid\", \"text_domain\"],\n\t_nc: [\"msgid\", \"msgid_plural\", \"number\", \"text_domain\"],\n\t__ngettext: [\"msgid\", \"msgid_plural\", \"number\", \"text_domain\"],\n\t__ngettext_noop: [\"msgid\", \"msgid_plural\", \"text_domain\"],\n};\n\n/**\n * @var modulePath The path to the module folder containing this file\n */\nexport const modulePath = path.resolve(__dirname, \"..\");\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAiB;AACjB,0BAAwB;AACxB,4BAAyB;AACzB,2BAAwB;AAMjB,MAAM,iBAAiB,oBAAAA;AAKvB,MAAM,gBAAgB,sBAAAC;AAKtB,MAAM,eAAe,qBAAAC;AAMrB,MAAM,wBAAwB;AAAA,EACpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACD;AAKO,MAAM,eAAe;AAKrB,MAAM,YAAY;AAElB,MAAM,gBAAgB;AAOtB,MAAM,iBAAiB,CAAC,OAAO,MAAM,OAAO,MAAM,OAAO,OAAO,KAAK;AAKrE,MAAM,gBAAgB;AAAA,EAC5B,IAAI,CAAC,SAAS,aAAa;AAAA,EAC3B,YAAY,CAAC,SAAS,aAAa;AAAA,EACnC,YAAY,CAAC,SAAS,aAAa;AAAA,EACnC,WAAW,CAAC,SAAS,aAAa;AAAA,EAClC,IAAI,CAAC,SAAS,aAAa;AAAA,EAC3B,YAAY,CAAC,SAAS,aAAa;AAAA,EACnC,YAAY,CAAC,SAAS,aAAa;AAAA,EACnC,WAAW,CAAC,SAAS,aAAa;AAAA,EAClC,IAAI,CAAC,SAAS,WAAW,aAAa;AAAA,EACtC,KAAK,CAAC,SAAS,WAAW,aAAa;AAAA,EACvC,YAAY,CAAC,SAAS,WAAW,aAAa;AAAA,EAC9C,YAAY,CAAC,SAAS,WAAW,aAAa;AAAA,EAC9C,WAAW,CAAC,SAAS,WAAW,aAAa;AAAA,EAC7C,IAAI,CAAC,SAAS,gBAAgB,UAAU,aAAa;AAAA,EACrD,KAAK,CAAC,SAAS,gBAAgB,UAAU,WAAW,aAAa;AAAA,EACjE,SAAS,CAAC,SAAS,gBAAgB,aAAa;AAAA,EAChD,UAAU,CAAC,SAAS,gBAAgB,WAAW,aAAa;AAAA;AAAA,EAG5D,GAAG,CAAC,SAAS,aAAa;AAAA;AAAA,EAG1B,IAAI,CAAC,SAAS,aAAa;AAAA,EAC3B,KAAK,CAAC,SAAS,gBAAgB,UAAU,aAAa;AAAA,EACtD,YAAY,CAAC,SAAS,gBAAgB,UAAU,aAAa;AAAA,EAC7D,iBAAiB,CAAC,SAAS,gBAAgB,aAAa;AACzD;AAKO,MAAM,aAAa,iBAAAC,QAAK,QAAQ,WAAW,IAAI;",
6
- "names": ["packagei18n", "wpPlugini18n", "wpThemei18n", "path"]
7
- }
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA6B;AAC7B,+EAAmD;AACnD,mFAAsD;AACtD,iFAAoD;AAEpD;;;GAGG;AACU,QAAA,cAAc,GAAG,yBAAW,CAAC;AAC1C;;;GAGG;AACU,QAAA,aAAa,GAAG,2BAAY,CAAC;AAC1C;;;GAGG;AACU,QAAA,YAAY,GAAG,0BAAW,CAAC;AAExC;;;GAGG;AACU,QAAA,qBAAqB,GAAG;IACpC,MAAM;IACN,cAAc;IACd,QAAQ;IACR,OAAO;IACP,MAAM;IACN,SAAS;IACT,cAAc;IACd,mBAAmB;IACnB,aAAa;IACb,aAAa;IACb,YAAY;IACZ,OAAO;CACP,CAAC;AAEF;;GAEG;AACU,QAAA,YAAY,GAAG,2BAA2B,CAAC;AAExD;;GAEG;AACU,QAAA,SAAS,GAAG,sBAAsB,CAAC;AAEnC,QAAA,aAAa,GAAG,OAAO,CAAC;AAErC;;;;GAIG;AACU,QAAA,cAAc,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAE9E;;GAEG;AACU,QAAA,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC;AAEnE;;GAEG;AACU,QAAA,aAAa,GAAG;IAC5B,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IACpC,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IACpC,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IACnC,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IAC5B,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IACpC,UAAU,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IACpC,SAAS,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IACnC,EAAE,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;IACvC,GAAG,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;IACxC,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;IAC/C,UAAU,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;IAC/C,SAAS,EAAE,CAAC,OAAO,EAAE,SAAS,EAAE,aAAa,CAAC;IAC9C,EAAE,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,CAAC;IACtD,GAAG,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,aAAa,CAAC;IAClE,OAAO,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC;IACjD,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,SAAS,EAAE,aAAa,CAAC;IAE7D,UAAU;IACV,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IAE3B,cAAc;IACd,EAAE,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IAC5B,GAAG,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,CAAC;IACvD,UAAU,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,CAAC;IAC9D,eAAe,EAAE,CAAC,OAAO,EAAE,cAAc,EAAE,aAAa,CAAC;CACzD,CAAC;AAEF;;GAEG;AACU,QAAA,UAAU,GAAG,mBAAI,CAAC,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ "use strict";var p=Object.create;var c=Object.defineProperty;var f=Object.getOwnPropertyDescriptor;var R=Object.getOwnPropertyNames;var E=Object.getPrototypeOf,P=Object.prototype.hasOwnProperty;var S=(t,s)=>{for(var e in s)c(t,e,{get:s[e],enumerable:!0})},g=(t,s,e,o)=>{if(s&&typeof s=="object"||typeof s=="function")for(let r of R(s))!P.call(t,r)&&r!==e&&c(t,r,{get:()=>s[r],enumerable:!(o=f(s,r))||o.enumerable});return t};var _=(t,s,e)=>(e=t!=null?p(E(t)):{},g(s||!t||!t.__esModule?c(e,"default",{value:t,enumerable:!0}):e,t)),D=t=>g(c({},"__esModule",{value:!0}),t);var $={};S($,{audit:()=>T,default:()=>L});module.exports=D($);var u=require("node:fs"),d=_(require("node:path"));function T(t,s){const e=new m(t.domain);if(e.auditStrings(s.blocks),console.log(`
2
+ Audit Complete!`),e.getResults().length===0){console.log("No issues found! \u{1F389}");try{(0,u.unlinkSync)(d.default.join(t.paths.cwd,"audit.log"))}catch{}}else{console.log(`Found ${e.getResults().length} issues!`);const o=e.getResults().join(`
3
+ `);console.log(o),(0,u.writeFileSync)(d.default.join(t.paths.cwd,"audit.log"),o)}}class m{SPRINTF_PLACEHOLDER_REGEX=/%(?:\d+\$)?[+-]?(?:[ 0]|\'.)?-?\d*(?:\.\d+)?[bcdeEfFgGhHosuxX]/g;UNORDERED_SPRINTF_PLACEHOLDER_REGEX=/%(?!(\d+)\$)[+-]?(?:[ 0]|\'.)?-?\d*(?:\.\d+)?[bcdeEfFgGhHosuxX]/g;projectType;results=[];constructor(s){this.projectType=s}getFileHeaders(s){return{plugin:["Plugin Name:","Plugin URI:","Description:","Author:","Author URI:","Version:","Text Domain:","Domain Path:","Network:","Requires at least:","Requires PHP:"],theme:["Theme Name:","Theme URI:","Author:","Author URI:","Description:","Version:","License:","License URI:","Text Domain:","Domain Path:","Tags:","Requires at least:","Requires PHP:"]}[s]||[]}auditStrings(s){for(const e of s){const o=e.comments?.reference||[],r=o.length>0?`(${o[0]})`:"";if(!e.msgid)continue;if((!e.comments?.extracted||e.comments.extracted.length===0)&&(e.msgid.match(this.SPRINTF_PLACEHOLDER_REGEX)||[]).length>=1){const n=`The string "${e.msgid}" contains placeholders but has no "translators:" comment to clarify their meaning. ${r}`;this.results.push(n)}if(e.comments?.extracted&&e.comments.extracted.length>0){let n=e.comments.extracted;n=n.filter(i=>{for(const h of this.getFileHeaders(this.projectType))if(i.startsWith(h))return!1;return!0});const a=[];n=n.filter(i=>a.includes(i)?!1:(a.push(i),!0));const l=n.length;if(l>1){const i=`The string "${e.msgid}" has ${l} different translator comments. ${r}
4
+ ${n.join(`
5
+ `)}`;this.results.push(i)}}if(e.msgid.trim().replace(/^(['"])(.*)\1$/s,"$2").replace(this.SPRINTF_PLACEHOLDER_REGEX,"")===""){const n=`Found string without translatable content. ${r}`;this.results.push(n)}if((e.msgid.match(this.UNORDERED_SPRINTF_PLACEHOLDER_REGEX)||[]).length>=2){const n=`Multiple placeholders should be ordered. ${r}`;this.results.push(n)}if(e.msgid_plural){const n=e.msgid.match(this.SPRINTF_PLACEHOLDER_REGEX)||[],a=e.msgid_plural.match(this.SPRINTF_PLACEHOLDER_REGEX)||[];if(n.length<a.length){const l=`Missing singular placeholder, needed for some languages. See https://developer.wordpress.org/plugins/internationalization/how-to-internationalize-your-plugin/#plurals ${r}`;this.results.push(l)}else{const l=[...n].sort(),i=[...a].sort();if(JSON.stringify(l)!==JSON.stringify(i)){const h=`Mismatched placeholders for singular and plural string. ${r}`;this.results.push(h)}}}}}getResults(){return this.results}}var L=m;0&&(module.exports={audit});
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auditStrings.js","sourceRoot":"","sources":["../../src/extractors/auditStrings.ts"],"names":[],"mappings":";;;;;AAKA,sBAsBC;AA3BD,qCAAoD;AACpD,0DAA6B;AAI7B,SAAgB,KAAK,CAAC,IAAU,EAAE,iBAA8B;IAC/D,4BAA4B;IAC5B,MAAM,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC/C,OAAO,CAAC,YAAY,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE/C,qDAAqD;IACrD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;IACjC,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;QACnC,0DAA0D;QAC1D,IAAI,CAAC;YACJ,IAAA,oBAAU,EAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,QAAQ;QACT,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,SAAS,OAAO,CAAC,UAAU,EAAE,CAAC,MAAM,UAAU,CAAC,CAAC;QAC5D,MAAM,OAAO,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;QACrB,wCAAwC;QACxC,IAAA,uBAAa,EAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,WAAW,CAAC,EAAE,OAAO,CAAC,CAAC;IAChE,CAAC;AACF,CAAC;AAED;;;;;;GAMG;AACH,MAAM,aAAa;IACD,yBAAyB,GACzC,iEAAiE,CAAC;IAClD,mCAAmC,GACnD,kEAAkE,CAAC;IAC5D,WAAW,CAAS;IAE5B;;OAEG;IACI,OAAO,GAAa,EAAE,CAAC;IAE9B,YAAY,WAAmB;QAC9B,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;IAChC,CAAC;IAEO,cAAc,CAAC,WAAmB;QACzC,uCAAuC;QACvC,kEAAkE;QAClE,MAAM,OAAO,GAA6B;YACzC,MAAM,EAAE;gBACP,cAAc;gBACd,aAAa;gBACb,cAAc;gBACd,SAAS;gBACT,aAAa;gBACb,UAAU;gBACV,cAAc;gBACd,cAAc;gBACd,UAAU;gBACV,oBAAoB;gBACpB,eAAe;aACf;YACD,KAAK,EAAE;gBACN,aAAa;gBACb,YAAY;gBACZ,SAAS;gBACT,aAAa;gBACb,cAAc;gBACd,UAAU;gBACV,UAAU;gBACV,cAAc;gBACd,cAAc;gBACd,cAAc;gBACd,OAAO;gBACP,oBAAoB;gBACpB,eAAe;aACf;SACD,CAAC;QAEF,OAAO,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAED,YAAY,CAAC,YAAqB;QACjC,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;YACxC,MAAM,UAAU,GAAG,WAAW,CAAC,QAAQ,EAAE,SAAS,IAAI,EAAE,CAAC;YAEzD,8CAA8C;YAC9C,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YAEnE,oGAAoG;YACpG,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;gBACxB,SAAS;YACV,CAAC;YAED,+EAA+E;YAC/E,IACC,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,SAAS;gBAChC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC,CAAC;gBAC7C,CAAC,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;qBAC7D,MAAM,IAAI,CAAC,EACZ,CAAC;gBACF,MAAM,OAAO,GAAG,eAAe,WAAW,CAAC,KAAK,uFAAuF,QAAQ,EAAE,CAAC;gBAClJ,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAED,2DAA2D;YAC3D,IACC,WAAW,CAAC,QAAQ,EAAE,SAAS;gBAC/B,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,EACxC,CAAC;gBACF,IAAI,QAAQ,GAAG,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC;gBAE9C,iDAAiD;gBACjD,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;oBACtC,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;wBAChE,IAAI,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;4BACpC,OAAO,KAAK,CAAC;wBACd,CAAC;oBACF,CAAC;oBACD,OAAO,IAAI,CAAC;gBACb,CAAC,CAAC,CAAC;gBAEH,MAAM,cAAc,GAAa,EAAE,CAAC;gBAEpC,4BAA4B;gBAC5B,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE;oBACtC,IAAI,cAAc,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,CAAC;wBACtC,OAAO,KAAK,CAAC;oBACd,CAAC;oBACD,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC7B,OAAO,IAAI,CAAC;gBACb,CAAC,CAAC,CAAC;gBAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM,CAAC;gBAEtC,IAAI,aAAa,GAAG,CAAC,EAAE,CAAC;oBACvB,MAAM,OAAO,GAAG,eAAe,WAAW,CAAC,KAAK,SAAS,aAAa,mCAAmC,QAAQ,KAAK,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;oBAC5I,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;YACF,CAAC;YAED,kDAAkD;YAClD,MAAM,qBAAqB,GAAG,WAAW,CAAC,KAAK;iBAC7C,IAAI,EAAE;iBACN,OAAO,CAAC,iBAAiB,EAAE,IAAI,CAAC;iBAChC,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,CAAC,CAAC;YAE9C,+DAA+D;YAC/D,IAAI,qBAAqB,KAAK,EAAE,EAAE,CAAC;gBAClC,MAAM,OAAO,GAAG,8CAA8C,QAAQ,EAAE,CAAC;gBACzE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAED,2FAA2F;YAC3F,MAAM,gBAAgB,GACrB,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,mCAAmC,CAAC,IAAI,EAAE,CAAC;YACzE,MAAM,qBAAqB,GAAG,gBAAgB,CAAC,MAAM,CAAC;YAEtD,IAAI,qBAAqB,IAAI,CAAC,EAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,4CAA4C,QAAQ,EAAE,CAAC;gBACvE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YAC5B,CAAC;YAED,IAAI,WAAW,CAAC,YAAY,EAAE,CAAC;gBAC9B,MAAM,kBAAkB,GACvB,WAAW,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;gBAC/D,MAAM,kBAAkB,GACvB,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,yBAAyB,CAAC,IAAI,EAAE,CAAC;gBAEtE,gHAAgH;gBAChH,IAAI,kBAAkB,CAAC,MAAM,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC;oBAC3D,6DAA6D;oBAC7D,MAAM,OAAO,GAAG,0KAA0K,QAAQ,EAAE,CAAC;oBACrM,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;gBAC5B,CAAC;qBAAM,CAAC;oBACP,oEAAoE;oBACpE,MAAM,wBAAwB,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChE,MAAM,wBAAwB,GAAG,CAAC,GAAG,kBAAkB,CAAC,CAAC,IAAI,EAAE,CAAC;oBAEhE,sEAAsE;oBACtE,IACC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC;wBACxC,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,EACvC,CAAC;wBACF,MAAM,OAAO,GAAG,2DAA2D,QAAQ,EAAE,CAAC;wBACtF,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC5B,CAAC;gBACF,CAAC;YACF,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;OAGG;IACI,UAAU;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC;IACrB,CAAC;CACD;AAED,kBAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- "use strict";var x=Object.create;var i=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var B=(e,t)=>{for(var o in t)i(e,o,{get:t[o],enumerable:!0})},l=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of T(t))!k.call(e,n)&&n!==o&&i(e,n,{get:()=>t[n],enumerable:!(r=C(t,n))||r.enumerable});return e};var a=(e,t,o)=>(o=e!=null?x(j(e)):{},l(t||!e||!e.__esModule?i(o,"default",{value:e,enumerable:!0}):o,e)),D=e=>l(i({},"__esModule",{value:!0}),e);var R={};B(R,{extractCssThemeData:()=>F});module.exports=D(R);var m=a(require("node:fs")),d=a(require("node:path")),h=require("../const.js"),p=require("../utils/common.js"),g=require("../utils/extractors.js"),y=require("./text.js");function F(e,t="style.css"){let o={};const r=d.default.join(e.paths.cwd,t);if(m.default.existsSync(r)){const n=m.default.readFileSync(r,"utf8"),u=(0,p.getCommentBlock)(n);if(o=(0,y.extractFileData)(u),"Theme Name"in o){console.log(`\u{1F535} Theme stylesheet detected. ${r}`),e.domain="theme";const c={};for(const s of Object.entries(o))if(s?.[0]&&s[1]){const f=(0,g.getKeyByValue)(h.themeHeaders,s[0].trim());if(f===void 0)continue;c[f]=s[1].trim()}return c}}else console.log(`Theme stylesheet not found in ${r}`);return{}}0&&(module.exports={extractCssThemeData});
1
+ "use strict";var x=Object.create;var i=Object.defineProperty;var C=Object.getOwnPropertyDescriptor;var T=Object.getOwnPropertyNames;var j=Object.getPrototypeOf,k=Object.prototype.hasOwnProperty;var B=(e,t)=>{for(var o in t)i(e,o,{get:t[o],enumerable:!0})},l=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of T(t))!k.call(e,n)&&n!==o&&i(e,n,{get:()=>t[n],enumerable:!(r=C(t,n))||r.enumerable});return e};var a=(e,t,o)=>(o=e!=null?x(j(e)):{},l(t||!e||!e.__esModule?i(o,"default",{value:e,enumerable:!0}):o,e)),D=e=>l(i({},"__esModule",{value:!0}),e);var R={};B(R,{extractCssThemeData:()=>F});module.exports=D(R);var m=a(require("node:fs")),d=a(require("node:path")),h=require("../const.js"),p=require("../utils/common.js"),g=require("../utils/extractors.js"),y=require("./text.js");function F(e,t="style.css"){let o={};const r=d.default.join(e.paths.cwd,t);if(m.default.existsSync(r)){const n=m.default.readFileSync(r,"utf8"),u=(0,p.getCommentBlock)(n);if(o=(0,y.extractFileData)(u),"Theme Name"in o){console.log(`\u{1F535} Theme stylesheet detected. (${r})`),e.domain="theme";const c={};for(const s of Object.entries(o))if(s?.[0]&&s[1]){const f=(0,g.getKeyByValue)(h.themeHeaders,s[0].trim());if(f===void 0)continue;c[f]=s[1].trim()}return c}}else console.log(`Theme stylesheet not found in ${r}`);return{}}0&&(module.exports={extractCssThemeData});
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extractors/css.ts"],
4
- "sourcesContent": ["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { themeHeaders } from \"../const.js\";\nimport type { Args } from \"../types.js\";\nimport { getCommentBlock } from \"../utils/common.js\";\nimport { getKeyByValue } from \"../utils/extractors.js\";\nimport { extractFileData } from \"./text.js\";\n\n/**\n * Extracts the theme data from the style.css file.\n * @param args - The command line arguments.\n * @param filename - The name of the style.css file.\n */\nexport function extractCssThemeData(\n\targs: Args,\n\tfilename = \"style.css\",\n): Record<string, string> {\n\tlet fileData: Record<string, string> = {};\n\tconst styleCssFile = path.join(args.paths.cwd, filename);\n\n\tif (fs.existsSync(styleCssFile)) {\n\t\tconst fileContent = fs.readFileSync(styleCssFile, \"utf8\");\n\t\tconst commentBlock = getCommentBlock(fileContent);\n\t\tfileData = extractFileData(commentBlock);\n\n\t\tif (\"Theme Name\" in fileData) {\n\t\t\tconsole.log(`\uD83D\uDD35 Theme stylesheet detected. ${styleCssFile}`);\n\t\t\targs.domain = \"theme\";\n\n\t\t\tconst themeInfo: Record<string, string> = {};\n\n\t\t\t// Loop through the theme headers and extract the values with the required format\n\t\t\tfor (const keyValueMatch of Object.entries(fileData)) {\n\t\t\t\t// Check if the line matches the expected format\n\t\t\t\tif (keyValueMatch?.[0] && keyValueMatch[1]) {\n\t\t\t\t\t// filter the retrieved headers\n\t\t\t\t\tconst header = getKeyByValue(themeHeaders, keyValueMatch[0].trim());\n\t\t\t\t\tif (header === undefined) continue;\n\t\t\t\t\tthemeInfo[header] = keyValueMatch[1].trim();\n\t\t\t\t}\n\t\t\t}\n\n\t\t\treturn themeInfo;\n\t\t}\n\t} else {\n\t\tconsole.log(`Theme stylesheet not found in ${styleCssFile}`);\n\t}\n\treturn {};\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAe;AACf,uBAAiB;AACjB,mBAA6B;AAE7B,oBAAgC;AAChC,wBAA8B;AAC9B,kBAAgC;AAOzB,SAAS,oBACf,MACA,WAAW,aACc;AACzB,MAAI,WAAmC,CAAC;AACxC,QAAM,eAAe,iBAAAA,QAAK,KAAK,KAAK,MAAM,KAAK,QAAQ;AAEvD,MAAI,eAAAC,QAAG,WAAW,YAAY,GAAG;AAChC,UAAM,cAAc,eAAAA,QAAG,aAAa,cAAc,MAAM;AACxD,UAAM,mBAAe,+BAAgB,WAAW;AAChD,mBAAW,6BAAgB,YAAY;AAEvC,QAAI,gBAAgB,UAAU;AAC7B,cAAQ,IAAI,wCAAiC,YAAY,EAAE;AAC3D,WAAK,SAAS;AAEd,YAAM,YAAoC,CAAC;AAG3C,iBAAW,iBAAiB,OAAO,QAAQ,QAAQ,GAAG;AAErD,YAAI,gBAAgB,CAAC,KAAK,cAAc,CAAC,GAAG;AAE3C,gBAAM,aAAS,iCAAc,2BAAc,cAAc,CAAC,EAAE,KAAK,CAAC;AAClE,cAAI,WAAW,OAAW;AAC1B,oBAAU,MAAM,IAAI,cAAc,CAAC,EAAE,KAAK;AAAA,QAC3C;AAAA,MACD;AAEA,aAAO;AAAA,IACR;AAAA,EACD,OAAO;AACN,YAAQ,IAAI,iCAAiC,YAAY,EAAE;AAAA,EAC5D;AACA,SAAO,CAAC;AACT;",
6
- "names": ["path", "fs"]
7
- }
1
+ {"version":3,"file":"css.js","sourceRoot":"","sources":["../../src/extractors/css.ts"],"names":[],"mappings":";;;;;AAaA,kDAmCC;AAhDD,sDAAyB;AACzB,0DAA6B;AAC7B,0CAA2C;AAE3C,kDAAqD;AACrD,0DAAuD;AACvD,uCAA4C;AAE5C;;;;GAIG;AACH,SAAgB,mBAAmB,CAClC,IAAU,EACV,QAAQ,GAAG,WAAW;IAEtB,IAAI,QAAQ,GAA2B,EAAE,CAAC;IAC1C,MAAM,YAAY,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,iBAAE,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QACjC,MAAM,WAAW,GAAG,iBAAE,CAAC,YAAY,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;QAC1D,MAAM,YAAY,GAAG,IAAA,2BAAe,EAAC,WAAW,CAAC,CAAC;QAClD,QAAQ,GAAG,IAAA,yBAAe,EAAC,YAAY,CAAC,CAAC;QAEzC,IAAI,YAAY,IAAI,QAAQ,EAAE,CAAC;YAC9B,OAAO,CAAC,GAAG,CAAC,kCAAkC,YAAY,GAAG,CAAC,CAAC;YAC/D,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;YAEtB,MAAM,SAAS,GAA2B,EAAE,CAAC;YAE7C,iFAAiF;YACjF,KAAK,MAAM,aAAa,IAAI,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACtD,gDAAgD;gBAChD,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;oBAC5C,+BAA+B;oBAC/B,MAAM,MAAM,GAAG,IAAA,6BAAa,EAAC,uBAAY,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;oBACpE,IAAI,MAAM,KAAK,SAAS;wBAAE,SAAS;oBACnC,SAAS,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC7C,CAAC;YACF,CAAC;YAED,OAAO,SAAS,CAAC;QAClB,CAAC;IACF,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,iCAAiC,YAAY,EAAE,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC"}
@@ -1,6 +1,14 @@
1
- "use strict";var P=Object.create;var c=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var I=Object.getOwnPropertyNames;var H=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var O=(e,t)=>{for(var n in t)c(e,n,{get:t[n],enumerable:!0})},h=(e,t,n,o)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of I(t))!M.call(e,r)&&r!==n&&c(e,r,{get:()=>t[r],enumerable:!(o=T(t,r))||o.enumerable});return e};var $=(e,t,n)=>(n=e!=null?P(H(e)):{},h(t||!e||!e.__esModule?c(n,"default",{value:e,enumerable:!0}):n,e)),w=e=>h(c({},"__esModule",{value:!0}),e);var L={};O(L,{extractMainFileData:()=>E,generateHeader:()=>U,getAuthorFromPackage:()=>y,translationsHeaders:()=>v});module.exports=w(L);var f=$(require("node:path")),g=require("gettext-merger"),p=require("../const.js"),A=require("../fs/fs.js"),u=require("../utils/common.js"),l=require("../utils/extractors.js"),k=require("./css.js"),b=require("./php.js");function x(e){const n=[{key:"slug",name:"Plugin/Theme slug",placeholder:"PLUGIN NAME"},{key:"author",name:"Author name",placeholder:"AUTHOR"},{key:"version",name:"Version",placeholder:""},{key:"email",name:"Author email",placeholder:"AUTHOR EMAIL"},{key:"xDomain",name:"Text domain",placeholder:"PLUGIN TEXTDOMAIN"}].filter(o=>!e[o.key]||e[o.key]===o.placeholder||o.key==="version"&&e[o.key]==="0.0.1");if(n.length>0){console.error(`
1
+ "use strict";var y=Object.create;var c=Object.defineProperty;var T=Object.getOwnPropertyDescriptor;var H=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty;var O=(e,t)=>{for(var o in t)c(e,o,{get:t[o],enumerable:!0})},d=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of H(t))!M.call(e,n)&&n!==o&&c(e,n,{get:()=>t[n],enumerable:!(r=T(t,n))||r.enumerable});return e};var $=(e,t,o)=>(o=e!=null?y(I(e)):{},d(t||!e||!e.__esModule?c(o,"default",{value:e,enumerable:!0}):o,e)),w=e=>d(c({},"__esModule",{value:!0}),e);var L={};O(L,{extractMainFileData:()=>v,generateHeader:()=>U,getAuthorFromPackage:()=>P,translationsHeaders:()=>E});module.exports=w(L);var f=$(require("node:path")),g=require("gettext-merger"),p=require("../const.js"),k=require("../fs/fs.js"),u=require("../utils/common.js"),m=require("../utils/extractors.js"),b=require("./css.js"),A=require("./php.js");function R(e,t){const r=[{key:"slug",name:"Plugin/Theme slug",placeholder:"PLUGIN NAME"},{key:"author",name:"Author name",placeholder:"AUTHOR"},{key:"version",name:"Version",placeholder:""},{key:"email",name:"Author email",placeholder:"AUTHOR EMAIL"},{key:"xDomain",name:"Text domain",placeholder:"PLUGIN TEXTDOMAIN"}].filter(n=>!e[n.key]||e[n.key]===n.placeholder||n.key==="version"&&e[n.key]==="0.0.1");if(r.length>0){console.error(`
2
2
  ! Missing required information for POT file header:
3
- `);for(const o of n)console.error(` - ${o.name} is missing or has a default value (eg. version: 0.0.1, author: "AUTHOR <EMAIL>")`);return console.error(`
3
+ `);for(const n of r)console.error(` - ${n.name} is missing or has a default value (eg. version: 0.0.1")`);return console.error(`
4
4
  Please provide this information adding the missing fields inside the headers object of the plugin/theme declaration or to the package.json file.`,`
5
- For more information check the documentation at https://github.com/wp-blocks/makePot`),console.error(`
6
- `),!1}return!0}function d(e){const t={name:"AUTHOR",email:"AUTHOR EMAIL"};if(!e)return t;if(typeof e=="string"){const n=e.match(/<([^>]+)>/),o=n?n[1].trim():void 0,r=e.match(/\(([^)]+)\)/),a=r?r[1].trim():void 0;let i=e.trim();return n&&(i=i.replace(n[0],"").trim()),r&&(i=i.replace(r[0],"").trim()),{name:i,email:o,website:a}}if(typeof e=="object")return{name:e.name,email:e.email,website:e.website}}function y(e){const t=["author","authors","contributors","maintainers"];for(const n of t)if(e[n]){let o;if(typeof e[n]=="string")o=d(e[n]);else if(typeof e[n]=="object"){for(const r of e[n])if(r&&(o=d(r),o))break}if(o?.name!=="AUTHOR"||o?.email!=="AUTHOR EMAIL")return o}return{name:"AUTHOR",email:"AUTHOR EMAIL"}}function R(e){const t=(0,u.getPkgJsonData)(e.paths?.cwd,"name","version","author","authors","contributors","maintainers"),n=`https://wordpress.org/support/${e.domain==="theme"?"themes":"plugins"}/${e.slug}`,o=y(t),r=e?.headers?.author||o?.name,a=o?.email,i=`${r} <${a}>`,m=f.default.basename(e.paths?.cwd||process.cwd())?.toLowerCase().replace(" ","-"),s=e.slug||m||(e.domain==="theme"?"THEME NAME":"PLUGIN NAME");return{...e.headers,author:r,authorString:i,slug:s,email:a,bugs:n,license:e.headers?.license||"gpl-2.0 or later",version:e.headers?.version||t.version||"0.0.1",language:"en",xDomain:e.headers?.textDomain||s}}async function U(e){const t=R(e),{name:n,version:o}=(0,u.getPkgJsonData)(p.modulePath,"name","version");return x(t)?{"Project-Id-Version":`${t.slug} ${t.version}`,"Report-Msgid-Bugs-To":t.authorString,"MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","content-type":`text/plain; charset=${(0,A.getEncodingCharset)(e.options?.charset)}`,"plural-forms":"nplurals=2; plural=(n!=1);","POT-Creation-Date":`${new Date().toISOString()}`,"PO-Revision-Date":`${new Date().getFullYear()}-MO-DA HO:MI+ZONE`,"Last-Translator":t.authorString,"Language-Team":t.authorString,"X-Generator":`${n} ${o}`,Language:`${t.language}`,"X-Domain":t.xDomain}:(process.exit(1),null)}function E(e){let t={};return["plugin","block","generic"].includes(e.domain)?t=(0,b.extractPhpPluginData)(e):["theme","theme-block"].includes(e.domain)?t=(0,k.extractCssThemeData)(e):console.log("No main file detected."),t}function v(e){const{domain:t,headers:n}=e,{name:o,description:r,author:a,authorUri:i,url:m}=n,s=t==="plugin"?`${e.slug}.php`:"style.css";return new g.SetOfBlocks([(0,l.buildBlock)(`Name of the ${t}`,o,[s]),(0,l.buildBlock)(`Url of the ${t}`,m,[s]),(0,l.buildBlock)(`Description of the ${t}`,r,[s]),(0,l.buildBlock)(`Author of the ${t}`,a,[s]),(0,l.buildBlock)(`Author URI of the ${t}`,i,[s])])}0&&(module.exports={extractMainFileData,generateHeader,getAuthorFromPackage,translationsHeaders});
5
+ For more information check the documentation at https://github.com/wp-blocks/makePot`),r.some(n=>n.key==="email")&&console.error(`
6
+
7
+ Wordpress didn't require an email field in the headers object but it's required in order to generate a valid pot file.`,`
8
+ Please add the email field to the package.json file (author field eg. author: "AUTHOR <EMAIL>")`,`
9
+ or inject those information using the --headers flag to the "makePot" command (eg. --headers=email:erik@ck.it).`,`
10
+ For more information check the documentation at https://github.com/wp-blocks/makePot`),r&&t&&console.error(`
11
+ Debug information:`,`
12
+ Missing fields:`,r,`
13
+ Header data:`,e),console.error(`
14
+ `),!1}return!0}function h(e){const t={name:"AUTHOR",email:"AUTHOR EMAIL"};if(!e)return t;if(typeof e=="string"){const o=e.match(/<([^>]+)>/),r=o?o[1].trim():void 0,n=e.match(/\(([^)]+)\)/),s=n?n[1].trim():void 0;let i=e.trim();return o&&(i=i.replace(o[0],"").trim()),n&&(i=i.replace(n[0],"").trim()),{name:i,email:r,website:s}}if(typeof e=="object")return{name:e.name,email:e.email,website:e.website}}function P(e){const t=["author","authors","contributors","maintainers"];for(const o of t)if(e[o]){let r;if(typeof e[o]=="string")r=h(e[o]);else if(typeof e[o]=="object"){for(const n of e[o])if(n&&(r=h(n),r))break}if(r?.name!=="AUTHOR"||r?.email!=="AUTHOR EMAIL")return r}return{name:"AUTHOR",email:"AUTHOR EMAIL"}}function x(e){const t=(0,u.getPkgJsonData)(e.paths?.cwd,"name","version","author","authors","contributors","maintainers"),o=P(t),r=f.default.basename(e.paths?.cwd||process.cwd())?.toLowerCase().replace(" ","-"),n=e?.headers?.author||o?.name,s=e?.headers?.email||o?.email,i=`${n} <${s}>`,l=e.slug||r||e.headers?.name?.toString().replace(/ /g,"-")||(e.domain==="theme"?"THEME NAME":"PLUGIN NAME"),a=`https://wordpress.org/support/${e.domain==="theme"?"themes":"plugins"}/${l}`;return{...e.headers,name:e.headers?.name||l,author:n,authorString:i,slug:l,email:s,bugs:a,license:e.headers?.license||"gpl-2.0 or later",version:e.headers?.version||t.version||"0.0.1",language:"en",xDomain:e.headers?.textDomain||l}}async function U(e){const t=x(e),{name:o,version:r}=(0,u.getPkgJsonData)(p.modulePath,"name","version");return R(t,e.debug)?{"Project-Id-Version":`${t.name} ${t.version}`,"Report-Msgid-Bugs-To":t.bugs,"MIME-Version":"1.0","Content-Transfer-Encoding":"8bit","content-type":`text/plain; charset=${(0,k.getEncodingCharset)(e.options?.charset)}`,"plural-forms":"nplurals=2; plural=(n!=1);","POT-Creation-Date":`${new Date().toISOString()}`,"PO-Revision-Date":`${new Date().getFullYear()}-MO-DA HO:MI+ZONE`,"Last-Translator":t.authorString,"Language-Team":t.authorString,"X-Generator":`${o} ${r}`,Language:`${t.language}`,"X-Domain":t.xDomain}:(process.exit(1),null)}function v(e){let t={};return["plugin","block","generic"].includes(e.domain)?t=(0,A.extractPhpPluginData)(e):["theme","theme-block"].includes(e.domain)?t=(0,b.extractCssThemeData)(e):console.log("No main file detected."),t}function E(e){const{domain:t,headers:o}=e,{name:r,description:n,author:s,authorUri:i,url:l}=o,a=t==="plugin"?`${e.slug}.php`:"style.css";return new g.SetOfBlocks([(0,m.buildBlock)(`Name of the ${t}`,r,[a]),(0,m.buildBlock)(`Url of the ${t}`,l,[a]),(0,m.buildBlock)(`Description of the ${t}`,n,[a]),(0,m.buildBlock)(`Author of the ${t}`,s,[a]),(0,m.buildBlock)(`Author URI of the ${t}`,i,[a])])}0&&(module.exports={extractMainFileData,generateHeader,getAuthorFromPackage,translationsHeaders});
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extractors/headers.ts"],
4
- "sourcesContent": ["import path from \"node:path\";\nimport { SetOfBlocks } from \"gettext-merger\";\nimport { boolean } from \"yargs\";\nimport type PackageI18n from \"../assets/package-i18n.js\";\nimport { modulePath } from \"../const.js\";\nimport { getEncodingCharset } from \"../fs/fs.js\";\nimport type { Args, I18nHeaders, PotHeaders } from \"../types.js\";\nimport { getPkgJsonData } from \"../utils/common.js\";\nimport { buildBlock } from \"../utils/extractors.js\";\nimport { extractCssThemeData } from \"./css.js\";\nimport { extractPhpPluginData } from \"./php.js\";\n\n/**\n * Checks if required fields are missing and logs a clear error message\n * @param {object} headerData - The header data to validate\n * @returns {boolean} - true if all required fields are present, false otherwise\n */\nfunction validateRequiredFields(headerData: I18nHeaders): boolean {\n\tconst requiredFields = [\n\t\t{ key: \"slug\", name: \"Plugin/Theme slug\", placeholder: \"PLUGIN NAME\" },\n\t\t{ key: \"author\", name: \"Author name\", placeholder: \"AUTHOR\" },\n\t\t{ key: \"version\", name: \"Version\", placeholder: \"\" },\n\t\t{ key: \"email\", name: \"Author email\", placeholder: \"AUTHOR EMAIL\" },\n\t\t{ key: \"xDomain\", name: \"Text domain\", placeholder: \"PLUGIN TEXTDOMAIN\" },\n\t];\n\n\tconst missingFields = requiredFields.filter(\n\t\t(field) =>\n\t\t\t!headerData[field.key] ||\n\t\t\theaderData[field.key] === field.placeholder ||\n\t\t\t(field.key === \"version\" && headerData[field.key] === \"0.0.1\"),\n\t);\n\n\tif (missingFields.length > 0) {\n\t\tconsole.error(\"\\n! Missing required information for POT file header:\\n\");\n\n\t\tfor (const field of missingFields) {\n\t\t\tconsole.error(\n\t\t\t\t` - ${field.name} is missing or has a default value (eg. version: 0.0.1, author: \"AUTHOR <EMAIL>\")`,\n\t\t\t);\n\t\t}\n\n\t\tconsole.error(\n\t\t\t\"\\nPlease provide this information adding the missing fields inside the headers object of the plugin/theme declaration or to the package.json file.\",\n\t\t\t\"\\nFor more information check the documentation at https://github.com/wp-blocks/makePot\",\n\t\t);\n\n\t\tconsole.error(\"\\n\");\n\n\t\treturn false;\n\t}\n\n\treturn true;\n}\n\n/**\n * Extract author data from package.json author field and return an array of strings\n * the original field is a string and it's longer form is \"Your Name <email@example.com> (https://example.com)\"\n *\n * @returns an object with name, email, and website\n * @param authorData\n */\nfunction extractAuthorData(authorData: string | object): {\n\tname: string;\n\temail?: string;\n\twebsite?: string;\n} {\n\t// Default result with placeholder values\n\tconst defaultResult = { name: \"AUTHOR\", email: \"AUTHOR EMAIL\" };\n\n\t// Return default if no author data\n\tif (!authorData) {\n\t\treturn defaultResult;\n\t}\n\n\t// Handle string format: \"Barney Rubble <barney@npmjs.com> (http://barnyrubble.npmjs.com/)\"\n\tif (typeof authorData === \"string\") {\n\t\t// Try to extract email with regex\n\t\tconst emailMatch = authorData.match(/<([^>]+)>/);\n\t\tconst email = emailMatch ? emailMatch[1].trim() : undefined;\n\n\t\t// Try to extract website with regex\n\t\tconst websiteMatch = authorData.match(/\\(([^)]+)\\)/);\n\t\tconst website = websiteMatch ? websiteMatch[1].trim() : undefined;\n\n\t\t// Extract name by removing email and website parts if present\n\t\tlet name = authorData.trim();\n\t\tif (emailMatch) name = name.replace(emailMatch[0], \"\").trim();\n\t\tif (websiteMatch) name = name.replace(websiteMatch[0], \"\").trim();\n\n\t\treturn { name, email, website };\n\t}\n\tif (typeof authorData === \"object\") {\n\t\t// Handle object format: { name: \"Barney Rubble\", email: \"barney@npmjs.com\", website: \"http://barnyrubble.npmjs.com/\" }\n\t\treturn {\n\t\t\tname: authorData.name,\n\t\t\temail: authorData.email,\n\t\t\twebsite: authorData.website,\n\t\t};\n\t}\n}\n\n/**\n * Gets author data by checking multiple possible locations in package.json\n *\n * @param pkgJsonData The package.json data object\n * @returns Author data with name, email and website\n */\nexport function getAuthorFromPackage(pkgJsonData: PackageI18n): {\n\tname: string;\n\temail?: string;\n\twebsite?: string;\n} {\n\t// Check multiple possible locations for author information\n\tconst locations = [\n\t\t\"author\", // Standard author field\n\t\t\"authors\", // Some packages use authors (plural)\n\t\t\"contributors\", // Try contributors if no author\n\t\t\"maintainers\", // Try maintainers as last resort\n\t];\n\n\t// Try each location in order\n\tfor (const location of locations) {\n\t\tif (pkgJsonData[location]) {\n\t\t\tlet authorData: {\n\t\t\t\tname: string;\n\t\t\t\temail?: string;\n\t\t\t\twebsite?: string;\n\t\t\t};\n\t\t\tif (typeof pkgJsonData[location] === \"string\") {\n\t\t\t\tauthorData = extractAuthorData(pkgJsonData[location]);\n\t\t\t} else if (typeof pkgJsonData[location] === \"object\") {\n\t\t\t\tfor (const author of pkgJsonData[location]) {\n\t\t\t\t\tif (!author) continue;\n\t\t\t\t\tauthorData = extractAuthorData(author);\n\t\t\t\t\tif (authorData) break;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif (\n\t\t\t\tauthorData?.name !== \"AUTHOR\" ||\n\t\t\t\tauthorData?.email !== \"AUTHOR EMAIL\"\n\t\t\t) {\n\t\t\t\treturn authorData;\n\t\t\t}\n\t\t}\n\t}\n\n\t// If no valid author data found in any location\n\treturn { name: \"AUTHOR\", email: \"AUTHOR EMAIL\" };\n}\n\n/**\n * This function consolidates the user headers data into a single object\n *\n * @param args the command line arguments\n * @return {Record<string, string>} the consolidated headers data object\n */\nfunction consolidateUserHeaderData(args: Args): I18nHeaders {\n\tconst pkgJsonData = getPkgJsonData(\n\t\targs.paths?.cwd,\n\t\t\"name\",\n\t\t\"version\",\n\t\t\"author\",\n\t\t\"authors\",\n\t\t\"contributors\",\n\t\t\"maintainers\",\n\t) as Record<[keyof PackageI18n], string>;\n\n\tconst bugs = `https://wordpress.org/support/${args.domain === \"theme\" ? \"themes\" : \"plugins\"}/${args.slug}`;\n\n\t// get author data from package.json\n\tconst pkgAuthor = getAuthorFromPackage(pkgJsonData);\n\t// Use command line author name if provided, fallback to package.json\n\tconst authorName = args?.headers?.author || pkgAuthor?.name;\n\tconst email = pkgAuthor?.email;\n\t// this is the author with email address in this format: author <email>\n\tconst authorString = `${authorName} <${email}>`;\n\t// get the current directory name as slug\n\tconst currentDir = path\n\t\t.basename(args.paths?.cwd || process.cwd())\n\t\t?.toLowerCase()\n\t\t.replace(\" \", \"-\");\n\tconst slug =\n\t\targs.slug ||\n\t\tcurrentDir ||\n\t\t(args.domain === \"theme\" ? \"THEME NAME\" : \"PLUGIN NAME\");\n\n\treturn {\n\t\t...args.headers,\n\t\tauthor: authorName,\n\t\tauthorString: authorString, // this is the author with email address in this format: author <email>\n\t\tslug,\n\t\temail,\n\t\tbugs,\n\t\tlicense: args.headers?.license || \"gpl-2.0 or later\",\n\t\tversion: args.headers?.version || pkgJsonData.version || \"0.0.1\",\n\t\tlanguage: \"en\",\n\t\txDomain: args.headers?.textDomain || slug,\n\t};\n}\n\n/**\n * Generates a POT header for a given set of arguments.\n * https://developer.wordpress.org/cli/commands/i18n/make-pot/\n * String that should be added as a comment to the top of the resulting POT file.\n * By default, a copyright comment is added for WordPress plugins and themes in the following manner:\n * `\n * Copyright (C) 2018 Example Plugin Author\n * This file is distributed under the same license as the Example Plugin package.\n * `\n * If a plugin or theme specifies a license in their main plugin file or stylesheet,\n * the comment looks like this: Copyright (C) 2018 Example Plugin Author This file is distributed under the GPLv2.\n *\n * @param args - The argument object containing the headers and their values.\n * @return The generated POT header.\n */\nexport async function generateHeader(args: Args) {\n\t// Consolidate the user headers data into a single object\n\tconst headerData = consolidateUserHeaderData(args);\n\n\t// the makepot module name and version\n\tconst { name, version } = getPkgJsonData(modulePath, \"name\", \"version\");\n\n\t// Validate required fields - exit early if validation fails\n\tif (!validateRequiredFields(headerData)) {\n\t\tprocess.exit(1); // Exit with error code\n\t\treturn null; // This is never reached but helps with TypeScript\n\t}\n\n\tconst header = {\n\t\t\"Project-Id-Version\": `${headerData.slug} ${headerData.version}`,\n\t\t\"Report-Msgid-Bugs-To\": headerData.authorString,\n\t\t\"MIME-Version\": \"1.0\",\n\t\t\"Content-Transfer-Encoding\": \"8bit\",\n\t\t\"content-type\": `text/plain; charset=${getEncodingCharset(args.options?.charset)}`,\n\t\t\"plural-forms\": \"nplurals=2; plural=(n!=1);\",\n\t\t\"POT-Creation-Date\": `${new Date().toISOString()}`,\n\t\t\"PO-Revision-Date\": `${new Date().getFullYear()}-MO-DA HO:MI+ZONE`,\n\t\t\"Last-Translator\": headerData.authorString,\n\t\t\"Language-Team\": headerData.authorString,\n\t\t\"X-Generator\": `${name} ${version}`,\n\t\tLanguage: `${headerData.language}`,\n\t\t\"X-Domain\": headerData.xDomain,\n\t};\n\n\treturn header;\n}\n\n/**\n * Extracts main file data based on the given arguments.\n *\n * @param {Args} args - The arguments for extracting the main file data.\n * @return {Record<string, string>} The extracted main file data.\n */\nexport function extractMainFileData(args: Args): Record<string, string> {\n\tlet extractedData = {};\n\tif ([\"plugin\", \"block\", \"generic\"].includes(args.domain)) {\n\t\textractedData = extractPhpPluginData(args);\n\t} else if ([\"theme\", \"theme-block\"].includes(args.domain)) {\n\t\textractedData = extractCssThemeData(args);\n\t} else {\n\t\tconsole.log(\"No main file detected.\");\n\t}\n\n\treturn extractedData;\n}\n\n/**\n * Generate translation strings based on the given type and headers.\n *\n * @return {Record<string, string>} the generated translation strings\n * @param args\n */\nexport function translationsHeaders(args: Args): SetOfBlocks {\n\tconst { domain, headers } = args as Args;\n\tconst { name, description, author, authorUri, url } = headers as {\n\t\t[key in PotHeaders]: string;\n\t};\n\n\t// the main file is the plugin main php file or the css file\n\tconst fakePath = domain === \"plugin\" ? `${args.slug}.php` : \"style.css\";\n\n\treturn new SetOfBlocks([\n\t\tbuildBlock(`Name of the ${domain}`, name, [fakePath]),\n\t\tbuildBlock(`Url of the ${domain}`, url, [fakePath]),\n\t\tbuildBlock(`Description of the ${domain}`, description, [fakePath]),\n\t\tbuildBlock(`Author of the ${domain}`, author, [fakePath]),\n\t\tbuildBlock(`Author URI of the ${domain}`, authorUri, [fakePath]),\n\t]);\n}\n"],
5
- "mappings": "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",
6
- "names": ["path"]
7
- }
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/extractors/headers.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extractors/json.ts"],
4
- "sourcesContent": ["import path from \"node:path\";\nimport type { Block, SetOfBlocks } from \"gettext-merger\";\nimport type { I18nSchema } from \"../types.js\";\nimport { yieldParsedData } from \"../utils/extractors.js\";\nimport { JsonSchemaExtractor } from \"./schema.js\";\n\n/**\n * Parses a JSON file and returns an array of parsed data.\n *\n * @param {Object} opts - The arguments for parsing the JSON file.\n * @param {string} opts.filepath - The filepath of the JSON file to parse.\n * @param {Object} [opts.stats] - Optional statistics object.\n * @param {number} opts.stats.index - The index of the progress bar.\n * @return {Promise<TranslationStrings>} A promise that resolves to an object containing the parsed data.\n */\nexport async function parseJsonFile(opts: {\n\tfileContent: string;\n\tfilename: \"block.json\" | \"theme.json\";\n}): Promise<Block[]> {\n\tconst isTheme = opts.filename === \"theme.json\";\n\tconst schema: { url: string; fallback: I18nSchema } = {\n\t\turl: isTheme\n\t\t\t? JsonSchemaExtractor.themeJsonSource\n\t\t\t: JsonSchemaExtractor.blockJsonSource,\n\t\tfallback: isTheme\n\t\t\t? (JsonSchemaExtractor.themeJsonFallback as I18nSchema)\n\t\t\t: (JsonSchemaExtractor.blockJsonFallback as I18nSchema),\n\t};\n\n\tif (!schema.url || !schema.fallback) {\n\t\tconsole.error(\"Schema URL or fallback not provided\");\n\t\treturn;\n\t}\n\n\t// Get the JSON translations from the schema\n\tconst jsonTranslations = await JsonSchemaExtractor.parse(\n\t\topts.fileContent,\n\t\tschema,\n\t\t{\n\t\t\tfile: opts.filename,\n\t\t\taddReferences: true,\n\t\t},\n\t);\n\n\treturn jsonTranslations ?? [];\n}\n\n/**\n * Parses the JSON content of a file based on the filename and file content.\n *\n * @param {string} fileContent - The content of the file to parse.\n * @param {string} filePath - The path of the file being parsed.\n * @param {'block.json' | 'theme.json'} filename - The type of JSON file being parsed.\n * @return {Promise<TranslationStrings>} The parsed translation strings.\n */\nexport async function parseJsonCallback(\n\tfileContent: string,\n\tfilePath: string,\n\tfilename: \"block.json\" | \"theme.json\",\n): Promise<SetOfBlocks> {\n\tconst data = await parseJsonFile({\n\t\tfileContent: fileContent,\n\t\tfilename: filename,\n\t});\n\n\treturn yieldParsedData(data, filename, path.join(filePath, filename));\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,uBAAiB;AAGjB,wBAAgC;AAChC,oBAAoC;AAWpC,eAAsB,cAAc,MAGf;AACpB,QAAM,UAAU,KAAK,aAAa;AAClC,QAAM,SAAgD;AAAA,IACrD,KAAK,UACF,kCAAoB,kBACpB,kCAAoB;AAAA,IACvB,UAAU,UACN,kCAAoB,oBACpB,kCAAoB;AAAA,EACzB;AAEA,MAAI,CAAC,OAAO,OAAO,CAAC,OAAO,UAAU;AACpC,YAAQ,MAAM,qCAAqC;AACnD;AAAA,EACD;AAGA,QAAM,mBAAmB,MAAM,kCAAoB;AAAA,IAClD,KAAK;AAAA,IACL;AAAA,IACA;AAAA,MACC,MAAM,KAAK;AAAA,MACX,eAAe;AAAA,IAChB;AAAA,EACD;AAEA,SAAO,oBAAoB,CAAC;AAC7B;AAUA,eAAsB,kBACrB,aACA,UACA,UACuB;AACvB,QAAM,OAAO,MAAM,cAAc;AAAA,IAChC;AAAA,IACA;AAAA,EACD,CAAC;AAED,aAAO,mCAAgB,MAAM,UAAU,iBAAAA,QAAK,KAAK,UAAU,QAAQ,CAAC;AACrE;",
6
- "names": ["path"]
7
- }
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/extractors/json.ts"],"names":[],"mappings":";;;;;AAeA,sCA8BC;AAUD,8CAWC;AAlED,0DAA6B;AAG7B,0DAAyD;AACzD,2CAAkD;AAElD;;;;;;;;GAQG;AACI,KAAK,UAAU,aAAa,CAAC,IAGnC;IACA,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,KAAK,YAAY,CAAC;IAC/C,MAAM,MAAM,GAA0C;QACrD,GAAG,EAAE,OAAO;YACX,CAAC,CAAC,+BAAmB,CAAC,eAAe;YACrC,CAAC,CAAC,+BAAmB,CAAC,eAAe;QACtC,QAAQ,EAAE,OAAO;YAChB,CAAC,CAAE,+BAAmB,CAAC,iBAAgC;YACvD,CAAC,CAAE,+BAAmB,CAAC,iBAAgC;KACxD,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrC,OAAO,CAAC,KAAK,CAAC,qCAAqC,CAAC,CAAC;QACrD,OAAO;IACR,CAAC;IAED,4CAA4C;IAC5C,MAAM,gBAAgB,GAAG,MAAM,+BAAmB,CAAC,KAAK,CACvD,IAAI,CAAC,WAAW,EAChB,MAAM,EACN;QACC,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,aAAa,EAAE,IAAI;KACnB,CACD,CAAC;IAEF,OAAO,gBAAgB,IAAI,EAAE,CAAC;AAC/B,CAAC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,iBAAiB,CACtC,WAAmB,EACnB,QAAgB,EAChB,QAAqC;IAErC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC;QAChC,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,QAAQ;KAClB,CAAC,CAAC;IAEH,OAAO,IAAA,+BAAe,EAAC,IAAI,EAAE,QAAQ,EAAE,mBAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AACvE,CAAC"}
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extractors/packageJson.ts"],
4
- "sourcesContent": ["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { pkgJsonHeaders } from \"../const.js\";\nimport type { Args } from \"../types.js\";\n\n/**\n * Extracts package data from the given arguments and returns a record\n * containing the specified fields from the package.json file.\n *\n * @param {Args} args - The arguments for extracting package data.\n *\n * @return {Record<string, string>} - A record containing the extracted package data.\n */\nexport function extractPackageJson(args: Args): Record<string, string> {\n\tconst fields = pkgJsonHeaders;\n\tconst pkgJsonMeta: Record<string, string> = {};\n\t// read the package.json file\n\tconst packageJsonPath = args.paths.cwd\n\t\t? path.join(args.paths.cwd, \"package.json\")\n\t\t: \"package.json\";\n\n\t/**\n\t * check if the package.json extract the fields from the package.json file\n\t */\n\tif (fs.existsSync(packageJsonPath)) {\n\t\tconst packageJson = JSON.parse(fs.readFileSync(packageJsonPath, \"utf8\"));\n\t\tfor (const field of Object.keys(fields)) {\n\t\t\t// if the field exists in the package.json\n\t\t\tif (field in packageJson) {\n\t\t\t\tpkgJsonMeta[field] = `${packageJson[field]}` as string;\n\t\t\t}\n\t\t}\n\t}\n\treturn pkgJsonMeta;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAe;AACf,uBAAiB;AACjB,mBAA+B;AAWxB,SAAS,mBAAmB,MAAoC;AACtE,QAAM,SAAS;AACf,QAAM,cAAsC,CAAC;AAE7C,QAAM,kBAAkB,KAAK,MAAM,MAChC,iBAAAA,QAAK,KAAK,KAAK,MAAM,KAAK,cAAc,IACxC;AAKH,MAAI,eAAAC,QAAG,WAAW,eAAe,GAAG;AACnC,UAAM,cAAc,KAAK,MAAM,eAAAA,QAAG,aAAa,iBAAiB,MAAM,CAAC;AACvE,eAAW,SAAS,OAAO,KAAK,MAAM,GAAG;AAExC,UAAI,SAAS,aAAa;AACzB,oBAAY,KAAK,IAAI,GAAG,YAAY,KAAK,CAAC;AAAA,MAC3C;AAAA,IACD;AAAA,EACD;AACA,SAAO;AACR;",
6
- "names": ["path", "fs"]
7
- }
1
+ {"version":3,"file":"packageJson.js","sourceRoot":"","sources":["../../src/extractors/packageJson.ts"],"names":[],"mappings":";;;;;AAaA,gDAqBC;AAlCD,sDAAyB;AACzB,0DAA6B;AAC7B,0CAA6C;AAG7C;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,IAAU;IAC5C,MAAM,MAAM,GAAG,yBAAc,CAAC;IAC9B,MAAM,WAAW,GAA2B,EAAE,CAAC;IAC/C,6BAA6B;IAC7B,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG;QACrC,CAAC,CAAC,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;QAC3C,CAAC,CAAC,cAAc,CAAC;IAElB;;OAEG;IACH,IAAI,iBAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;QACzE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,0CAA0C;YAC1C,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;gBAC1B,WAAW,CAAC,KAAK,CAAC,GAAG,GAAG,WAAW,CAAC,KAAK,CAAC,EAAY,CAAC;YACxD,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC"}
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extractors/php.ts"],
4
- "sourcesContent": ["import fs from \"node:fs\";\nimport path from \"node:path\";\nimport { pluginHeaders } from \"../const.js\";\nimport type { Args } from \"../types.js\";\nimport { getKeyByValue } from \"../utils/extractors.js\";\n\nexport function extractPhpPluginData(args: Args): Record<string, string> {\n\tlet fileData: Record<string, string> = {};\n\tconst folderPhpFile = path.join(args.paths.cwd, `${args.slug}.php`);\n\n\tif (fs.existsSync(folderPhpFile)) {\n\t\tconst fileContent = fs.readFileSync(folderPhpFile, \"utf8\");\n\t\tfileData = parsePHPFile(fileContent);\n\n\t\tconsole.log(`\uD83D\uDD35 Plugin file detected. (${folderPhpFile})`);\n\n\t\t// Set the domain\n\t\targs.domain = \"plugin\";\n\n\t\treturn fileData;\n\t}\n\n\tconsole.log(\"Plugin file not found.\");\n\tconsole.log(`Missing Plugin filename: ${folderPhpFile}`);\n\n\treturn {};\n}\n\n/**\n * Parses a PHP file and extracts the plugin information from the comment block.\n *\n * @param {string} phpContent - The content of the PHP file.\n * @return {Record<string, string>} - A record containing the plugin information.\n */\nexport function parsePHPFile(phpContent: string): Record<string, string> {\n\tconst match = phpContent.match(/\\/\\*\\*([\\s\\S]*?)\\*\\//);\n\n\tif (match?.[1] && match) {\n\t\tconst commentBlock = match[1];\n\t\tconst lines = commentBlock.split(\"\\n\");\n\n\t\tconst pluginInfo: Record<string, string> = {};\n\n\t\tfor (const line of lines) {\n\t\t\tconst keyValueMatch = line.match(/^\\s*\\*\\s*([^:]+):\\s*(.*)/);\n\n\t\t\tif (!keyValueMatch) {\n\t\t\t\tcontinue;\n\t\t\t}\n\n\t\t\t// Check if the line matches the expected format\n\t\t\tif (keyValueMatch?.[1] && keyValueMatch[2]) {\n\t\t\t\t// filter the retrieved headers\n\t\t\t\tconst header = getKeyByValue(pluginHeaders, keyValueMatch[1].trim());\n\t\t\t\tif (header === undefined) continue;\n\t\t\t\tpluginInfo[header] = keyValueMatch[2].trim();\n\t\t\t}\n\t\t}\n\n\t\treturn pluginInfo;\n\t}\n\treturn {};\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAe;AACf,uBAAiB;AACjB,mBAA8B;AAE9B,wBAA8B;AAEvB,SAAS,qBAAqB,MAAoC;AACxE,MAAI,WAAmC,CAAC;AACxC,QAAM,gBAAgB,iBAAAA,QAAK,KAAK,KAAK,MAAM,KAAK,GAAG,KAAK,IAAI,MAAM;AAElE,MAAI,eAAAC,QAAG,WAAW,aAAa,GAAG;AACjC,UAAM,cAAc,eAAAA,QAAG,aAAa,eAAe,MAAM;AACzD,eAAW,aAAa,WAAW;AAEnC,YAAQ,IAAI,oCAA6B,aAAa,GAAG;AAGzD,SAAK,SAAS;AAEd,WAAO;AAAA,EACR;AAEA,UAAQ,IAAI,wBAAwB;AACpC,UAAQ,IAAI,4BAA4B,aAAa,EAAE;AAEvD,SAAO,CAAC;AACT;AAQO,SAAS,aAAa,YAA4C;AACxE,QAAM,QAAQ,WAAW,MAAM,sBAAsB;AAErD,MAAI,QAAQ,CAAC,KAAK,OAAO;AACxB,UAAM,eAAe,MAAM,CAAC;AAC5B,UAAM,QAAQ,aAAa,MAAM,IAAI;AAErC,UAAM,aAAqC,CAAC;AAE5C,eAAW,QAAQ,OAAO;AACzB,YAAM,gBAAgB,KAAK,MAAM,0BAA0B;AAE3D,UAAI,CAAC,eAAe;AACnB;AAAA,MACD;AAGA,UAAI,gBAAgB,CAAC,KAAK,cAAc,CAAC,GAAG;AAE3C,cAAM,aAAS,iCAAc,4BAAe,cAAc,CAAC,EAAE,KAAK,CAAC;AACnE,YAAI,WAAW,OAAW;AAC1B,mBAAW,MAAM,IAAI,cAAc,CAAC,EAAE,KAAK;AAAA,MAC5C;AAAA,IACD;AAEA,WAAO;AAAA,EACR;AACA,SAAO,CAAC;AACT;",
6
- "names": ["path", "fs"]
7
- }
1
+ {"version":3,"file":"php.js","sourceRoot":"","sources":["../../src/extractors/php.ts"],"names":[],"mappings":";;;;;AAMA,oDAoBC;AAQD,oCA4BC;AA9DD,sDAAyB;AACzB,0DAA6B;AAC7B,0CAA4C;AAE5C,0DAAuD;AAEvD,SAAgB,oBAAoB,CAAC,IAAU;IAC9C,IAAI,QAAQ,GAA2B,EAAE,CAAC;IAC1C,MAAM,aAAa,GAAG,mBAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,IAAI,MAAM,CAAC,CAAC;IAEpE,IAAI,iBAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QAClC,MAAM,WAAW,GAAG,iBAAE,CAAC,YAAY,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;QAC3D,QAAQ,GAAG,YAAY,CAAC,WAAW,CAAC,CAAC;QAErC,OAAO,CAAC,GAAG,CAAC,6BAA6B,aAAa,GAAG,CAAC,CAAC;QAE3D,iBAAiB;QACjB,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC;QAEvB,OAAO,QAAQ,CAAC;IACjB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IACtC,OAAO,CAAC,GAAG,CAAC,4BAA4B,aAAa,EAAE,CAAC,CAAC;IAEzD,OAAO,EAAE,CAAC;AACX,CAAC;AAED;;;;;GAKG;AACH,SAAgB,YAAY,CAAC,UAAkB;IAC9C,MAAM,KAAK,GAAG,UAAU,CAAC,KAAK,CAAC,sBAAsB,CAAC,CAAC;IAEvD,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,EAAE,CAAC;QACzB,MAAM,YAAY,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAC9B,MAAM,KAAK,GAAG,YAAY,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAEvC,MAAM,UAAU,GAA2B,EAAE,CAAC;QAE9C,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;YAC1B,MAAM,aAAa,GAAG,IAAI,CAAC,KAAK,CAAC,0BAA0B,CAAC,CAAC;YAE7D,IAAI,CAAC,aAAa,EAAE,CAAC;gBACpB,SAAS;YACV,CAAC;YAED,gDAAgD;YAChD,IAAI,aAAa,EAAE,CAAC,CAAC,CAAC,IAAI,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC5C,+BAA+B;gBAC/B,MAAM,MAAM,GAAG,IAAA,6BAAa,EAAC,wBAAa,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;gBACrE,IAAI,MAAM,KAAK,SAAS;oBAAE,SAAS;gBACnC,UAAU,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;YAC9C,CAAC;QACF,CAAC;QAED,OAAO,UAAU,CAAC;IACnB,CAAC;IACD,OAAO,EAAE,CAAC;AACX,CAAC"}
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extractors/schema.ts"],
4
- "sourcesContent": ["import type { Block } from \"gettext-merger\";\nimport * as blocki18n from \"../assets/block-i18n.js\";\nimport type BlockI18n from \"../assets/block-i18n.js\";\nimport * as themei18n from \"../assets/theme-i18n.js\";\nimport type ThemeI18n from \"../assets/theme-i18n.js\";\nimport type { I18nSchema } from \"../types.js\";\n\n/**\n * Extracts strings from JSON files using the I18n schema.\n */\n\n// biome-ignore lint/complexity/noStaticOnlyClass: <explanation>\nexport class JsonSchemaExtractor {\n\tprivate static schemaCache: { [url: string]: I18nSchema } = {};\n\n\t/** Theme */\n\tstatic themeJsonSource =\n\t\t\"http://develop.svn.wordpress.org/trunk/src/wp-includes/theme-i18n.json\";\n\tstatic themeJsonFallback = themei18n as ThemeI18n;\n\t/** Block */\n\tstatic blockJsonSource =\n\t\t\"http://develop.svn.wordpress.org/trunk/src/wp-includes/block-i18n.json\";\n\tstatic blockJsonFallback = blocki18n as BlockI18n;\n\n\t/**\n\t * Load the schema from the specified URL, with a fallback URL if needed.\n\t *\n\t * @param {string} url - The URL to load the schema from.\n\t * @param {I18nSchema} fallback - The fallback schema to use if the main URL fails.\n\t * @return {Promise<I18nSchema>} The loaded schema.\n\t */\n\tprivate static async loadSchema(\n\t\turl: string,\n\t\tfallback: I18nSchema,\n\t): Promise<I18nSchema> {\n\t\tif (JsonSchemaExtractor.schemaCache[url]) {\n\t\t\treturn JsonSchemaExtractor.schemaCache[url];\n\t\t}\n\n\t\ttry {\n\t\t\tconsole.log(`\\n[i] Loading schema from ${url}`);\n\t\t\tconst response = await fetch(url, {\n\t\t\t\tresponseType: \"json\",\n\t\t\t\taccept: \"application/json\",\n\t\t\t\theaders: {\n\t\t\t\t\t\"Access-Control-Allow-Origin\": \"*\",\n\t\t\t\t},\n\t\t\t})\n\t\t\t\t.then((response) => response.json())\n\t\t\t\t.catch((error: Error) => {\n\t\t\t\t\tthrow new Error(\n\t\t\t\t\t\t`\\nFailed to load schema from ${url}. Error: ${error.message}`,\n\t\t\t\t\t);\n\t\t\t\t});\n\n\t\t\t// Verify if the response is valid\n\t\t\tif (!response) {\n\t\t\t\treturn fallback;\n\t\t\t}\n\n\t\t\tconsole.log(\"Schema loaded successfully\");\n\t\t\tJsonSchemaExtractor.schemaCache[url] = response;\n\t\t\treturn response;\n\t\t} catch (error) {\n\t\t\tconsole.error(\n\t\t\t\t`\\nFailed to load schema from ${url}. Using fallback. Error: ${error.message}`,\n\t\t\t);\n\t\t\tJsonSchemaExtractor.schemaCache[url] = fallback;\n\t\t\treturn fallback;\n\t\t}\n\t}\n\n\t/**\n\t * Parses a string and extracts translations using the specified schema.\n\t *\n\t * @param {string} text - the input string to be parsed\n\t * @param {object} schema - the schema to use for parsing the input string\n\t * @param {string} schema.url - the URL of the schema to use for parsing the input string\n\t * @param {object} schema.schemaFallback - the fallback schema to use if the main schema fails\n\t * @param {object} options - the options for parsing the input string\n\t * @param {string} options.file - the name of the file being parsed\n\t * @param {boolean} options.addReferences - whether to add references to the extracted strings\n\t *\n\t * @return {Promise<I18nSchema | undefined>} a promise that resolves with the extracted schema\n\t */\n\tpublic static async parse(\n\t\ttext: string,\n\t\tschema: {\n\t\t\turl: string;\n\t\t\tfallback: I18nSchema;\n\t\t},\n\t\toptions: {\n\t\t\tfile: \"block.json\" | \"theme.json\";\n\t\t\taddReferences: boolean;\n\t\t},\n\t): Promise<Block[] | undefined> {\n\t\tconst parsedSchema = await JsonSchemaExtractor.loadSchema(\n\t\t\tschema.url,\n\t\t\tschema.fallback,\n\t\t);\n\n\t\ttry {\n\t\t\tconst json = JSON.parse(text) as Record<string, unknown>;\n\t\t\tif (!json) {\n\t\t\t\tconsole.error(\"Could not parse JSON.\");\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\treturn JsonSchemaExtractor.extractFromJsonSchema(\n\t\t\t\tjson,\n\t\t\t\tparsedSchema,\n\t\t\t\toptions,\n\t\t\t);\n\t\t} catch (error) {\n\t\t\tconsole.error(`Error parsing JSON: ${error.message}`);\n\t\t\treturn;\n\t\t}\n\t}\n\n\t/**\n\t * Extracts translatable strings from a JSON file by comparing it with a schema\n\t *\n\t * @param {Object} json - The JSON object to extract strings from\n\t * @param {Object} schema - The schema that defines which fields contain translatable strings\n\t * @param {Object} options - Options for extraction\n\t * @param {string} options.filename - The name of the file being extracted (for references)\n\t * @param {boolean} options.addReferences - Whether to add file references in comments\n\t * @return {Array} - An array of objects with translatable strings in gettext format\n\t */\n\tprivate static extractFromJsonSchema(\n\t\tjson: Record<string, unknown>,\n\t\tschema: I18nSchema,\n\t\toptions: { filename?: string; addReferences?: boolean } = {\n\t\t\tfilename: undefined,\n\t\t\taddReferences: false,\n\t\t},\n\t): Block[] | undefined {\n\t\tconst { filename = \"block.json\", addReferences = false } = options;\n\t\tconst translations = [];\n\n\t\t/**\n\t\t * Recursive function to extract translatable strings\n\t\t * @param {*} currentJson - The current node in the JSON\n\t\t * @param {*} currentSchema - The current node in the schema\n\t\t * @param {Array} path - The current path in the JSON\n\t\t */\n\t\tfunction extract(currentJson, currentSchema, path = []) {\n\t\t\t// If either is null or undefined, there's nothing to do\n\t\t\tif (!currentJson || !currentSchema) return;\n\n\t\t\t// Handles the case where both are objects\n\t\t\tif (\n\t\t\t\ttypeof currentJson === \"object\" &&\n\t\t\t\t!Array.isArray(currentJson) &&\n\t\t\t\ttypeof currentSchema === \"object\" &&\n\t\t\t\t!Array.isArray(currentSchema)\n\t\t\t) {\n\t\t\t\t// Iterate over the schema keys\n\t\t\t\tfor (const key of Object.keys(currentSchema)) {\n\t\t\t\t\tif (key in currentJson) {\n\t\t\t\t\t\t// If the key exists in the JSON, check the type\n\t\t\t\t\t\tif (typeof currentJson[key] === \"string\") {\n\t\t\t\t\t\t\t// It's a string - add it to translations\n\t\t\t\t\t\t\taddTranslation(\n\t\t\t\t\t\t\t\tcurrentJson[key],\n\t\t\t\t\t\t\t\tcurrentSchema[key],\n\t\t\t\t\t\t\t\tfilename,\n\t\t\t\t\t\t\t\taddReferences,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\tArray.isArray(currentJson[key]) &&\n\t\t\t\t\t\t\tArray.isArray(currentSchema[key])\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// It's an array - handle each element\n\t\t\t\t\t\t\thandleArrays(\n\t\t\t\t\t\t\t\tcurrentJson[key],\n\t\t\t\t\t\t\t\tcurrentSchema[key],\n\t\t\t\t\t\t\t\t[...path, key],\n\t\t\t\t\t\t\t\tfilename,\n\t\t\t\t\t\t\t\taddReferences,\n\t\t\t\t\t\t\t);\n\t\t\t\t\t\t} else if (\n\t\t\t\t\t\t\ttypeof currentJson[key] === \"object\" &&\n\t\t\t\t\t\t\ttypeof currentSchema[key] === \"object\"\n\t\t\t\t\t\t) {\n\t\t\t\t\t\t\t// It's an object - recurse\n\t\t\t\t\t\t\textract(currentJson[key], currentSchema[key], [...path, key]);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Handles arrays in JSON and schema\n\t\t * @param {Array} jsonArray - The JSON array\n\t\t * @param {Array} schemaArray - The schema array\n\t\t * @param {Array} path - The current path\n\t\t * @param {string} filename - The name of the file\n\t\t * @param {boolean} addReferences - whenever to add references\n\t\t */\n\t\tfunction handleArrays(\n\t\t\tjsonArray,\n\t\t\tschemaArray,\n\t\t\tpath,\n\t\t\tfilename,\n\t\t\taddReferences,\n\t\t) {\n\t\t\t// If the schema has at least one element, use it as a template\n\t\t\tif (schemaArray.length > 0) {\n\t\t\t\tconst schemaTemplate = schemaArray[0];\n\n\t\t\t\t// For each element in the JSON array\n\t\t\t\tfor (const jsonItem of jsonArray) {\n\t\t\t\t\tif (typeof jsonItem === \"string\") {\n\t\t\t\t\t\t// If the JSON element is a string, add it directly\n\t\t\t\t\t\taddTranslation(jsonItem, schemaTemplate, filename, addReferences);\n\t\t\t\t\t} else if (typeof jsonItem === \"object\") {\n\t\t\t\t\t\t// If it's an object, recurse\n\t\t\t\t\t\tif (typeof schemaTemplate === \"object\") {\n\t\t\t\t\t\t\textract(jsonItem, schemaTemplate, path);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t// Edge case: handles cases like keywords: [\"string1\", \"string2\"]\n\t\t\t\t\t\t\t// when the schema has keywords: [\"keyword context\"]\n\t\t\t\t\t\t\tfor (const key of Object.keys(jsonItem)) {\n\t\t\t\t\t\t\t\tif (typeof jsonItem[key] === \"string\") {\n\t\t\t\t\t\t\t\t\taddTranslation(\n\t\t\t\t\t\t\t\t\t\tjsonItem[key],\n\t\t\t\t\t\t\t\t\t\tschemaTemplate,\n\t\t\t\t\t\t\t\t\t\tfilename,\n\t\t\t\t\t\t\t\t\t\taddReferences,\n\t\t\t\t\t\t\t\t\t);\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\t/**\n\t\t * Adds a translation to the translations array\n\t\t * @param {string} msgctxt - The context of the text to be translated\n\t\t * @param {string} msgid - The text to be translated\n\t\t * @param {string} filename - The name of the file for references\n\t\t * @param {boolean} addReferences - Whether to add references\n\t\t */\n\t\tfunction addTranslation(msgctxt, msgid, filename, addReferences) {\n\t\t\tif (!msgctxt) return; // Do not add empty strings\n\n\t\t\tconst translation = {\n\t\t\t\tmsgid,\n\t\t\t\tmsgctxt,\n\t\t\t} as Block;\n\n\t\t\tif (addReferences) {\n\t\t\t\ttranslation.comments = {\n\t\t\t\t\treference: [filename],\n\t\t\t\t};\n\t\t\t}\n\n\t\t\ttranslations.push(translation);\n\t\t}\n\n\t\t// Start extraction from the root\n\t\textract(json, schema);\n\n\t\treturn translations;\n\t}\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AACA,gBAA2B;AAE3B,gBAA2B;AASpB,MAAM,oBAAoB;AAAA,EAChC,OAAe,cAA6C,CAAC;AAAA;AAAA,EAG7D,OAAO,kBACN;AAAA,EACD,OAAO,oBAAoB;AAAA;AAAA,EAE3B,OAAO,kBACN;AAAA,EACD,OAAO,oBAAoB;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAS3B,aAAqB,WACpB,KACA,UACsB;AACtB,QAAI,oBAAoB,YAAY,GAAG,GAAG;AACzC,aAAO,oBAAoB,YAAY,GAAG;AAAA,IAC3C;AAEA,QAAI;AACH,cAAQ,IAAI;AAAA,0BAA6B,GAAG,EAAE;AAC9C,YAAM,WAAW,MAAM,MAAM,KAAK;AAAA,QACjC,cAAc;AAAA,QACd,QAAQ;AAAA,QACR,SAAS;AAAA,UACR,+BAA+B;AAAA,QAChC;AAAA,MACD,CAAC,EACC,KAAK,CAACA,cAAaA,UAAS,KAAK,CAAC,EAClC,MAAM,CAAC,UAAiB;AACxB,cAAM,IAAI;AAAA,UACT;AAAA,6BAAgC,GAAG,YAAY,MAAM,OAAO;AAAA,QAC7D;AAAA,MACD,CAAC;AAGF,UAAI,CAAC,UAAU;AACd,eAAO;AAAA,MACR;AAEA,cAAQ,IAAI,4BAA4B;AACxC,0BAAoB,YAAY,GAAG,IAAI;AACvC,aAAO;AAAA,IACR,SAAS,OAAO;AACf,cAAQ;AAAA,QACP;AAAA,6BAAgC,GAAG,4BAA4B,MAAM,OAAO;AAAA,MAC7E;AACA,0BAAoB,YAAY,GAAG,IAAI;AACvC,aAAO;AAAA,IACR;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAeA,aAAoB,MACnB,MACA,QAIA,SAI+B;AAC/B,UAAM,eAAe,MAAM,oBAAoB;AAAA,MAC9C,OAAO;AAAA,MACP,OAAO;AAAA,IACR;AAEA,QAAI;AACH,YAAM,OAAO,KAAK,MAAM,IAAI;AAC5B,UAAI,CAAC,MAAM;AACV,gBAAQ,MAAM,uBAAuB;AACrC;AAAA,MACD;AAEA,aAAO,oBAAoB;AAAA,QAC1B;AAAA,QACA;AAAA,QACA;AAAA,MACD;AAAA,IACD,SAAS,OAAO;AACf,cAAQ,MAAM,uBAAuB,MAAM,OAAO,EAAE;AACpD;AAAA,IACD;AAAA,EACD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,OAAe,sBACd,MACA,QACA,UAA0D;AAAA,IACzD,UAAU;AAAA,IACV,eAAe;AAAA,EAChB,GACsB;AACtB,UAAM,EAAE,WAAW,cAAc,gBAAgB,MAAM,IAAI;AAC3D,UAAM,eAAe,CAAC;AAQtB,aAAS,QAAQ,aAAa,eAAe,OAAO,CAAC,GAAG;AAEvD,UAAI,CAAC,eAAe,CAAC,cAAe;AAGpC,UACC,OAAO,gBAAgB,YACvB,CAAC,MAAM,QAAQ,WAAW,KAC1B,OAAO,kBAAkB,YACzB,CAAC,MAAM,QAAQ,aAAa,GAC3B;AAED,mBAAW,OAAO,OAAO,KAAK,aAAa,GAAG;AAC7C,cAAI,OAAO,aAAa;AAEvB,gBAAI,OAAO,YAAY,GAAG,MAAM,UAAU;AAEzC;AAAA,gBACC,YAAY,GAAG;AAAA,gBACf,cAAc,GAAG;AAAA,gBACjB;AAAA,gBACA;AAAA,cACD;AAAA,YACD,WACC,MAAM,QAAQ,YAAY,GAAG,CAAC,KAC9B,MAAM,QAAQ,cAAc,GAAG,CAAC,GAC/B;AAED;AAAA,gBACC,YAAY,GAAG;AAAA,gBACf,cAAc,GAAG;AAAA,gBACjB,CAAC,GAAG,MAAM,GAAG;AAAA,gBACb;AAAA,gBACA;AAAA,cACD;AAAA,YACD,WACC,OAAO,YAAY,GAAG,MAAM,YAC5B,OAAO,cAAc,GAAG,MAAM,UAC7B;AAED,sBAAQ,YAAY,GAAG,GAAG,cAAc,GAAG,GAAG,CAAC,GAAG,MAAM,GAAG,CAAC;AAAA,YAC7D;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AAUA,aAAS,aACR,WACA,aACA,MACAC,WACAC,gBACC;AAED,UAAI,YAAY,SAAS,GAAG;AAC3B,cAAM,iBAAiB,YAAY,CAAC;AAGpC,mBAAW,YAAY,WAAW;AACjC,cAAI,OAAO,aAAa,UAAU;AAEjC,2BAAe,UAAU,gBAAgBD,WAAUC,cAAa;AAAA,UACjE,WAAW,OAAO,aAAa,UAAU;AAExC,gBAAI,OAAO,mBAAmB,UAAU;AACvC,sBAAQ,UAAU,gBAAgB,IAAI;AAAA,YACvC,OAAO;AAGN,yBAAW,OAAO,OAAO,KAAK,QAAQ,GAAG;AACxC,oBAAI,OAAO,SAAS,GAAG,MAAM,UAAU;AACtC;AAAA,oBACC,SAAS,GAAG;AAAA,oBACZ;AAAA,oBACAD;AAAA,oBACAC;AAAA,kBACD;AAAA,gBACD;AAAA,cACD;AAAA,YACD;AAAA,UACD;AAAA,QACD;AAAA,MACD;AAAA,IACD;AASA,aAAS,eAAe,SAAS,OAAOD,WAAUC,gBAAe;AAChE,UAAI,CAAC,QAAS;AAEd,YAAM,cAAc;AAAA,QACnB;AAAA,QACA;AAAA,MACD;AAEA,UAAIA,gBAAe;AAClB,oBAAY,WAAW;AAAA,UACtB,WAAW,CAACD,SAAQ;AAAA,QACrB;AAAA,MACD;AAEA,mBAAa,KAAK,WAAW;AAAA,IAC9B;AAGA,YAAQ,MAAM,MAAM;AAEpB,WAAO;AAAA,EACR;AACD;",
6
- "names": ["response", "filename", "addReferences"]
7
- }
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/extractors/schema.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1 @@
1
- {
2
- "version": 3,
3
- "sources": ["../../src/extractors/text.ts"],
4
- "sourcesContent": ["import { removeCommentMarkup } from \"../utils/common.js\";\n\n/**\n * Extracts file data from the given file content.\n *\n * @param {string} fileContent - The content of the file.\n * @param {string} separator - The separator used in the file.\n * @return {Record<string, string>} An object containing the extracted file data.\n */\nexport function extractFileData(\n\tfileContent: string,\n\tseparator = \":\",\n): Record<string, string> {\n\tconst data: Record<string, string> = {};\n\n\t// split by lines and trim every line\n\tconst text = removeCommentMarkup(fileContent) ?? [];\n\t// split each line by break line and trim each part and add to data\n\tfor (const line of text) {\n\t\tconst parts = line.split(separator);\n\t\t/* Check if the parser has already collected the data from the previous line\n\t\t\t and the current line is empty.\n\t\t\t If so, skip this line */\n\t\tif (parts.length !== 2 && Object.values(data).length > 0 && parts[1]) {\n\t\t\tcontinue;\n\t\t}\n\t\tdata[parts[0]?.trim()] = parts[1].trim();\n\t}\n\n\treturn data;\n}\n"],
5
- "mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAoC;AAS7B,SAAS,gBACf,aACA,YAAY,KACa;AACzB,QAAM,OAA+B,CAAC;AAGtC,QAAM,WAAO,mCAAoB,WAAW,KAAK,CAAC;AAElD,aAAW,QAAQ,MAAM;AACxB,UAAM,QAAQ,KAAK,MAAM,SAAS;AAIlC,QAAI,MAAM,WAAW,KAAK,OAAO,OAAO,IAAI,EAAE,SAAS,KAAK,MAAM,CAAC,GAAG;AACrE;AAAA,IACD;AACA,SAAK,MAAM,CAAC,GAAG,KAAK,CAAC,IAAI,MAAM,CAAC,EAAE,KAAK;AAAA,EACxC;AAEA,SAAO;AACR;",
6
- "names": []
7
- }
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/extractors/text.ts"],"names":[],"mappings":";;AASA,0CAqBC;AA9BD,kDAAyD;AAEzD;;;;;;GAMG;AACH,SAAgB,eAAe,CAC9B,WAAmB,EACnB,SAAS,GAAG,GAAG;IAEf,MAAM,IAAI,GAA2B,EAAE,CAAC;IAExC,qCAAqC;IACrC,MAAM,IAAI,GAAG,IAAA,+BAAmB,EAAC,WAAW,CAAC,IAAI,EAAE,CAAC;IACpD,mEAAmE;IACnE,KAAK,MAAM,IAAI,IAAI,IAAI,EAAE,CAAC;QACzB,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;QACpC;;qCAE0B;QAC1B,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,GAAG,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;YACtE,SAAS;QACV,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}