@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.
- package/README.md +75 -58
- package/jest.config.json +5 -1
- package/lib/cli/parseCli.js +11 -12
- package/lib/cli/parseCli.js.map +1 -1
- package/lib/const.js +1 -12
- package/lib/const.js.map +1 -1
- package/lib/extractors/headers.d.ts +2 -3
- package/lib/extractors/headers.js +23 -13
- package/lib/extractors/headers.js.map +1 -1
- package/lib/extractors/index.d.ts +2 -2
- package/lib/extractors/index.js +15 -25
- package/lib/extractors/index.js.map +1 -1
- package/lib/extractors/json.d.ts +3 -2
- package/lib/extractors/json.js +17 -30
- package/lib/extractors/json.js.map +1 -1
- package/lib/extractors/schema.d.ts +73 -2
- package/lib/extractors/schema.js +31 -52
- package/lib/extractors/schema.js.map +1 -1
- package/lib/extractors/text.js +3 -4
- package/lib/extractors/text.js.map +1 -1
- package/lib/extractors/utils.d.ts +4 -4
- package/lib/extractors/utils.js +17 -16
- package/lib/extractors/utils.js.map +1 -1
- package/lib/fs/glob.d.ts +2 -2
- package/lib/fs/glob.js +10 -22
- package/lib/fs/glob.js.map +1 -1
- package/lib/fs/index.js +2 -13
- package/lib/fs/index.js.map +1 -1
- package/lib/index.js +2 -2
- package/lib/index.js.map +1 -1
- package/lib/parser/exec.d.ts +0 -1
- package/lib/parser/exec.js +38 -60
- package/lib/parser/exec.js.map +1 -1
- package/lib/parser/index.d.ts +2 -2
- package/lib/parser/index.js +25 -19
- package/lib/parser/index.js.map +1 -1
- package/lib/parser/patterns.js +6 -7
- package/lib/parser/patterns.js.map +1 -1
- package/lib/parser/process.d.ts +4 -5
- package/lib/parser/process.js +25 -57
- package/lib/parser/process.js.map +1 -1
- package/lib/parser/progress.d.ts +3 -0
- package/lib/parser/progress.js +21 -0
- package/lib/parser/progress.js.map +1 -0
- package/lib/parser/taskRunner.d.ts +4 -0
- package/lib/parser/taskRunner.js +33 -0
- package/lib/parser/taskRunner.js.map +1 -0
- package/lib/parser/tree.d.ts +2 -2
- package/lib/parser/tree.js +40 -23
- package/lib/parser/tree.js.map +1 -1
- package/lib/utils/index.d.ts +1 -0
- package/lib/utils/index.js +7 -2
- package/lib/utils/index.js.map +1 -1
- package/package.json +21 -8
- package/tests/extract.test.ts +95 -104
- package/tests/{getFiles.old.ts → getFiles.test.ts} +3 -3
- package/tests/{ingnoreFunction.old.ts → ignoreFunction.test.ts} +4 -30
- package/tests/jsonParse.ts +51 -61
- package/tests/{extract-2.test.ts → tree.test.ts} +55 -8
- package/tsconfig.json +3 -3
- package/.github/workflows/node.js.yml +0 -33
- package/.github/workflows/tsDoc.yml +0 -52
- package/lib/cliArgs.d.ts +0 -4
- package/lib/cliArgs.js +0 -216
- package/lib/cliArgs.js.map +0 -1
- package/lib/consolidate.d.ts +0 -2
- package/lib/consolidate.js +0 -37
- package/lib/consolidate.js.map +0 -1
- package/lib/fs.d.ts +0 -2
- package/lib/fs.js +0 -69
- package/lib/fs.js.map +0 -1
- package/lib/glob.d.ts +0 -13
- package/lib/glob.js +0 -95
- package/lib/glob.js.map +0 -1
- package/lib/makePot.d.ts +0 -2
- package/lib/makePot.js +0 -83
- package/lib/makePot.js.map +0 -1
- package/lib/maps.d.ts +0 -122
- package/lib/maps.js +0 -73
- package/lib/maps.js.map +0 -1
- package/lib/parser/consolidate.d.ts +0 -2
- package/lib/parser/consolidate.js +0 -37
- package/lib/parser/consolidate.js.map +0 -1
- package/lib/parser/makePot.d.ts +0 -2
- package/lib/parser/makePot.js +0 -33
- package/lib/parser/makePot.js.map +0 -1
- package/lib/parser.d.ts +0 -6
- package/lib/parser.js +0 -110
- package/lib/parser.js.map +0 -1
- package/lib/tree.d.ts +0 -2
- package/lib/tree.js +0 -78
- package/lib/tree.js.map +0 -1
- package/lib/utils.d.ts +0 -8
- package/lib/utils.js +0 -78
- package/lib/utils.js.map +0 -1
- package/tests/consolidate.test.ts +0 -77
- package/tests/getStrings.old.ts +0 -76
- package/tests/makePot.old.ts +0 -46
- package/tests/treeJs.old.ts +0 -16
- package/tests/treePhp.old.ts +0 -31
- package/tests/treeTs.old.ts +0 -16
- package/tests/utils.old.ts +0 -28
- /package/{LICENSE.md → LICENSE} +0 -0
package/README.md
CHANGED
|
@@ -1,58 +1,75 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
```
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
- `--
|
|
33
|
-
- `--
|
|
34
|
-
- `--
|
|
35
|
-
- `--
|
|
36
|
-
- `--skip-
|
|
37
|
-
- `--skip-
|
|
38
|
-
- `--
|
|
39
|
-
- `--
|
|
40
|
-
- `--
|
|
41
|
-
- `--
|
|
42
|
-
- `--
|
|
43
|
-
- `--
|
|
44
|
-
- `--
|
|
45
|
-
- `--
|
|
46
|
-
- `--
|
|
47
|
-
- `--
|
|
48
|
-
- `--
|
|
49
|
-
- `--
|
|
50
|
-
- `--
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
1
|
+
[](https://www.npmjs.com/package/@wp-blocks/make-pot)
|
|
2
|
+
[](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)
|
|
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
|
}
|
package/lib/cli/parseCli.js
CHANGED
|
@@ -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 =
|
|
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: !!
|
|
77
|
+
ignoreDomain: !!args?.ignoreDomain,
|
|
79
78
|
packageName: String(args.packageName),
|
|
80
79
|
silent: !!args.silent,
|
|
81
80
|
json: !!args.json,
|
|
82
|
-
location: !!
|
|
83
|
-
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:
|
|
96
|
+
fileComment: args.fileComment ?? '',
|
|
98
97
|
},
|
|
99
98
|
patterns: {
|
|
100
|
-
mergePaths: (
|
|
101
|
-
subtractPaths: (
|
|
99
|
+
mergePaths: (0, utils_1.stringstring)(args.mergePaths) ?? [],
|
|
100
|
+
subtractPaths: (0, utils_1.stringstring)(args.subtractPaths) ?? [],
|
|
102
101
|
subtractAndMerge: !!args.subtractAndMerge,
|
|
103
|
-
include: (
|
|
104
|
-
exclude: (
|
|
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;
|
package/lib/cli/parseCli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"parseCli.js","sourceRoot":"","sources":["../../src/cli/parseCli.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AACA,oCAAuC;AACvC,2CAA4B;AAC5B,iDAAkC;AAClC,oCAAgD;AAEhD,mDAAwC;
|
|
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;
|
|
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
|
-
|
|
10
|
-
|
|
11
|
-
|
|
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:
|
|
14
|
-
|
|
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
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
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;
|
|
1
|
+
{"version":3,"file":"headers.js","sourceRoot":"","sources":["../../src/extractors/headers.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function parseFile(file: string, filePath?: string): Promise<
|
|
1
|
+
import { SetOfBlocks } from 'gettext-merger';
|
|
2
|
+
export declare function parseFile(file: string, filePath?: string): Promise<SetOfBlocks | undefined>;
|
package/lib/extractors/index.js
CHANGED
|
@@ -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
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
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":"
|
|
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"}
|
package/lib/extractors/json.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import type { Args, I18nSchema
|
|
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<
|
|
10
|
+
export declare function parseJsonCallback(fileContent: string, filePath: string, filename: 'block.json' | 'theme.json'): Promise<SetOfBlocks>;
|
package/lib/extractors/json.js
CHANGED
|
@@ -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
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
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":"
|
|
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:
|
|
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:
|
|
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;
|