@gjsify/vite-plugin-gettext 0.2.5 → 0.2.7

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/dist/msgfmt.js CHANGED
@@ -1,7 +1,33 @@
1
1
  import {} from "vite";
2
2
  import { execa } from "execa";
3
3
  import path from "node:path";
4
+ import fs from "node:fs/promises";
4
5
  import { checkDependencies, findAvailableLanguages, ensureDirectory, } from "./utils.js";
6
+ /**
7
+ * Remove XML comments from a file content
8
+ * @param content The XML content as string
9
+ * @returns The content with comments removed
10
+ */
11
+ function removeXmlComments(content) {
12
+ // Remove XML comments <!-- ... -->
13
+ return content.replace(/<!--[\s\S]*?-->/g, '');
14
+ }
15
+ /**
16
+ * Build msgfmt command arguments
17
+ * @param baseArgs Base arguments for msgfmt
18
+ * @param options Plugin options
19
+ * @returns Complete argument array
20
+ */
21
+ function buildMsgfmtArgs(baseArgs, options) {
22
+ const args = [...baseArgs];
23
+ if (options.noWrap) {
24
+ args.push("--no-wrap");
25
+ }
26
+ if (options.msgfmtOptions) {
27
+ args.push(...options.msgfmtOptions);
28
+ }
29
+ return args;
30
+ }
5
31
  /**
6
32
  * Get output file extension based on the format
7
33
  * @param format The output format
@@ -39,7 +65,7 @@ function getOutputExtension(format) {
39
65
  * @returns A Vite plugin that handles PO compilation
40
66
  */
41
67
  export function msgfmtPlugin(options) {
42
- const { poDirectory, outputDirectory, domain = "messages", format = "mo", templateFile, verbose = false, msgfmtOptions = [], useLocaleStructure = true, } = options;
68
+ const { poDirectory, outputDirectory, domain = "messages", format = "mo", templateFile, verbose = false, msgfmtOptions = [], useLocaleStructure = true, removeComments = true, noWrap = false, } = options;
43
69
  const pluginName = "vite-plugin-msgfmt";
44
70
  async function compilePoFiles() {
45
71
  try {
@@ -62,20 +88,35 @@ export function msgfmtPlugin(options) {
62
88
  if (verbose) {
63
89
  console.log(`[${pluginName}] Compiling all languages to ${outputFile} using bulk mode`);
64
90
  }
65
- // Base arguments for bulk mode
66
- const args = [
91
+ // Build arguments for bulk mode
92
+ const baseArgs = [
67
93
  "--output-file=" + outputFile,
68
94
  "--xml",
69
95
  "--template=" + templateFile,
70
96
  "-d",
71
97
  poDirectory,
72
98
  ];
73
- // Add any additional options
74
- args.push(...msgfmtOptions);
99
+ const args = buildMsgfmtArgs(baseArgs, { noWrap, msgfmtOptions });
75
100
  if (verbose) {
76
101
  console.log(`[${pluginName}] Running msgfmt with: ${args.join(" ")}`);
77
102
  }
78
103
  await execa("msgfmt", args);
104
+ // Remove comments from XML output if requested
105
+ if (removeComments !== false) {
106
+ try {
107
+ const content = await fs.readFile(outputFile, 'utf-8');
108
+ const cleanedContent = removeXmlComments(content);
109
+ await fs.writeFile(outputFile, cleanedContent, 'utf-8');
110
+ if (verbose) {
111
+ console.log(`[${pluginName}] Removed comments from ${outputFile}`);
112
+ }
113
+ }
114
+ catch (error) {
115
+ if (verbose) {
116
+ console.warn(`[${pluginName}] Failed to remove comments: ${error}`);
117
+ }
118
+ }
119
+ }
79
120
  }
80
121
  else {
81
122
  // Find available languages for individual processing
@@ -106,14 +147,13 @@ export function msgfmtPlugin(options) {
106
147
  if (verbose) {
107
148
  console.log(`[${pluginName}] Compiling ${poFile} to ${outputFile}`);
108
149
  }
109
- // Base arguments
110
- const args = ["--output-file=" + outputFile];
111
- // Add format-specific arguments
112
- args.push(`--${format}`);
113
- // Add any additional options
114
- args.push(...msgfmtOptions);
115
- // Add the input PO file
116
- args.push(poFile);
150
+ // Build arguments for individual processing
151
+ const baseArgs = [
152
+ "--output-file=" + outputFile,
153
+ `--${format}`,
154
+ poFile
155
+ ];
156
+ const args = buildMsgfmtArgs(baseArgs, { noWrap, msgfmtOptions });
117
157
  if (verbose) {
118
158
  console.log(`[${pluginName}] Running msgfmt with: ${args.join(" ")}`);
119
159
  }
@@ -1 +1 @@
1
- {"version":3,"file":"msgfmt.js","sourceRoot":"","sources":["../src/msgfmt.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"msgfmt.js","sourceRoot":"","sources":["../src/msgfmt.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -39,6 +39,8 @@ export interface XGettextPluginOptions {
39
39
  preserveCreationDate?: boolean;
40
40
  /** If true, sort the output messages for stable diffs (passed to msgcat) */
41
41
  sortOutput?: boolean;
42
+ /** Whether to disable text wrapping in PO/POT files, defaults to false */
43
+ noWrap?: boolean;
42
44
  }
43
45
  /**
44
46
  * Configuration options for the gettext plugin
@@ -81,6 +83,10 @@ export interface MsgfmtPluginOptions {
81
83
  msgfmtOptions?: string[];
82
84
  /** Whether to use the standard locale structure (locale/LANG/LC_MESSAGES/domain.mo) */
83
85
  useLocaleStructure?: boolean;
86
+ /** Whether to remove XML comments from output files, defaults to true */
87
+ removeComments?: boolean;
88
+ /** Whether to disable text wrapping in PO/POT files, defaults to false */
89
+ noWrap?: boolean;
84
90
  }
85
91
  export interface PluginOptions {
86
92
  pluginName: string;
package/dist/xgettext.js CHANGED
@@ -36,6 +36,28 @@ const GLIB_PRESET_ARGS = [
36
36
  "--flag=g_sprintf:2:c-format",
37
37
  "--flag=g_snprintf:3:c-format",
38
38
  ];
39
+ /**
40
+ * Build command arguments with common options
41
+ * @param baseArgs Base arguments for the command
42
+ * @param options Options to add to arguments
43
+ * @returns Complete argument array
44
+ */
45
+ function buildCommandArgs(baseArgs, options) {
46
+ const args = [...baseArgs];
47
+ if (options.noLocation) {
48
+ args.push("--no-location");
49
+ }
50
+ if (options.noWrap) {
51
+ args.push("--no-wrap");
52
+ }
53
+ if (options.sortOutput) {
54
+ args.push("--sort-output");
55
+ }
56
+ if (options.additionalOptions) {
57
+ args.push(...options.additionalOptions);
58
+ }
59
+ return args;
60
+ }
39
61
  /**
40
62
  * Creates a Vite plugin that extracts translatable strings from source files
41
63
  * Uses GNU xgettext to generate a POT template file that can be used as basis for translations
@@ -118,7 +140,7 @@ function getFileGroup(fullFilename) {
118
140
  }
119
141
  }
120
142
  async function extractStrings(files, options, pluginName) {
121
- const { output, domain = "messages", keywords = [], preset, verbose = false, } = options;
143
+ const { output, domain = "messages", keywords = [], preset, verbose = false, noWrap = false, } = options;
122
144
  try {
123
145
  const outputDir = path.dirname(output);
124
146
  await ensureDirectory(outputDir);
@@ -144,18 +166,19 @@ async function extractStrings(files, options, pluginName) {
144
166
  for (const potFile of potFiles) {
145
167
  const group = path.basename(potFile).split(".")[0];
146
168
  const tempOutput = path.join(outputDir, `temp_${group}.pot`);
147
- // Base arguments
148
- let args = [
169
+ // Build base arguments
170
+ const baseArgs = [
149
171
  "--package-name=" + domain,
150
172
  options.version ? "--package-version=" + options.version : "",
151
173
  "--output=" + tempOutput,
152
174
  "--files-from=" + potFile,
153
175
  "--from-code=UTF-8",
154
176
  "--add-comments",
155
- ];
156
- if (options.noLocation) {
157
- args.push("--no-location");
158
- }
177
+ ].filter(Boolean);
178
+ let args = buildCommandArgs(baseArgs, {
179
+ noLocation: options.noLocation,
180
+ noWrap
181
+ });
159
182
  // Add bug report address if specified
160
183
  if (options.msgidBugsAddress) {
161
184
  args.push("--msgid-bugs-address=" + options.msgidBugsAddress);
@@ -222,17 +245,13 @@ async function extractStrings(files, options, pluginName) {
222
245
  }
223
246
  // Combine all temporary POT files using msgcat
224
247
  if (tempPotFiles.length > 0) {
225
- const msgcatArgs = ["--use-first"];
226
- if (options.noLocation) {
227
- msgcatArgs.push("--no-location");
228
- }
229
- if (options.sortOutput) {
230
- msgcatArgs.push("--sort-output");
231
- }
232
- if (options.msgcatOptions && options.msgcatOptions.length > 0) {
233
- msgcatArgs.push(...options.msgcatOptions);
234
- }
235
- msgcatArgs.push("-o", output, ...tempPotFiles);
248
+ const baseMsgcatArgs = ["--use-first", "-o", output, ...tempPotFiles];
249
+ const msgcatArgs = buildCommandArgs(baseMsgcatArgs, {
250
+ noLocation: options.noLocation,
251
+ sortOutput: options.sortOutput,
252
+ noWrap,
253
+ additionalOptions: options.msgcatOptions
254
+ });
236
255
  const env = { ...process.env };
237
256
  if (options.deterministic) {
238
257
  const epoch = typeof options.sourceDateEpoch === "number"
@@ -301,10 +320,11 @@ async function updatePoFiles(potFile, pluginName, verbose, options) {
301
320
  if (verbose) {
302
321
  console.log(`[${pluginName}] Updating ${poFile}`);
303
322
  }
304
- const args = ["--update", "--backup=none"];
305
- if (options.noLocation) {
306
- args.push("--no-location");
307
- }
323
+ const baseMsgmergeArgs = ["--update", "--backup=none", poFile, potFile];
324
+ const args = buildCommandArgs(baseMsgmergeArgs, {
325
+ noLocation: options.noLocation,
326
+ noWrap: options.noWrap
327
+ });
308
328
  const env = { ...process.env };
309
329
  if (options.deterministic) {
310
330
  const epoch = typeof options.sourceDateEpoch === "number"
@@ -312,7 +332,7 @@ async function updatePoFiles(potFile, pluginName, verbose, options) {
312
332
  : 0;
313
333
  env.SOURCE_DATE_EPOCH = String(epoch);
314
334
  }
315
- await execa("msgmerge", [...args, poFile, potFile], { env });
335
+ await execa("msgmerge", args, { env });
316
336
  }
317
337
  }
318
338
  catch (error) {
@@ -1 +1 @@
1
- {"version":3,"file":"xgettext.js","sourceRoot":"","sources":["../src/xgettext.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"xgettext.js","sourceRoot":"","sources":["../src/xgettext.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gjsify/vite-plugin-gettext",
3
- "version": "0.2.5",
3
+ "version": "0.2.7",
4
4
  "description": "Vite plugin for compiling Gettext PO files",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",
@@ -22,9 +22,9 @@
22
22
  "homepage": "https://github.com/gjsify/vite/tree/main/packages/vite-plugin-gettext",
23
23
  "devDependencies": {
24
24
  "@types/gettext-parser": "^8.0.0",
25
- "@types/node": "^24.3.1",
25
+ "@types/node": "^24.5.2",
26
26
  "typescript": "^5.9.2",
27
- "vite": "^7.1.5"
27
+ "vite": "^7.1.7"
28
28
  },
29
29
  "peerDependencies": {
30
30
  "vite": "*"
package/src/msgfmt.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import { type Plugin } from "vite";
2
2
  import { execa } from "execa";
3
3
  import path from "node:path";
4
+ import fs from "node:fs/promises";
4
5
  import type { MsgfmtPluginOptions, MsgfmtFormat } from "./types.js";
5
6
  import {
6
7
  checkDependencies,
@@ -8,6 +9,36 @@ import {
8
9
  ensureDirectory,
9
10
  } from "./utils.js";
10
11
 
12
+ /**
13
+ * Remove XML comments from a file content
14
+ * @param content The XML content as string
15
+ * @returns The content with comments removed
16
+ */
17
+ function removeXmlComments(content: string): string {
18
+ // Remove XML comments <!-- ... -->
19
+ return content.replace(/<!--[\s\S]*?-->/g, '');
20
+ }
21
+
22
+ /**
23
+ * Build msgfmt command arguments
24
+ * @param baseArgs Base arguments for msgfmt
25
+ * @param options Plugin options
26
+ * @returns Complete argument array
27
+ */
28
+ function buildMsgfmtArgs(baseArgs: string[], options: { noWrap?: boolean; msgfmtOptions?: string[] }): string[] {
29
+ const args = [...baseArgs];
30
+
31
+ if (options.noWrap) {
32
+ args.push("--no-wrap");
33
+ }
34
+
35
+ if (options.msgfmtOptions) {
36
+ args.push(...options.msgfmtOptions);
37
+ }
38
+
39
+ return args;
40
+ }
41
+
11
42
  /**
12
43
  * Get output file extension based on the format
13
44
  * @param format The output format
@@ -55,6 +86,8 @@ export function msgfmtPlugin(options: MsgfmtPluginOptions): Plugin {
55
86
  verbose = false,
56
87
  msgfmtOptions = [],
57
88
  useLocaleStructure = true,
89
+ removeComments = true,
90
+ noWrap = false,
58
91
  } = options;
59
92
 
60
93
  const pluginName = "vite-plugin-msgfmt";
@@ -90,23 +123,38 @@ export function msgfmtPlugin(options: MsgfmtPluginOptions): Plugin {
90
123
  );
91
124
  }
92
125
 
93
- // Base arguments for bulk mode
94
- const args = [
126
+ // Build arguments for bulk mode
127
+ const baseArgs = [
95
128
  "--output-file=" + outputFile,
96
129
  "--xml",
97
130
  "--template=" + templateFile,
98
131
  "-d",
99
132
  poDirectory,
100
133
  ];
101
-
102
- // Add any additional options
103
- args.push(...msgfmtOptions);
134
+ const args = buildMsgfmtArgs(baseArgs, { noWrap, msgfmtOptions });
104
135
 
105
136
  if (verbose) {
106
137
  console.log(`[${pluginName}] Running msgfmt with: ${args.join(" ")}`);
107
138
  }
108
139
 
109
140
  await execa("msgfmt", args);
141
+
142
+ // Remove comments from XML output if requested
143
+ if (removeComments !== false) {
144
+ try {
145
+ const content = await fs.readFile(outputFile, 'utf-8');
146
+ const cleanedContent = removeXmlComments(content);
147
+ await fs.writeFile(outputFile, cleanedContent, 'utf-8');
148
+
149
+ if (verbose) {
150
+ console.log(`[${pluginName}] Removed comments from ${outputFile}`);
151
+ }
152
+ } catch (error) {
153
+ if (verbose) {
154
+ console.warn(`[${pluginName}] Failed to remove comments: ${error}`);
155
+ }
156
+ }
157
+ }
110
158
  } else {
111
159
  // Find available languages for individual processing
112
160
  const languages = await findAvailableLanguages(
@@ -157,17 +205,13 @@ export function msgfmtPlugin(options: MsgfmtPluginOptions): Plugin {
157
205
  console.log(`[${pluginName}] Compiling ${poFile} to ${outputFile}`);
158
206
  }
159
207
 
160
- // Base arguments
161
- const args = ["--output-file=" + outputFile];
162
-
163
- // Add format-specific arguments
164
- args.push(`--${format}`);
165
-
166
- // Add any additional options
167
- args.push(...msgfmtOptions);
168
-
169
- // Add the input PO file
170
- args.push(poFile);
208
+ // Build arguments for individual processing
209
+ const baseArgs = [
210
+ "--output-file=" + outputFile,
211
+ `--${format}`,
212
+ poFile
213
+ ];
214
+ const args = buildMsgfmtArgs(baseArgs, { noWrap, msgfmtOptions });
171
215
 
172
216
  if (verbose) {
173
217
  console.log(
package/src/types.ts CHANGED
@@ -39,6 +39,8 @@ export interface XGettextPluginOptions {
39
39
  preserveCreationDate?: boolean;
40
40
  /** If true, sort the output messages for stable diffs (passed to msgcat) */
41
41
  sortOutput?: boolean;
42
+ /** Whether to disable text wrapping in PO/POT files, defaults to false */
43
+ noWrap?: boolean;
42
44
  }
43
45
 
44
46
  /**
@@ -94,6 +96,10 @@ export interface MsgfmtPluginOptions {
94
96
  msgfmtOptions?: string[];
95
97
  /** Whether to use the standard locale structure (locale/LANG/LC_MESSAGES/domain.mo) */
96
98
  useLocaleStructure?: boolean;
99
+ /** Whether to remove XML comments from output files, defaults to true */
100
+ removeComments?: boolean;
101
+ /** Whether to disable text wrapping in PO/POT files, defaults to false */
102
+ noWrap?: boolean;
97
103
  }
98
104
 
99
105
  export interface PluginOptions {
package/src/xgettext.ts CHANGED
@@ -43,6 +43,42 @@ const GLIB_PRESET_ARGS = [
43
43
  "--flag=g_snprintf:3:c-format",
44
44
  ];
45
45
 
46
+ /**
47
+ * Build command arguments with common options
48
+ * @param baseArgs Base arguments for the command
49
+ * @param options Options to add to arguments
50
+ * @returns Complete argument array
51
+ */
52
+ function buildCommandArgs(
53
+ baseArgs: string[],
54
+ options: {
55
+ noLocation?: boolean;
56
+ noWrap?: boolean;
57
+ sortOutput?: boolean;
58
+ additionalOptions?: string[];
59
+ }
60
+ ): string[] {
61
+ const args = [...baseArgs];
62
+
63
+ if (options.noLocation) {
64
+ args.push("--no-location");
65
+ }
66
+
67
+ if (options.noWrap) {
68
+ args.push("--no-wrap");
69
+ }
70
+
71
+ if (options.sortOutput) {
72
+ args.push("--sort-output");
73
+ }
74
+
75
+ if (options.additionalOptions) {
76
+ args.push(...options.additionalOptions);
77
+ }
78
+
79
+ return args;
80
+ }
81
+
46
82
  /**
47
83
  * Creates a Vite plugin that extracts translatable strings from source files
48
84
  * Uses GNU xgettext to generate a POT template file that can be used as basis for translations
@@ -157,6 +193,7 @@ async function extractStrings(
157
193
  keywords = [],
158
194
  preset,
159
195
  verbose = false,
196
+ noWrap = false,
160
197
  } = options;
161
198
 
162
199
  try {
@@ -195,19 +232,20 @@ async function extractStrings(
195
232
  const group = path.basename(potFile).split(".")[0];
196
233
  const tempOutput = path.join(outputDir, `temp_${group}.pot`);
197
234
 
198
- // Base arguments
199
- let args = [
235
+ // Build base arguments
236
+ const baseArgs = [
200
237
  "--package-name=" + domain,
201
238
  options.version ? "--package-version=" + options.version : "",
202
239
  "--output=" + tempOutput,
203
240
  "--files-from=" + potFile,
204
241
  "--from-code=UTF-8",
205
242
  "--add-comments",
206
- ];
243
+ ].filter(Boolean);
207
244
 
208
- if (options.noLocation) {
209
- args.push("--no-location");
210
- }
245
+ let args = buildCommandArgs(baseArgs, {
246
+ noLocation: options.noLocation,
247
+ noWrap
248
+ });
211
249
 
212
250
  // Add bug report address if specified
213
251
  if (options.msgidBugsAddress) {
@@ -292,17 +330,13 @@ async function extractStrings(
292
330
 
293
331
  // Combine all temporary POT files using msgcat
294
332
  if (tempPotFiles.length > 0) {
295
- const msgcatArgs = ["--use-first"];
296
- if (options.noLocation) {
297
- msgcatArgs.push("--no-location");
298
- }
299
- if (options.sortOutput) {
300
- msgcatArgs.push("--sort-output");
301
- }
302
- if (options.msgcatOptions && options.msgcatOptions.length > 0) {
303
- msgcatArgs.push(...options.msgcatOptions);
304
- }
305
- msgcatArgs.push("-o", output, ...tempPotFiles);
333
+ const baseMsgcatArgs = ["--use-first", "-o", output, ...tempPotFiles];
334
+ const msgcatArgs = buildCommandArgs(baseMsgcatArgs, {
335
+ noLocation: options.noLocation,
336
+ sortOutput: options.sortOutput,
337
+ noWrap,
338
+ additionalOptions: options.msgcatOptions
339
+ });
306
340
 
307
341
  const env = { ...process.env };
308
342
  if (options.deterministic) {
@@ -401,10 +435,11 @@ async function updatePoFiles(
401
435
  if (verbose) {
402
436
  console.log(`[${pluginName}] Updating ${poFile}`);
403
437
  }
404
- const args = ["--update", "--backup=none"] as string[];
405
- if (options.noLocation) {
406
- args.push("--no-location");
407
- }
438
+ const baseMsgmergeArgs = ["--update", "--backup=none", poFile, potFile];
439
+ const args = buildCommandArgs(baseMsgmergeArgs, {
440
+ noLocation: options.noLocation,
441
+ noWrap: options.noWrap
442
+ });
408
443
 
409
444
  const env = { ...process.env };
410
445
  if (options.deterministic) {
@@ -415,7 +450,7 @@ async function updatePoFiles(
415
450
  env.SOURCE_DATE_EPOCH = String(epoch);
416
451
  }
417
452
 
418
- await execa("msgmerge", [...args, poFile, potFile], { env });
453
+ await execa("msgmerge", args, { env });
419
454
  }
420
455
  } catch (error) {
421
456
  console.error(`[${pluginName}] Error updating PO files:`, error);