@gjsify/vite-plugin-gettext 0.2.6 → 0.2.8

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
@@ -12,6 +12,19 @@ function removeXmlComments(content) {
12
12
  // Remove XML comments <!-- ... -->
13
13
  return content.replace(/<!--[\s\S]*?-->/g, '');
14
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.msgfmtOptions && options.msgfmtOptions.length > 0) {
24
+ args.push(...options.msgfmtOptions);
25
+ }
26
+ return args;
27
+ }
15
28
  /**
16
29
  * Get output file extension based on the format
17
30
  * @param format The output format
@@ -72,16 +85,15 @@ export function msgfmtPlugin(options) {
72
85
  if (verbose) {
73
86
  console.log(`[${pluginName}] Compiling all languages to ${outputFile} using bulk mode`);
74
87
  }
75
- // Base arguments for bulk mode
76
- const args = [
88
+ // Build arguments for bulk mode
89
+ const baseArgs = [
77
90
  "--output-file=" + outputFile,
78
91
  "--xml",
79
92
  "--template=" + templateFile,
80
93
  "-d",
81
94
  poDirectory,
82
95
  ];
83
- // Add any additional options
84
- args.push(...msgfmtOptions);
96
+ const args = buildMsgfmtArgs(baseArgs, { msgfmtOptions });
85
97
  if (verbose) {
86
98
  console.log(`[${pluginName}] Running msgfmt with: ${args.join(" ")}`);
87
99
  }
@@ -132,14 +144,13 @@ export function msgfmtPlugin(options) {
132
144
  if (verbose) {
133
145
  console.log(`[${pluginName}] Compiling ${poFile} to ${outputFile}`);
134
146
  }
135
- // Base arguments
136
- const args = ["--output-file=" + outputFile];
137
- // Add format-specific arguments
138
- args.push(`--${format}`);
139
- // Add any additional options
140
- args.push(...msgfmtOptions);
141
- // Add the input PO file
142
- args.push(poFile);
147
+ // Build arguments for individual processing
148
+ const baseArgs = [
149
+ "--output-file=" + outputFile,
150
+ `--${format}`,
151
+ poFile
152
+ ];
153
+ const args = buildMsgfmtArgs(baseArgs, { msgfmtOptions });
143
154
  if (verbose) {
144
155
  console.log(`[${pluginName}] Running msgfmt with: ${args.join(" ")}`);
145
156
  }
@@ -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
package/dist/xgettext.js CHANGED
@@ -36,6 +36,33 @@ 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
+ // Check if additional options already contain the flags to avoid duplicates
48
+ const additionalOptions = options.additionalOptions || [];
49
+ const hasNoLocation = additionalOptions.includes("--no-location");
50
+ const hasNoWrap = additionalOptions.includes("--no-wrap");
51
+ const hasSortOutput = additionalOptions.includes("--sort-output");
52
+ if (options.noLocation && !hasNoLocation) {
53
+ args.push("--no-location");
54
+ }
55
+ if (options.noWrap && !hasNoWrap) {
56
+ args.push("--no-wrap");
57
+ }
58
+ if (options.sortOutput && !hasSortOutput) {
59
+ args.push("--sort-output");
60
+ }
61
+ if (additionalOptions.length > 0) {
62
+ args.push(...additionalOptions);
63
+ }
64
+ return args;
65
+ }
39
66
  /**
40
67
  * Creates a Vite plugin that extracts translatable strings from source files
41
68
  * Uses GNU xgettext to generate a POT template file that can be used as basis for translations
@@ -119,6 +146,7 @@ function getFileGroup(fullFilename) {
119
146
  }
120
147
  async function extractStrings(files, options, pluginName) {
121
148
  const { output, domain = "messages", keywords = [], preset, verbose = false, } = options;
149
+ const noWrap = options.noWrap || false;
122
150
  try {
123
151
  const outputDir = path.dirname(output);
124
152
  await ensureDirectory(outputDir);
@@ -144,38 +172,35 @@ async function extractStrings(files, options, pluginName) {
144
172
  for (const potFile of potFiles) {
145
173
  const group = path.basename(potFile).split(".")[0];
146
174
  const tempOutput = path.join(outputDir, `temp_${group}.pot`);
147
- // Base arguments
148
- let args = [
175
+ // Build base arguments
176
+ const baseArgs = [
149
177
  "--package-name=" + domain,
150
178
  options.version ? "--package-version=" + options.version : "",
151
179
  "--output=" + tempOutput,
152
180
  "--files-from=" + potFile,
153
181
  "--from-code=UTF-8",
154
182
  "--add-comments",
155
- ];
156
- if (options.noLocation) {
157
- args.push("--no-location");
158
- }
183
+ ].filter(Boolean);
159
184
  // Add bug report address if specified
160
185
  if (options.msgidBugsAddress) {
161
- args.push("--msgid-bugs-address=" + options.msgidBugsAddress);
186
+ baseArgs.push("--msgid-bugs-address=" + options.msgidBugsAddress);
162
187
  }
163
188
  // Add copyright holder if specified
164
189
  if (options.copyrightHolder) {
165
- args.push("--copyright-holder=" + options.copyrightHolder);
190
+ baseArgs.push("--copyright-holder=" + options.copyrightHolder);
166
191
  }
167
192
  // Add language-specific settings
168
193
  switch (group) {
169
194
  case "js":
170
195
  case "blp":
171
- args.push("--language=JavaScript");
172
- args.push(...keywords.map((k) => `--keyword=${k}`));
196
+ baseArgs.push("--language=JavaScript");
197
+ baseArgs.push(...keywords.map((k) => `--keyword=${k}`));
173
198
  if (preset === "glib") {
174
- args.push(...GLIB_PRESET_ARGS);
199
+ baseArgs.push(...GLIB_PRESET_ARGS);
175
200
  }
176
201
  break;
177
202
  case "ui":
178
- args.push("--language=Glade");
203
+ baseArgs.push("--language=Glade");
179
204
  break;
180
205
  case "metainfo":
181
206
  // Find the first existing metainfo.its file
@@ -185,17 +210,19 @@ async function extractStrings(files, options, pluginName) {
185
210
  // Continue without the ITS file
186
211
  }
187
212
  else {
188
- args.push(`--its=${metainfoItsPath}`);
213
+ baseArgs.push(`--its=${metainfoItsPath}`);
189
214
  }
190
215
  break;
191
216
  case "desktop":
192
- args.push("--language=Desktop");
217
+ baseArgs.push("--language=Desktop");
193
218
  break;
194
219
  }
195
- // Allow custom xgettext options
196
- if (options.xgettextOptions && options.xgettextOptions.length > 0) {
197
- args.push(...options.xgettextOptions);
198
- }
220
+ // Build final arguments with options handling
221
+ const args = buildCommandArgs(baseArgs, {
222
+ noLocation: options.noLocation,
223
+ noWrap,
224
+ additionalOptions: options.xgettextOptions
225
+ });
199
226
  if (verbose) {
200
227
  console.log(`[${pluginName}] Running xgettext for ${group}:`, args.join(" "));
201
228
  }
@@ -222,17 +249,13 @@ async function extractStrings(files, options, pluginName) {
222
249
  }
223
250
  // Combine all temporary POT files using msgcat
224
251
  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);
252
+ const baseMsgcatArgs = ["--use-first", "-o", output, ...tempPotFiles];
253
+ const msgcatArgs = buildCommandArgs(baseMsgcatArgs, {
254
+ noLocation: options.noLocation,
255
+ sortOutput: options.sortOutput,
256
+ noWrap,
257
+ additionalOptions: options.msgcatOptions
258
+ });
236
259
  const env = { ...process.env };
237
260
  if (options.deterministic) {
238
261
  const epoch = typeof options.sourceDateEpoch === "number"
@@ -301,10 +324,11 @@ async function updatePoFiles(potFile, pluginName, verbose, options) {
301
324
  if (verbose) {
302
325
  console.log(`[${pluginName}] Updating ${poFile}`);
303
326
  }
304
- const args = ["--update", "--backup=none"];
305
- if (options.noLocation) {
306
- args.push("--no-location");
307
- }
327
+ const baseMsgmergeArgs = ["--update", "--backup=none", poFile, potFile];
328
+ const args = buildCommandArgs(baseMsgmergeArgs, {
329
+ noLocation: options.noLocation,
330
+ noWrap: options.noWrap
331
+ });
308
332
  const env = { ...process.env };
309
333
  if (options.deterministic) {
310
334
  const epoch = typeof options.sourceDateEpoch === "number"
@@ -312,7 +336,7 @@ async function updatePoFiles(potFile, pluginName, verbose, options) {
312
336
  : 0;
313
337
  env.SOURCE_DATE_EPOCH = String(epoch);
314
338
  }
315
- await execa("msgmerge", [...args, poFile, potFile], { env });
339
+ await execa("msgmerge", args, { env });
316
340
  }
317
341
  }
318
342
  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.6",
3
+ "version": "0.2.8",
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
@@ -19,6 +19,22 @@ function removeXmlComments(content: string): string {
19
19
  return content.replace(/<!--[\s\S]*?-->/g, '');
20
20
  }
21
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: { msgfmtOptions?: string[] }): string[] {
29
+ const args = [...baseArgs];
30
+
31
+ if (options.msgfmtOptions && options.msgfmtOptions.length > 0) {
32
+ args.push(...options.msgfmtOptions);
33
+ }
34
+
35
+ return args;
36
+ }
37
+
22
38
  /**
23
39
  * Get output file extension based on the format
24
40
  * @param format The output format
@@ -102,17 +118,15 @@ export function msgfmtPlugin(options: MsgfmtPluginOptions): Plugin {
102
118
  );
103
119
  }
104
120
 
105
- // Base arguments for bulk mode
106
- const args = [
121
+ // Build arguments for bulk mode
122
+ const baseArgs = [
107
123
  "--output-file=" + outputFile,
108
124
  "--xml",
109
125
  "--template=" + templateFile,
110
126
  "-d",
111
127
  poDirectory,
112
128
  ];
113
-
114
- // Add any additional options
115
- args.push(...msgfmtOptions);
129
+ const args = buildMsgfmtArgs(baseArgs, { msgfmtOptions });
116
130
 
117
131
  if (verbose) {
118
132
  console.log(`[${pluginName}] Running msgfmt with: ${args.join(" ")}`);
@@ -186,17 +200,13 @@ export function msgfmtPlugin(options: MsgfmtPluginOptions): Plugin {
186
200
  console.log(`[${pluginName}] Compiling ${poFile} to ${outputFile}`);
187
201
  }
188
202
 
189
- // Base arguments
190
- const args = ["--output-file=" + outputFile];
191
-
192
- // Add format-specific arguments
193
- args.push(`--${format}`);
194
-
195
- // Add any additional options
196
- args.push(...msgfmtOptions);
197
-
198
- // Add the input PO file
199
- args.push(poFile);
203
+ // Build arguments for individual processing
204
+ const baseArgs = [
205
+ "--output-file=" + outputFile,
206
+ `--${format}`,
207
+ poFile
208
+ ];
209
+ const args = buildMsgfmtArgs(baseArgs, { msgfmtOptions });
200
210
 
201
211
  if (verbose) {
202
212
  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
  /**
package/src/xgettext.ts CHANGED
@@ -43,6 +43,48 @@ 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
+ // Check if additional options already contain the flags to avoid duplicates
64
+ const additionalOptions = options.additionalOptions || [];
65
+ const hasNoLocation = additionalOptions.includes("--no-location");
66
+ const hasNoWrap = additionalOptions.includes("--no-wrap");
67
+ const hasSortOutput = additionalOptions.includes("--sort-output");
68
+
69
+ if (options.noLocation && !hasNoLocation) {
70
+ args.push("--no-location");
71
+ }
72
+
73
+ if (options.noWrap && !hasNoWrap) {
74
+ args.push("--no-wrap");
75
+ }
76
+
77
+ if (options.sortOutput && !hasSortOutput) {
78
+ args.push("--sort-output");
79
+ }
80
+
81
+ if (additionalOptions.length > 0) {
82
+ args.push(...additionalOptions);
83
+ }
84
+
85
+ return args;
86
+ }
87
+
46
88
  /**
47
89
  * Creates a Vite plugin that extracts translatable strings from source files
48
90
  * Uses GNU xgettext to generate a POT template file that can be used as basis for translations
@@ -158,6 +200,8 @@ async function extractStrings(
158
200
  preset,
159
201
  verbose = false,
160
202
  } = options;
203
+
204
+ const noWrap = options.noWrap || false;
161
205
 
162
206
  try {
163
207
  const outputDir = path.dirname(output);
@@ -195,42 +239,38 @@ async function extractStrings(
195
239
  const group = path.basename(potFile).split(".")[0];
196
240
  const tempOutput = path.join(outputDir, `temp_${group}.pot`);
197
241
 
198
- // Base arguments
199
- let args = [
242
+ // Build base arguments
243
+ const baseArgs = [
200
244
  "--package-name=" + domain,
201
245
  options.version ? "--package-version=" + options.version : "",
202
246
  "--output=" + tempOutput,
203
247
  "--files-from=" + potFile,
204
248
  "--from-code=UTF-8",
205
249
  "--add-comments",
206
- ];
207
-
208
- if (options.noLocation) {
209
- args.push("--no-location");
210
- }
250
+ ].filter(Boolean);
211
251
 
212
252
  // Add bug report address if specified
213
253
  if (options.msgidBugsAddress) {
214
- args.push("--msgid-bugs-address=" + options.msgidBugsAddress);
254
+ baseArgs.push("--msgid-bugs-address=" + options.msgidBugsAddress);
215
255
  }
216
256
 
217
257
  // Add copyright holder if specified
218
258
  if (options.copyrightHolder) {
219
- args.push("--copyright-holder=" + options.copyrightHolder);
259
+ baseArgs.push("--copyright-holder=" + options.copyrightHolder);
220
260
  }
221
261
 
222
262
  // Add language-specific settings
223
263
  switch (group) {
224
264
  case "js":
225
265
  case "blp":
226
- args.push("--language=JavaScript");
227
- args.push(...keywords.map((k) => `--keyword=${k}`));
266
+ baseArgs.push("--language=JavaScript");
267
+ baseArgs.push(...keywords.map((k) => `--keyword=${k}`));
228
268
  if (preset === "glib") {
229
- args.push(...GLIB_PRESET_ARGS);
269
+ baseArgs.push(...GLIB_PRESET_ARGS);
230
270
  }
231
271
  break;
232
272
  case "ui":
233
- args.push("--language=Glade");
273
+ baseArgs.push("--language=Glade");
234
274
  break;
235
275
  case "metainfo":
236
276
  // Find the first existing metainfo.its file
@@ -242,18 +282,20 @@ async function extractStrings(
242
282
  );
243
283
  // Continue without the ITS file
244
284
  } else {
245
- args.push(`--its=${metainfoItsPath}`);
285
+ baseArgs.push(`--its=${metainfoItsPath}`);
246
286
  }
247
287
  break;
248
288
  case "desktop":
249
- args.push("--language=Desktop");
289
+ baseArgs.push("--language=Desktop");
250
290
  break;
251
291
  }
252
292
 
253
- // Allow custom xgettext options
254
- if (options.xgettextOptions && options.xgettextOptions.length > 0) {
255
- args.push(...options.xgettextOptions);
256
- }
293
+ // Build final arguments with options handling
294
+ const args = buildCommandArgs(baseArgs, {
295
+ noLocation: options.noLocation,
296
+ noWrap,
297
+ additionalOptions: options.xgettextOptions
298
+ });
257
299
 
258
300
  if (verbose) {
259
301
  console.log(
@@ -292,17 +334,13 @@ async function extractStrings(
292
334
 
293
335
  // Combine all temporary POT files using msgcat
294
336
  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);
337
+ const baseMsgcatArgs = ["--use-first", "-o", output, ...tempPotFiles];
338
+ const msgcatArgs = buildCommandArgs(baseMsgcatArgs, {
339
+ noLocation: options.noLocation,
340
+ sortOutput: options.sortOutput,
341
+ noWrap,
342
+ additionalOptions: options.msgcatOptions
343
+ });
306
344
 
307
345
  const env = { ...process.env };
308
346
  if (options.deterministic) {
@@ -401,10 +439,11 @@ async function updatePoFiles(
401
439
  if (verbose) {
402
440
  console.log(`[${pluginName}] Updating ${poFile}`);
403
441
  }
404
- const args = ["--update", "--backup=none"] as string[];
405
- if (options.noLocation) {
406
- args.push("--no-location");
407
- }
442
+ const baseMsgmergeArgs = ["--update", "--backup=none", poFile, potFile];
443
+ const args = buildCommandArgs(baseMsgmergeArgs, {
444
+ noLocation: options.noLocation,
445
+ noWrap: options.noWrap
446
+ });
408
447
 
409
448
  const env = { ...process.env };
410
449
  if (options.deterministic) {
@@ -415,7 +454,7 @@ async function updatePoFiles(
415
454
  env.SOURCE_DATE_EPOCH = String(epoch);
416
455
  }
417
456
 
418
- await execa("msgmerge", [...args, poFile, potFile], { env });
457
+ await execa("msgmerge", args, { env });
419
458
  }
420
459
  } catch (error) {
421
460
  console.error(`[${pluginName}] Error updating PO files:`, error);