@wp-blocks/make-pot 1.0.1 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (103) hide show
  1. package/README.md +75 -58
  2. package/jest.config.json +5 -1
  3. package/lib/cli/parseCli.js +11 -12
  4. package/lib/cli/parseCli.js.map +1 -1
  5. package/lib/const.js +1 -12
  6. package/lib/const.js.map +1 -1
  7. package/lib/extractors/headers.d.ts +2 -3
  8. package/lib/extractors/headers.js +23 -13
  9. package/lib/extractors/headers.js.map +1 -1
  10. package/lib/extractors/index.d.ts +2 -2
  11. package/lib/extractors/index.js +15 -25
  12. package/lib/extractors/index.js.map +1 -1
  13. package/lib/extractors/json.d.ts +3 -2
  14. package/lib/extractors/json.js +17 -30
  15. package/lib/extractors/json.js.map +1 -1
  16. package/lib/extractors/schema.d.ts +73 -2
  17. package/lib/extractors/schema.js +31 -52
  18. package/lib/extractors/schema.js.map +1 -1
  19. package/lib/extractors/text.js +3 -4
  20. package/lib/extractors/text.js.map +1 -1
  21. package/lib/extractors/utils.d.ts +4 -4
  22. package/lib/extractors/utils.js +17 -16
  23. package/lib/extractors/utils.js.map +1 -1
  24. package/lib/fs/glob.d.ts +2 -2
  25. package/lib/fs/glob.js +10 -22
  26. package/lib/fs/glob.js.map +1 -1
  27. package/lib/fs/index.js +2 -13
  28. package/lib/fs/index.js.map +1 -1
  29. package/lib/index.js +2 -2
  30. package/lib/index.js.map +1 -1
  31. package/lib/parser/exec.d.ts +0 -1
  32. package/lib/parser/exec.js +38 -60
  33. package/lib/parser/exec.js.map +1 -1
  34. package/lib/parser/index.d.ts +2 -2
  35. package/lib/parser/index.js +25 -19
  36. package/lib/parser/index.js.map +1 -1
  37. package/lib/parser/patterns.js +6 -7
  38. package/lib/parser/patterns.js.map +1 -1
  39. package/lib/parser/process.d.ts +4 -5
  40. package/lib/parser/process.js +25 -57
  41. package/lib/parser/process.js.map +1 -1
  42. package/lib/parser/progress.d.ts +3 -0
  43. package/lib/parser/progress.js +21 -0
  44. package/lib/parser/progress.js.map +1 -0
  45. package/lib/parser/taskRunner.d.ts +4 -0
  46. package/lib/parser/taskRunner.js +33 -0
  47. package/lib/parser/taskRunner.js.map +1 -0
  48. package/lib/parser/tree.d.ts +2 -2
  49. package/lib/parser/tree.js +40 -23
  50. package/lib/parser/tree.js.map +1 -1
  51. package/lib/utils/index.d.ts +1 -0
  52. package/lib/utils/index.js +7 -2
  53. package/lib/utils/index.js.map +1 -1
  54. package/package.json +21 -8
  55. package/tests/extract.test.ts +95 -104
  56. package/tests/{getFiles.old.ts → getFiles.test.ts} +3 -3
  57. package/tests/{ingnoreFunction.old.ts → ignoreFunction.test.ts} +4 -30
  58. package/tests/jsonParse.ts +51 -61
  59. package/tests/{extract-2.test.ts → tree.test.ts} +55 -8
  60. package/tsconfig.json +3 -3
  61. package/.github/workflows/node.js.yml +0 -33
  62. package/.github/workflows/tsDoc.yml +0 -52
  63. package/lib/cliArgs.d.ts +0 -4
  64. package/lib/cliArgs.js +0 -216
  65. package/lib/cliArgs.js.map +0 -1
  66. package/lib/consolidate.d.ts +0 -2
  67. package/lib/consolidate.js +0 -37
  68. package/lib/consolidate.js.map +0 -1
  69. package/lib/fs.d.ts +0 -2
  70. package/lib/fs.js +0 -69
  71. package/lib/fs.js.map +0 -1
  72. package/lib/glob.d.ts +0 -13
  73. package/lib/glob.js +0 -95
  74. package/lib/glob.js.map +0 -1
  75. package/lib/makePot.d.ts +0 -2
  76. package/lib/makePot.js +0 -83
  77. package/lib/makePot.js.map +0 -1
  78. package/lib/maps.d.ts +0 -122
  79. package/lib/maps.js +0 -73
  80. package/lib/maps.js.map +0 -1
  81. package/lib/parser/consolidate.d.ts +0 -2
  82. package/lib/parser/consolidate.js +0 -37
  83. package/lib/parser/consolidate.js.map +0 -1
  84. package/lib/parser/makePot.d.ts +0 -2
  85. package/lib/parser/makePot.js +0 -33
  86. package/lib/parser/makePot.js.map +0 -1
  87. package/lib/parser.d.ts +0 -6
  88. package/lib/parser.js +0 -110
  89. package/lib/parser.js.map +0 -1
  90. package/lib/tree.d.ts +0 -2
  91. package/lib/tree.js +0 -78
  92. package/lib/tree.js.map +0 -1
  93. package/lib/utils.d.ts +0 -8
  94. package/lib/utils.js +0 -78
  95. package/lib/utils.js.map +0 -1
  96. package/tests/consolidate.test.ts +0 -77
  97. package/tests/getStrings.old.ts +0 -76
  98. package/tests/makePot.old.ts +0 -46
  99. package/tests/treeJs.old.ts +0 -16
  100. package/tests/treePhp.old.ts +0 -31
  101. package/tests/treeTs.old.ts +0 -16
  102. package/tests/utils.old.ts +0 -28
  103. /package/{LICENSE.md → LICENSE} +0 -0
package/README.md CHANGED
@@ -1,58 +1,75 @@
1
- ## make-pot
2
-
3
- `make-pot` is a Node.js module designed to generate the `.pot` file for your WordPress plugin or theme. This file serves as the basis for internationalization, allowing translators to localize your plugin or theme into different languages.
4
-
5
- Extract strings from your WordPress plugin or theme and generate a `.pot` file. Works with `js`, `jx`, `ts`, `tsx`, `cjs`, `mjs`, `php`, `blade`, `txt`, `json` with a custom schema for theme and block.json files.
6
-
7
- ### Installation
8
-
9
- You can install `make-pot` globally via npm:
10
-
11
- ```
12
- npm install -g @wp-blocks/make-pot
13
- ```
14
-
15
- ### Usage
16
-
17
- ```bash
18
- npx @wp-blocks/make-pot <sourceDirectory> [destination] [options]
19
- ```
20
-
21
- #### Positional Arguments:
22
-
23
- - `sourceDirectory`: Specifies the source directory of your plugin or theme.
24
- - `destination` (optional): Specifies the destination directory where the `.pot` file will be generated. If not provided, the `.pot` file will be created in the source directory.
25
-
26
- #### Options:
27
-
28
- - `--version`: Displays the version number of `make-pot`.
29
- - `-h`, `--help`: Displays help information.
30
- - `--slug <slug>`: Specifies the plugin or theme slug.
31
- - `--domain <domain>`: Specifies the text domain to look for in the source code.
32
- - `--skip-js`: Skips JavaScript files during processing.
33
- - `--skip-php`: Skips PHP files during processing.
34
- - `--skip-blade`: Skips Blade files during processing.
35
- - `--skip-block-json`: Skips block.json files during processing.
36
- - `--skip-theme-json`: Skips theme.json files during processing.
37
- - `--skip-audit`: Skips auditing of strings.
38
- - `--headers <headers>`: Specifies additional headers for the `.pot` file.
39
- - `--file-comment <comment>`: Specifies the file comment for the `.pot` file.
40
- - `--package-name <name>`: Specifies the package name.
41
- - `--location`: Includes location information in the `.pot` file.
42
- - `--ignore-domain`: Ignores text domain in the processing.
43
- - `--mergePaths <paths>`: Merges with existing POT file(s).
44
- - `--subtractPaths <paths>`: Subtracts strings from existing POT file(s).
45
- - `--subtractAndMerge`: Subtracts and merges strings from existing POT file(s).
46
- - `--include <files>`: Includes specific files for processing.
47
- - `--exclude <files>`: Excludes specific files from processing.
48
- - `--silent`: Suppresses output to stdout.
49
- - `--json`: Outputs the JSON gettext data.
50
- - `--output`: Outputs the gettext data.
51
-
52
- ### Credits
53
-
54
- This module is heavily inspired by the original `makepot` command from [WP-CLI](https://github.com/wp-cli/i18n-command).
55
- Special thanks to the maintainers in particular [Swissspidy](https://github.com/swissspidy) which
56
- has been very helpful with suggestions and tips on how to rebuild `make-pot`.
57
-
58
- Feel free to contribute or report issues on [GitHub](https://github.com/example/example).
1
+ [![](https://img.shields.io/npm/v/@wp-blocks/make-pot.svg?label=npm%20version)](https://www.npmjs.com/package/@wp-blocks/make-pot)
2
+ [![](https://img.shields.io/npm/l/@wp-blocks/make-pot)](https://github.com/wp-blocks/make-pot?tab=GPL-3.0-1-ov-file#readme)
3
+ [![](https://github.com/wp-blocks/make-pot/actions/workflows/node.js.yml/badge.svg)](https://github.com/wp-blocks/make-pot/actions/workflows/node.js.yml)
4
+
5
+ ## Make Pot
6
+
7
+ `make-pot` is a Node.js module designed to generate the `.pot` file for your WordPress plugin or theme. This file serves as the basis for internationalization, allowing translators to localize your plugin or theme into different languages.
8
+
9
+ Extract strings from your WordPress plugin or theme and generate a `.pot` file. Works with `js`, `jx`, `ts`, `tsx`, `cjs`, `mjs`, `php`, `blade`, `txt`, `json` with a custom schema for theme and block.json files.
10
+
11
+ ### Installation
12
+
13
+ You can install `make-pot` globally via npm:
14
+
15
+ ```
16
+ npm install -g @wp-blocks/make-pot
17
+ ```
18
+
19
+ ### Usage
20
+
21
+ ```bash
22
+ npx @wp-blocks/make-pot [sourceDirectory] [destination] [options]
23
+ ```
24
+
25
+ #### Positional Arguments:
26
+
27
+ - `sourceDirectory` (optional): Specifies the source directory of your plugin or theme. If not provided, the `.pot` file root will be the source directory.
28
+ - `destination` (optional): Specifies the destination directory where the `.pot` file will be generated. If not provided, the `.pot` file will be created in the source directory.
29
+
30
+ #### Options:
31
+
32
+ - `--version`: Displays the version number of `make-pot`.
33
+ - `-h`, `--help`: Displays help information.
34
+ - `--slug <slug>`: Specifies the plugin or theme slug.
35
+ - `--domain <domain>`: Specifies the text domain to look for in the source code.
36
+ - `--skip-js`: Skips JavaScript files during processing.
37
+ - `--skip-php`: Skips PHP files during processing.
38
+ - `--skip-blade`: Skips Blade files during processing.
39
+ - `--skip-block-json`: Skips block.json files during processing.
40
+ - `--skip-theme-json`: Skips theme.json files during processing.
41
+ - `--skip-audit`: Skips auditing of strings.
42
+ - `--headers <headers>`: Specifies additional headers for the `.pot` file.
43
+ - `--file-comment <comment>`: Specifies the file comment for the `.pot` file.
44
+ - `--package-name <name>`: Specifies the package name.
45
+ - `--location`: Includes location information in the `.pot` file.
46
+ - `--ignore-domain`: Ignores text domain in the processing.
47
+ - `--mergePaths <paths>`: Merges with existing POT file(s).
48
+ - `--subtractPaths <paths>`: Subtracts strings from existing POT file(s).
49
+ - `--subtractAndMerge`: Subtracts and merges strings from existing POT file(s).
50
+ - `--include <files>`: Includes specific files for processing.
51
+ - `--exclude <files>`: Excludes specific files from processing.
52
+ - `--silent`: Suppresses output to stdout.
53
+ - `--json`: Outputs the JSON gettext data.
54
+ - `--output`: Outputs the gettext data.
55
+
56
+ ## As a build chain step
57
+
58
+ The `make-pot` module can be used as a build step in your build chain.
59
+ To do so, create a `build:makepot` action in your `package.json` with the following content (refer to the [options](https://github.com/wp-blocks/make-pot?tab=readme-ov-file#options) for more information):
60
+
61
+ ```json
62
+ {
63
+ "build:makepot": "npx @wp-blocks/make-pot [sourceDirectory] [destination] [options]"
64
+ }
65
+ ```
66
+
67
+ ### Credits
68
+
69
+ This module is heavily inspired by the original `makepot` command from [WP-CLI](https://github.com/wp-cli/i18n-command).
70
+ Special thanks to the maintainers in particular [Swissspidy](https://github.com/swissspidy) which
71
+ has been very helpful with suggestions and tips on how to rebuild `make-pot`.
72
+
73
+ Feel free to contribute or report issues on [GitHub](https://github.com/example/example).
74
+
75
+ This tool is licensed under the [GNU General Public License v3](LICENSE).
package/jest.config.json CHANGED
@@ -1,5 +1,6 @@
1
1
  {
2
2
  "preset": "ts-jest",
3
+ "testEnvironment": "node",
3
4
  "testRegex": "(/tests/.*(test|spec))\\.tsx?$",
4
5
  "transformIgnorePatterns": ["/node_modules/"],
5
6
  "coverageThreshold": {
@@ -10,5 +11,8 @@
10
11
  "statements": 10
11
12
  }
12
13
  },
13
- "collectCoverageFrom": ["./src/**/*.{js,jsx,ts,tsx}", "!**/tests/**"]
14
+ "collectCoverageFrom": ["./src/**/*.{js,jsx,ts,tsx}", "!**/tests/**"],
15
+ "coverageReporters": [ "json", "lcov", "text", "clover" ],
16
+ "collectCoverage": true,
17
+ "coverageDirectory": "docs/coverage"
14
18
  }
@@ -51,16 +51,15 @@ function isThemeOrPlugin(currentPath = '/', slug) {
51
51
  currentWorkingDirectory +
52
52
  ' does not contain a style.css file');
53
53
  }
54
- if (currentWorkingDirectory.includes('themes')) {
54
+ if (currentWorkingDirectory.includes('wp-content' + path.sep + 'themes')) {
55
55
  return 'theme';
56
56
  }
57
- else if (currentWorkingDirectory.includes('plugins')) {
57
+ else if (currentWorkingDirectory.includes('wp-content' + path.sep + 'plugins')) {
58
58
  return 'plugin';
59
59
  }
60
60
  return 'generic';
61
61
  }
62
62
  function parseCliArgs(args) {
63
- var _a, _b, _c, _d, _e, _f;
64
63
  const inputPath = typeof args._[0] === 'string' ? args._[0] : '.';
65
64
  const outputPath = typeof args._[1] === 'string' ? args._[1] : '.';
66
65
  const currentWorkingDirectory = process.cwd();
@@ -69,18 +68,18 @@ function parseCliArgs(args) {
69
68
  : path.basename(path.resolve(currentWorkingDirectory, inputPath));
70
69
  const cwd = path.relative(currentWorkingDirectory, inputPath);
71
70
  const out = path.relative(currentWorkingDirectory, outputPath);
72
- const domain = (_a = args === null || args === void 0 ? void 0 : args.domain) !== null && _a !== void 0 ? _a : isThemeOrPlugin(path.resolve(cwd), slug);
71
+ const domain = args?.domain ?? isThemeOrPlugin(path.resolve(cwd), slug);
73
72
  const parsedArgs = {
74
73
  slug: slug,
75
74
  domain: domain,
76
75
  paths: { cwd: cwd, out: out },
77
76
  options: {
78
- ignoreDomain: !!(args === null || args === void 0 ? void 0 : args.ignoreDomain),
77
+ ignoreDomain: !!args?.ignoreDomain,
79
78
  packageName: String(args.packageName),
80
79
  silent: !!args.silent,
81
80
  json: !!args.json,
82
- location: !!(args === null || args === void 0 ? void 0 : args.location),
83
- output: !!(args === null || args === void 0 ? void 0 : args.output),
81
+ location: !!args?.location,
82
+ output: !!args?.output,
84
83
  fileComment: args.fileComment
85
84
  ? String(args.fileComment)
86
85
  : undefined,
@@ -94,14 +93,14 @@ function parseCliArgs(args) {
94
93
  },
95
94
  },
96
95
  headers: {
97
- fileComment: (_b = args.fileComment) !== null && _b !== void 0 ? _b : '',
96
+ fileComment: args.fileComment ?? '',
98
97
  },
99
98
  patterns: {
100
- mergePaths: (_c = (0, utils_1.stringstring)(args.mergePaths)) !== null && _c !== void 0 ? _c : [],
101
- subtractPaths: (_d = (0, utils_1.stringstring)(args.subtractPaths)) !== null && _d !== void 0 ? _d : [],
99
+ mergePaths: (0, utils_1.stringstring)(args.mergePaths) ?? [],
100
+ subtractPaths: (0, utils_1.stringstring)(args.subtractPaths) ?? [],
102
101
  subtractAndMerge: !!args.subtractAndMerge,
103
- include: (_e = (0, utils_1.stringstring)(args.include)) !== null && _e !== void 0 ? _e : ['**'],
104
- exclude: (_f = (0, utils_1.stringstring)(args.exclude)) !== null && _f !== void 0 ? _f : const_1.DEFAULT_EXCLUDED_PATH,
102
+ include: (0, utils_1.stringstring)(args.include) ?? ['**'],
103
+ exclude: (0, utils_1.stringstring)(args.exclude) ?? const_1.DEFAULT_EXCLUDED_PATH,
105
104
  },
106
105
  };
107
106
  parsedArgs.paths.root = args.root ? String(args.root) : undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"parseCli.js","sourceRoot":"","sources":["../../src/cli/parseCli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseCli.js","sourceRoot":"","sources":["../../src/cli/parseCli.ts"],"names":[],"mappings":"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"}
package/lib/const.js CHANGED
@@ -54,18 +54,7 @@ exports.DEFAULT_EXCLUDED_PATH = [
54
54
  '**.test.**',
55
55
  'tests',
56
56
  ];
57
- exports.allowedFiles = [
58
- 'php',
59
- 'js',
60
- 'jsx',
61
- 'ts',
62
- 'tsx',
63
- 'mjs',
64
- 'cjs',
65
- 'txt',
66
- 'html',
67
- 'json',
68
- ];
57
+ exports.allowedFiles = ['php', 'js', 'jsx', 'ts', 'tsx', 'mjs', 'cjs'];
69
58
  exports.i18nFunctions = {
70
59
  __: ['msgid', 'text_domain'],
71
60
  esc_attr__: ['msgid', 'text_domain'],
package/lib/const.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAqD;AACrD,oEAAqD;AACrD,wEAAyD;AACzD,yEAA0D;AAC1D,2EAA4D;AAC5D,kDAA4D;AAU/C,QAAA,OAAO,GAA4B;IAC/C,IAAI,EAAJ,mBAAI;IACJ,OAAO,EAAP,sBAAO;IACP,WAAW,EAAX,0BAAW;CACX,CAAA;AAKY,QAAA,SAAS,GAAG,SAAS,CAAA;AACrB,QAAA,SAAS,GAAG,SAAS,CAAA;AACrB,QAAA,cAAc,GAAG,WAAW,CAAA;AAK5B,QAAA,aAAa,GAAG,YAAY,CAAA;AAK5B,QAAA,YAAY,GAAG,WAAW,CAAA;AAM1B,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,CAAA;AAEY,QAAA,YAAY,GAAG;IAC3B,KAAK;IACL,IAAI;IACJ,KAAK;IACL,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,KAAK;IACL,MAAM;IACN,MAAM;CACN,CAAA;AAIY,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;IAG7D,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IAG3B,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,CAAA"}
1
+ {"version":3,"file":"const.js","sourceRoot":"","sources":["../src/const.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,oEAAqD;AACrD,oEAAqD;AACrD,wEAAyD;AACzD,yEAA0D;AAC1D,2EAA4D;AAC5D,kDAA4D;AAU/C,QAAA,OAAO,GAA4B;IAC/C,IAAI,EAAJ,mBAAI;IACJ,OAAO,EAAP,sBAAO;IACP,WAAW,EAAX,0BAAW;CACX,CAAA;AAKY,QAAA,SAAS,GAAG,SAAS,CAAA;AACrB,QAAA,SAAS,GAAG,SAAS,CAAA;AACrB,QAAA,cAAc,GAAG,WAAW,CAAA;AAK5B,QAAA,aAAa,GAAG,YAAY,CAAA;AAK5B,QAAA,YAAY,GAAG,WAAW,CAAA;AAM1B,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,CAAA;AAOY,QAAA,YAAY,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAA;AAI9D,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;IAG7D,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC;IAG3B,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,CAAA"}
@@ -1,6 +1,5 @@
1
1
  import { Args, PotHeaders } from '../types';
2
+ import { SetOfBlocks } from 'gettext-merger';
2
3
  export declare function generateHeader(args: Args): Record<PotHeaders, string>;
3
4
  export declare function extractMainFileData(args: Args): Record<string, string>;
4
- export declare function translationsHeaders(args: Args): {
5
- [x: string]: import("gettext-parser").GetTextTranslation;
6
- };
5
+ export declare function translationsHeaders(args: Args): SetOfBlocks;
@@ -5,15 +5,25 @@ const php_1 = require("./php");
5
5
  const css_1 = require("./css");
6
6
  const utils_1 = require("./utils");
7
7
  const const_1 = require("../const");
8
+ const gettext_merger_1 = require("gettext-merger");
8
9
  function generateHeader(args) {
9
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
10
- const headerData = Object.assign(Object.assign({}, args.headers), { author: ((_a = args.headers) === null || _a === void 0 ? void 0 : _a.author) || 'AUTHOR', slug: args.slug || 'PLUGIN NAME', email: ((_b = args.headers) === null || _b === void 0 ? void 0 : _b.email) || 'EMAIL', license: ((_c = args.headers) === null || _c === void 0 ? void 0 : _c.license) || 'gpl-2.0 or later', version: ((_d = args.headers) === null || _d === void 0 ? void 0 : _d.version) || '1.0.0', language: ((_e = args.headers) === null || _e === void 0 ? void 0 : _e.language) || 'en', domain: ((_f = args.headers) === null || _f === void 0 ? void 0 : _f.textDomain) || ((_g = args.headers) === null || _g === void 0 ? void 0 : _g.slug) || undefined, bugs: {
11
- url: ((_h = args.headers) === null || _h === void 0 ? void 0 : _h.bugsUrl) ||
10
+ const headerData = {
11
+ ...args.headers,
12
+ author: args.headers?.author || 'AUTHOR',
13
+ slug: args.slug || 'PLUGIN NAME',
14
+ email: args.headers?.email || 'EMAIL',
15
+ license: args.headers?.license || 'gpl-2.0 or later',
16
+ version: args.headers?.version || '1.0.0',
17
+ language: args.headers?.language || 'en',
18
+ domain: args.headers?.textDomain || args.headers?.slug || undefined,
19
+ bugs: {
20
+ url: args.headers?.bugsUrl ||
12
21
  'https://wordpress.org/support/plugin/' + args.slug,
13
- email: ((_j = args.headers) === null || _j === void 0 ? void 0 : _j.bugsEmail) ||
14
- ((_k = args.headers) === null || _k === void 0 ? void 0 : _k.authoremail) ||
22
+ email: args.headers?.bugsEmail ||
23
+ args.headers?.authoremail ||
15
24
  'AUTHOR EMAIL',
16
- } });
25
+ },
26
+ };
17
27
  const authorString = `${headerData.author} <${headerData.email}>`;
18
28
  const domain = headerData.domain ? `X-Domain: ${headerData.domain}` : '';
19
29
  return {
@@ -51,13 +61,13 @@ function translationsHeaders(args) {
51
61
  const { domain, headers } = args;
52
62
  const { name, description, author, authorUri, url } = headers;
53
63
  const fakePath = domain === 'plugin' ? args.slug + '.php' : 'style.css';
54
- return {
55
- [name]: (0, utils_1.gentranslation)(`Name of the ${domain}`, name, fakePath),
56
- [url]: (0, utils_1.gentranslation)(`Url of the ${domain}`, url, fakePath),
57
- [description]: (0, utils_1.gentranslation)(`Description of the ${domain}`, description, fakePath),
58
- [author]: (0, utils_1.gentranslation)(`Author of the ${domain}`, author, fakePath),
59
- [authorUri]: (0, utils_1.gentranslation)(`Author URI of the ${domain}`, authorUri, fakePath),
60
- };
64
+ return new gettext_merger_1.SetOfBlocks([
65
+ (0, utils_1.gentranslation)(`Name of the ${domain}`, name, fakePath),
66
+ (0, utils_1.gentranslation)(`Url of the ${domain}`, url, fakePath),
67
+ (0, utils_1.gentranslation)(`Description of the ${domain}`, description, fakePath),
68
+ (0, utils_1.gentranslation)(`Author of the ${domain}`, author, fakePath),
69
+ (0, utils_1.gentranslation)(`Author URI of the ${domain}`, authorUri, fakePath),
70
+ ]);
61
71
  }
62
72
  exports.translationsHeaders = translationsHeaders;
63
73
  //# sourceMappingURL=headers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/extractors/headers.ts"],"names":[],"mappings":";;;AACA,+BAA4C;AAC5C,+BAA2C;AAC3C,mCAAwC;AACxC,oCAAkC;AAiBlC,SAAgB,cAAc,CAAC,IAAU;;IAExC,MAAM,UAAU,GAAG,gCACf,IAAI,CAAC,OAAO,KACf,MAAM,EAAE,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,MAAM,KAAI,QAAQ,EACxC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,aAAa,EAChC,KAAK,EAAE,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,KAAK,KAAI,OAAO,EACrC,OAAO,EAAE,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,KAAI,kBAAkB,EACpD,OAAO,EAAE,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO,KAAI,OAAO,EACzC,QAAQ,EAAE,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,QAAQ,KAAI,IAAI,EACxC,MAAM,EAAE,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,UAAU,MAAI,MAAA,IAAI,CAAC,OAAO,0CAAE,IAAI,CAAA,IAAI,SAAS,EACnE,IAAI,EAAE;YACL,GAAG,EACF,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,OAAO;gBACrB,uCAAuC,GAAG,IAAI,CAAC,IAAI;YACpD,KAAK,EACJ,CAAA,MAAA,IAAI,CAAC,OAAO,0CAAE,SAAS;iBACvB,MAAA,IAAI,CAAC,OAAO,0CAAE,WAAW,CAAA;gBACzB,cAAc;SACf,GACQ,CAAA;IACV,MAAM,YAAY,GAAG,GAAG,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,GAAG,CAAA;IACjE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAExE,OAAO;QACN,oBAAoB,EAAE,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;QAChE,sBAAsB,EAAE,YAAY;QACpC,cAAc,EAAE,KAAK;QACrB,2BAA2B,EAAE,MAAM;QACnC,cAAc,EAAE,gCAAgC;QAChD,cAAc,EAAE,4BAA4B;QAC5C,mBAAmB,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QAClD,kBAAkB,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,mBAAmB;QAClE,iBAAiB,EAAE,YAAY;QAC/B,eAAe,EAAE,YAAY;QAC7B,aAAa,EAAE,GAAG,eAAO,CAAC,IAAI,IAAI,eAAO,CAAC,OAAO,EAAE;QACnD,QAAQ,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE;QAElC,MAAM;KACN,CAAA;AACF,CAAC;AAxCD,wCAwCC;AAQD,SAAgB,mBAAmB,CAAC,IAAU;IAC7C,IAAI,aAAa,GAAG,EAAE,CAAA;IACtB,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,aAAa,GAAG,IAAA,0BAAoB,EAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;SAAM,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,aAAa,GAAG,IAAA,yBAAmB,EAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,aAAa,CAAA;AACrB,CAAC;AAXD,kDAWC;AAQD,SAAgB,mBAAmB,CAAC,IAAU;IAC7C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAY,CAAA;IACxC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAMrD,CAAA;IAGD,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAA;IAGvE,OAAO;QACN,CAAC,IAAI,CAAC,EAAE,IAAA,sBAAc,EAAC,eAAe,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC;QAC/D,CAAC,GAAG,CAAC,EAAE,IAAA,sBAAc,EAAC,cAAc,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC;QAC5D,CAAC,WAAW,CAAC,EAAE,IAAA,sBAAc,EAC5B,sBAAsB,MAAM,EAAE,EAC9B,WAAW,EACX,QAAQ,CACR;QACD,CAAC,MAAM,CAAC,EAAE,IAAA,sBAAc,EAAC,iBAAiB,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC;QACrE,CAAC,SAAS,CAAC,EAAE,IAAA,sBAAc,EAC1B,qBAAqB,MAAM,EAAE,EAC7B,SAAS,EACT,QAAQ,CACR;KACD,CAAA;AACF,CAAC;AA7BD,kDA6BC"}
1
+ {"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/extractors/headers.ts"],"names":[],"mappings":";;;AACA,+BAA4C;AAC5C,+BAA2C;AAC3C,mCAAwC;AACxC,oCAAkC;AAClC,mDAA4C;AAiB5C,SAAgB,cAAc,CAAC,IAAU;IAExC,MAAM,UAAU,GAAG;QAClB,GAAG,IAAI,CAAC,OAAO;QACf,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,IAAI,QAAQ;QACxC,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,aAAa;QAChC,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,OAAO;QACrC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,kBAAkB;QACpD,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO;QACzC,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,QAAQ,IAAI,IAAI;QACxC,MAAM,EAAE,IAAI,CAAC,OAAO,EAAE,UAAU,IAAI,IAAI,CAAC,OAAO,EAAE,IAAI,IAAI,SAAS;QACnE,IAAI,EAAE;YACL,GAAG,EACF,IAAI,CAAC,OAAO,EAAE,OAAO;gBACrB,uCAAuC,GAAG,IAAI,CAAC,IAAI;YACpD,KAAK,EACJ,IAAI,CAAC,OAAO,EAAE,SAAS;gBACvB,IAAI,CAAC,OAAO,EAAE,WAAW;gBACzB,cAAc;SACf;KACQ,CAAA;IACV,MAAM,YAAY,GAAG,GAAG,UAAU,CAAC,MAAM,KAAK,UAAU,CAAC,KAAK,GAAG,CAAA;IACjE,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,aAAa,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAA;IAExE,OAAO;QACN,oBAAoB,EAAE,GAAG,UAAU,CAAC,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE;QAChE,sBAAsB,EAAE,YAAY;QACpC,cAAc,EAAE,KAAK;QACrB,2BAA2B,EAAE,MAAM;QACnC,cAAc,EAAE,gCAAgC;QAChD,cAAc,EAAE,4BAA4B;QAC5C,mBAAmB,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,EAAE;QAClD,kBAAkB,EAAE,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,mBAAmB;QAClE,iBAAiB,EAAE,YAAY;QAC/B,eAAe,EAAE,YAAY;QAC7B,aAAa,EAAE,GAAG,eAAO,CAAC,IAAI,IAAI,eAAO,CAAC,OAAO,EAAE;QACnD,QAAQ,EAAE,GAAG,UAAU,CAAC,QAAQ,EAAE;QAElC,MAAM;KACN,CAAA;AACF,CAAC;AAxCD,wCAwCC;AAQD,SAAgB,mBAAmB,CAAC,IAAU;IAC7C,IAAI,aAAa,GAAG,EAAE,CAAA;IACtB,IAAI,CAAC,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1D,aAAa,GAAG,IAAA,0BAAoB,EAAC,IAAI,CAAC,CAAA;IAC3C,CAAC;SAAM,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3D,aAAa,GAAG,IAAA,yBAAmB,EAAC,IAAI,CAAC,CAAA;IAC1C,CAAC;SAAM,CAAC;QACP,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAA;IACtC,CAAC;IAED,OAAO,aAAa,CAAA;AACrB,CAAC;AAXD,kDAWC;AAQD,SAAgB,mBAAmB,CAAC,IAAU;IAC7C,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,IAAY,CAAA;IACxC,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,OAMrD,CAAA;IAGD,MAAM,QAAQ,GAAG,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC,WAAW,CAAA;IAEvE,OAAO,IAAI,4BAAW,CAAC;QACtB,IAAA,sBAAc,EAAC,eAAe,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC;QACvD,IAAA,sBAAc,EAAC,cAAc,MAAM,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC;QACrD,IAAA,sBAAc,EAAC,sBAAsB,MAAM,EAAE,EAAE,WAAW,EAAE,QAAQ,CAAC;QACrE,IAAA,sBAAc,EAAC,iBAAiB,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC;QAC3D,IAAA,sBAAc,EAAC,qBAAqB,MAAM,EAAE,EAAE,SAAS,EAAE,QAAQ,CAAC;KAClE,CAAC,CAAA;AACH,CAAC;AApBD,kDAoBC"}
@@ -1,2 +1,2 @@
1
- import { type TranslationStrings } from '../types';
2
- export declare function parseFile(file: string, filePath?: string): Promise<TranslationStrings | undefined>;
1
+ import { SetOfBlocks } from 'gettext-merger';
2
+ export declare function parseFile(file: string, filePath?: string): Promise<SetOfBlocks | undefined>;
@@ -22,39 +22,29 @@ var __importStar = (this && this.__importStar) || function (mod) {
22
22
  __setModuleDefault(result, mod);
23
23
  return result;
24
24
  };
25
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
- return new (P || (P = Promise))(function (resolve, reject) {
28
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
- step((generator = generator.apply(thisArg, _arguments || [])).next());
32
- });
33
- };
34
25
  Object.defineProperty(exports, "__esModule", { value: true });
35
26
  exports.parseFile = void 0;
36
27
  const path = __importStar(require("path"));
37
28
  const fs_1 = require("../fs");
38
29
  const json_1 = require("./json");
39
30
  const tree_1 = require("../parser/tree");
40
- function parseFile(file, filePath = '') {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- const filename = path.basename(file);
43
- const ext = path.extname(file).replace(/^./, '');
44
- const fileRealPath = path.resolve(filePath, file);
45
- if (ext === 'json') {
46
- if (filename === 'theme.json' || filename === 'block.json') {
47
- return (0, fs_1.readFileAsync)(fileRealPath).then((sourceCode) => {
48
- return (0, json_1.parseJsonCallback)(sourceCode, filePath, filename);
49
- });
50
- }
51
- }
52
- if (['ts', 'tsx', 'js', 'jsx', 'mjs', 'cjs', 'php'].includes(ext)) {
53
- return (0, fs_1.readFileAsync)(fileRealPath).then((sourceCode) => {
54
- return (0, tree_1.doTree)(sourceCode, file);
31
+ const const_1 = require("../const");
32
+ async function parseFile(file, filePath = '') {
33
+ const filename = path.basename(file);
34
+ const ext = path.extname(file).replace(/^./, '');
35
+ const fileRealPath = path.resolve(filePath, file);
36
+ if (ext === 'json') {
37
+ if (filename === 'theme.json' || filename === 'block.json') {
38
+ return (0, fs_1.readFileAsync)(fileRealPath).then(async (sourceCode) => {
39
+ return await (0, json_1.parseJsonCallback)(sourceCode, filePath, filename);
55
40
  });
56
41
  }
57
- });
42
+ }
43
+ if (const_1.allowedFiles.includes(ext)) {
44
+ return (0, fs_1.readFileAsync)(fileRealPath).then((sourceCode) => {
45
+ return (0, tree_1.doTree)(sourceCode, file);
46
+ });
47
+ }
58
48
  }
59
49
  exports.parseFile = parseFile;
60
50
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extractors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAE5B,8BAAqC;AACrC,iCAA0C;AAC1C,yCAAuC;AAOvC,SAAsB,SAAS,CAC9B,IAAY,EACZ,WAAmB,EAAE;;QAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;QAChD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;QAEjD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;YACpB,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;gBAC5D,OAAO,IAAA,kBAAa,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;oBACtD,OAAO,IAAA,wBAAiB,EAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;gBACzD,CAAC,CAAC,CAAA;YACH,CAAC;QACF,CAAC;QAED,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAEnE,OAAO,IAAA,kBAAa,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;gBACtD,OAAO,IAAA,aAAM,EAAC,UAAU,EAAE,IAAI,CAAC,CAAA;YAChC,CAAC,CAAC,CAAA;QACH,CAAC;IACF,CAAC;CAAA;AAtBD,8BAsBC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/extractors/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAC5B,8BAAqC;AACrC,iCAA0C;AAC1C,yCAAuC;AAEvC,oCAAuC;AAOhC,KAAK,UAAU,SAAS,CAC9B,IAAY,EACZ,WAAmB,EAAE;IAErB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAA;IACpC,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;IAChD,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAA;IAEjD,IAAI,GAAG,KAAK,MAAM,EAAE,CAAC;QACpB,IAAI,QAAQ,KAAK,YAAY,IAAI,QAAQ,KAAK,YAAY,EAAE,CAAC;YAC5D,OAAO,IAAA,kBAAa,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,UAAU,EAAE,EAAE;gBAC5D,OAAO,MAAM,IAAA,wBAAiB,EAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAA;YAC/D,CAAC,CAAC,CAAA;QACH,CAAC;IACF,CAAC;IAED,IAAI,oBAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAEhC,OAAO,IAAA,kBAAa,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;YACtD,OAAO,IAAA,aAAM,EAAC,UAAU,EAAE,IAAI,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;IACH,CAAC;AACF,CAAC;AAtBD,8BAsBC"}
@@ -1,4 +1,5 @@
1
- import type { Args, I18nSchema, TranslationStrings } from '../types';
1
+ import type { Args, I18nSchema } from '../types';
2
+ import { SetOfBlocks } from 'gettext-merger';
2
3
  export declare function parseJsonFile(opts: {
3
4
  fileContent: string;
4
5
  filename: 'block.json' | 'theme.json';
@@ -6,4 +7,4 @@ export declare function parseJsonFile(opts: {
6
7
  }): Promise<I18nSchema>;
7
8
  export declare function getJsonComment(key: string, type?: string): string;
8
9
  export declare function extractPackageJson(args: Args): Record<string, string>;
9
- export declare function parseJsonCallback(fileContent: string, filePath: string, filename: 'block.json' | 'theme.json'): Promise<TranslationStrings>;
10
+ export declare function parseJsonCallback(fileContent: string, filePath: string, filename: 'block.json' | 'theme.json'): Promise<SetOfBlocks>;
@@ -1,13 +1,4 @@
1
1
  "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
12
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
13
4
  };
@@ -18,20 +9,18 @@ const schema_1 = require("./schema");
18
9
  const path_1 = __importDefault(require("path"));
19
10
  const fs_1 = __importDefault(require("fs"));
20
11
  const utils_1 = require("./utils");
21
- function parseJsonFile(opts) {
22
- return __awaiter(this, void 0, void 0, function* () {
23
- const jsonTranslations = yield schema_1.JsonSchemaExtractor.fromString(opts.fileContent, {
24
- file: opts.filename,
25
- schema: opts.filename === 'theme.json'
26
- ? schema_1.JsonSchemaExtractor.themeJsonSource
27
- : schema_1.JsonSchemaExtractor.blockJsonSource,
28
- schemaFallback: opts.filename === 'theme.json'
29
- ? schema_1.JsonSchemaExtractor.themeJsonFallback
30
- : schema_1.JsonSchemaExtractor.blockJsonFallback,
31
- addReferences: true,
32
- });
33
- return jsonTranslations !== null && jsonTranslations !== void 0 ? jsonTranslations : {};
12
+ async function parseJsonFile(opts) {
13
+ const jsonTranslations = await schema_1.JsonSchemaExtractor.fromString(opts.fileContent, {
14
+ file: opts.filename,
15
+ schema: opts.filename === 'theme.json'
16
+ ? schema_1.JsonSchemaExtractor.themeJsonSource
17
+ : schema_1.JsonSchemaExtractor.blockJsonSource,
18
+ schemaFallback: opts.filename === 'theme.json'
19
+ ? schema_1.JsonSchemaExtractor.themeJsonFallback
20
+ : schema_1.JsonSchemaExtractor.blockJsonFallback,
21
+ addReferences: true,
34
22
  });
23
+ return jsonTranslations ?? {};
35
24
  }
36
25
  exports.parseJsonFile = parseJsonFile;
37
26
  function getSchema(type) {
@@ -68,15 +57,13 @@ function extractPackageJson(args) {
68
57
  return pkgJsonMeta;
69
58
  }
70
59
  exports.extractPackageJson = extractPackageJson;
71
- function parseJsonCallback(fileContent, filePath, filename) {
72
- return __awaiter(this, void 0, void 0, function* () {
73
- const data = yield parseJsonFile({
74
- fileContent: fileContent,
75
- filename: filename,
76
- filepath: filePath,
77
- });
78
- return (0, utils_1.yieldParsedData)(data, filename, path_1.default.join(filePath, filename));
60
+ async function parseJsonCallback(fileContent, filePath, filename) {
61
+ const data = await parseJsonFile({
62
+ fileContent: fileContent,
63
+ filename: filename,
64
+ filepath: filePath,
79
65
  });
66
+ return (0, utils_1.yieldParsedData)(data, filename, path_1.default.join(filePath, filename));
80
67
  }
81
68
  exports.parseJsonCallback = parseJsonCallback;
82
69
  //# sourceMappingURL=json.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/extractors/json.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AACA,oCAA+D;AAC/D,qCAA8C;AAC9C,gDAAuB;AACvB,4CAAmB;AACnB,mCAAyC;AAWzC,SAAsB,aAAa,CAAC,IAInC;;QACA,MAAM,gBAAgB,GAAG,MAAM,4BAAmB,CAAC,UAAU,CAC5D,IAAI,CAAC,WAAW,EAChB;YACC,IAAI,EAAE,IAAI,CAAC,QAAQ;YACnB,MAAM,EACL,IAAI,CAAC,QAAQ,KAAK,YAAY;gBAC7B,CAAC,CAAC,4BAAmB,CAAC,eAAe;gBACrC,CAAC,CAAC,4BAAmB,CAAC,eAAe;YACvC,cAAc,EACb,IAAI,CAAC,QAAQ,KAAK,YAAY;gBAC7B,CAAC,CAAC,4BAAmB,CAAC,iBAAiB;gBACvC,CAAC,CAAC,4BAAmB,CAAC,iBAAiB;YACzC,aAAa,EAAE,IAAI;SACnB,CACD,CAAA;QACD,OAAO,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,EAAE,CAAA;IAC9B,CAAC;CAAA;AArBD,sCAqBC;AAED,SAAS,SAAS,CAAC,IAAa;IAC/B,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,YAAY;YAChB,OAAO,iBAAS,CAAA;QACjB,KAAK,YAAY;YAChB,OAAO,iBAAS,CAAA;QACjB;YACC,OAAO,EAAE,CAAA;IACX,CAAC;AACF,CAAC;AASD,SAAgB,cAAc,CAAC,GAAW,EAAE,IAAa;IACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAChC,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,QAAQ,CAAC,GAA4B,CAAC;QACxC,CAAC,CAAC,GAAG,CAAA;AACP,CAAC;AALD,wCAKC;AAUD,SAAgB,kBAAkB,CAAC,IAAU;IAC5C,MAAM,MAAM,GAAG,sBAAc,CAAA;IAC7B,MAAM,WAAW,GAA2B,EAAE,CAAA;IAE9C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG;QACrC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;QAC3C,CAAC,CAAC,cAAc,CAAA;IAKjB,IAAI,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;QACxE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAEzC,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;gBAC1B,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAW,CAAA;YAClD,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAA;AACnB,CAAC;AArBD,gDAqBC;AAUD,SAAsB,iBAAiB,CACtC,WAAmB,EACnB,QAAgB,EAChB,QAAqC;;QAErC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC;YAChC,WAAW,EAAE,WAAW;YACxB,QAAQ,EAAE,QAAQ;YAClB,QAAQ,EAAE,QAAQ;SAClB,CAAC,CAAA;QAEF,OAAO,IAAA,uBAAe,EACrB,IAAyC,EACzC,QAAQ,EACR,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAC7B,CAAA;IACF,CAAC;CAAA;AAhBD,8CAgBC"}
1
+ {"version":3,"file":"json.js","sourceRoot":"","sources":["../../src/extractors/json.ts"],"names":[],"mappings":";;;;;;AACA,oCAA+D;AAC/D,qCAA8C;AAC9C,gDAAuB;AACvB,4CAAmB;AACnB,mCAAyC;AAYlC,KAAK,UAAU,aAAa,CAAC,IAInC;IACA,MAAM,gBAAgB,GAAG,MAAM,4BAAmB,CAAC,UAAU,CAC5D,IAAI,CAAC,WAAW,EAChB;QACC,IAAI,EAAE,IAAI,CAAC,QAAQ;QACnB,MAAM,EACL,IAAI,CAAC,QAAQ,KAAK,YAAY;YAC7B,CAAC,CAAC,4BAAmB,CAAC,eAAe;YACrC,CAAC,CAAC,4BAAmB,CAAC,eAAe;QACvC,cAAc,EACb,IAAI,CAAC,QAAQ,KAAK,YAAY;YAC7B,CAAC,CAAC,4BAAmB,CAAC,iBAAiB;YACvC,CAAC,CAAC,4BAAmB,CAAC,iBAAiB;QACzC,aAAa,EAAE,IAAI;KACnB,CACD,CAAA;IACD,OAAO,gBAAgB,IAAI,EAAE,CAAA;AAC9B,CAAC;AArBD,sCAqBC;AAED,SAAS,SAAS,CAAC,IAAa;IAC/B,QAAQ,IAAI,EAAE,CAAC;QACd,KAAK,YAAY;YAChB,OAAO,iBAAS,CAAA;QACjB,KAAK,YAAY;YAChB,OAAO,iBAAS,CAAA;QACjB;YACC,OAAO,EAAE,CAAA;IACX,CAAC;AACF,CAAC;AASD,SAAgB,cAAc,CAAC,GAAW,EAAE,IAAa;IACxD,MAAM,QAAQ,GAAG,SAAS,CAAC,IAAI,CAAC,CAAA;IAChC,OAAO,GAAG,IAAI,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC;QACpC,CAAC,CAAC,QAAQ,CAAC,GAA4B,CAAC;QACxC,CAAC,CAAC,GAAG,CAAA;AACP,CAAC;AALD,wCAKC;AAUD,SAAgB,kBAAkB,CAAC,IAAU;IAC5C,MAAM,MAAM,GAAG,sBAAc,CAAA;IAC7B,MAAM,WAAW,GAA2B,EAAE,CAAA;IAE9C,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG;QACrC,CAAC,CAAC,cAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,cAAc,CAAC;QAC3C,CAAC,CAAC,cAAc,CAAA;IAKjB,IAAI,YAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAA;QACxE,KAAK,MAAM,KAAK,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC;YAEzC,IAAI,KAAK,IAAI,WAAW,EAAE,CAAC;gBAC1B,WAAW,CAAC,KAAK,CAAC,GAAG,WAAW,CAAC,KAAK,CAAW,CAAA;YAClD,CAAC;QACF,CAAC;IACF,CAAC;IACD,OAAO,WAAW,CAAA;AACnB,CAAC;AArBD,gDAqBC;AAUM,KAAK,UAAU,iBAAiB,CACtC,WAAmB,EACnB,QAAgB,EAChB,QAAqC;IAErC,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC;QAChC,WAAW,EAAE,WAAW;QACxB,QAAQ,EAAE,QAAQ;QAClB,QAAQ,EAAE,QAAQ;KAClB,CAAC,CAAA;IAEF,OAAO,IAAA,uBAAe,EACrB,IAAyC,EACzC,QAAQ,EACR,cAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAC7B,CAAA;AACF,CAAC;AAhBD,8CAgBC"}
@@ -2,9 +2,80 @@ import { I18nSchema } from '../types';
2
2
  export declare class JsonSchemaExtractor {
3
3
  private static schemaCache;
4
4
  static themeJsonSource: string;
5
- static themeJsonFallback: string;
5
+ static themeJsonFallback: {
6
+ title: string;
7
+ settings: {
8
+ typography: {
9
+ fontSizes: {
10
+ name: string;
11
+ }[];
12
+ fontFamilies: {
13
+ name: string;
14
+ }[];
15
+ };
16
+ color: {
17
+ palette: {
18
+ name: string;
19
+ }[];
20
+ gradients: {
21
+ name: string;
22
+ }[];
23
+ duotone: {
24
+ name: string;
25
+ }[];
26
+ };
27
+ spacing: {
28
+ spacingSizes: {
29
+ name: string;
30
+ }[];
31
+ };
32
+ blocks: {
33
+ "*": {
34
+ typography: {
35
+ fontSizes: {
36
+ name: string;
37
+ }[];
38
+ fontFamilies: {
39
+ name: string;
40
+ }[];
41
+ };
42
+ color: {
43
+ palette: {
44
+ name: string;
45
+ }[];
46
+ gradients: {
47
+ name: string;
48
+ }[];
49
+ };
50
+ spacing: {
51
+ spacingSizes: {
52
+ name: string;
53
+ }[];
54
+ };
55
+ };
56
+ };
57
+ };
58
+ customTemplates: {
59
+ title: string;
60
+ }[];
61
+ templateParts: {
62
+ title: string;
63
+ }[];
64
+ };
6
65
  static blockJsonSource: string;
7
- static blockJsonFallback: string;
66
+ static blockJsonFallback: {
67
+ title: string;
68
+ description: string;
69
+ keywords: string[];
70
+ styles: {
71
+ label: string;
72
+ }[];
73
+ variations: {
74
+ title: string;
75
+ description: string;
76
+ keywords: string[];
77
+ }[];
78
+ };
8
79
  private static loadSchema;
9
80
  static fromString(text: string, options: {
10
81
  [key: string]: unknown;