lingo.dev 0.74.5 → 0.74.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/build/cli.mjs CHANGED
@@ -704,21 +704,18 @@ import path5 from "path";
704
704
  function createTextFileLoader(pathPattern) {
705
705
  return createLoader({
706
706
  async pull(locale) {
707
- const draftPath = pathPattern.replace("[locale]", locale);
708
- const finalPath = path5.resolve(draftPath);
709
- const exists = await fs5.access(finalPath).then(() => true).catch(() => false);
710
- if (!exists) {
711
- return "";
712
- }
713
- const result = await fs5.readFile(finalPath, "utf-8");
714
- return result;
707
+ const result = await readFileForLocale(pathPattern, locale);
708
+ const trimmedResult = result.trim();
709
+ return trimmedResult;
715
710
  },
716
- async push(locale, data) {
711
+ async push(locale, data, _19, originalLocale) {
717
712
  const draftPath = pathPattern.replace("[locale]", locale);
718
713
  const finalPath = path5.resolve(draftPath);
719
714
  const dirPath = path5.dirname(finalPath);
720
715
  await fs5.mkdir(dirPath, { recursive: true });
721
- const finalPayload = data.trim();
716
+ const trimmedPayload = data.trim();
717
+ const trailingNewLine = await getTrailingNewLine(pathPattern, locale, originalLocale);
718
+ let finalPayload = trimmedPayload + trailingNewLine;
722
719
  await fs5.writeFile(finalPath, finalPayload, {
723
720
  encoding: "utf-8",
724
721
  flag: "w"
@@ -726,6 +723,26 @@ function createTextFileLoader(pathPattern) {
726
723
  }
727
724
  });
728
725
  }
726
+ async function readFileForLocale(pathPattern, locale) {
727
+ const draftPath = pathPattern.replace("[locale]", locale);
728
+ const finalPath = path5.resolve(draftPath);
729
+ const exists = await fs5.access(finalPath).then(() => true).catch(() => false);
730
+ if (!exists) {
731
+ return "";
732
+ }
733
+ return fs5.readFile(finalPath, "utf-8");
734
+ }
735
+ async function getTrailingNewLine(pathPattern, locale, originalLocale) {
736
+ let templateData = await readFileForLocale(pathPattern, locale);
737
+ if (!templateData) {
738
+ templateData = await readFileForLocale(pathPattern, originalLocale);
739
+ }
740
+ if (templateData?.match(/[\r\n]$/)) {
741
+ const ending = templateData?.includes("\r\n") ? "\r\n" : templateData?.includes("\r") ? "\r" : "\n";
742
+ return ending;
743
+ }
744
+ return "";
745
+ }
729
746
 
730
747
  // src/cli/loaders/yaml.ts
731
748
  import YAML from "yaml";
@@ -2294,25 +2311,6 @@ function createPlutilJsonTextLoader() {
2294
2311
  });
2295
2312
  }
2296
2313
 
2297
- // src/cli/loaders/new-line.ts
2298
- function createNewLineLoader() {
2299
- return createLoader({
2300
- async pull(locale, input) {
2301
- return input;
2302
- },
2303
- async push(locale, data, originalInput) {
2304
- if (!data) return "";
2305
- console.log(data);
2306
- const trimmed = data.replace(/[\r\n]+$/, "");
2307
- if (originalInput?.match(/[\r\n]$/)) {
2308
- const ending = originalInput?.includes("\r\n") ? "\r\n" : originalInput?.includes("\r") ? "\r" : "\n";
2309
- return trimmed + ending;
2310
- }
2311
- return trimmed;
2312
- }
2313
- });
2314
- }
2315
-
2316
2314
  // src/cli/loaders/index.ts
2317
2315
  function createBucketLoader(bucketType, bucketPathPattern) {
2318
2316
  switch (bucketType) {
@@ -2321,7 +2319,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2321
2319
  case "android":
2322
2320
  return composeLoaders(
2323
2321
  createTextFileLoader(bucketPathPattern),
2324
- createNewLineLoader(),
2325
2322
  createAndroidLoader(),
2326
2323
  createFlatLoader(),
2327
2324
  createSyncLoader(),
@@ -2330,7 +2327,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2330
2327
  case "csv":
2331
2328
  return composeLoaders(
2332
2329
  createTextFileLoader(bucketPathPattern),
2333
- createNewLineLoader(),
2334
2330
  createCsvLoader(),
2335
2331
  createFlatLoader(),
2336
2332
  createSyncLoader(),
@@ -2339,7 +2335,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2339
2335
  case "html":
2340
2336
  return composeLoaders(
2341
2337
  createTextFileLoader(bucketPathPattern),
2342
- createNewLineLoader(),
2343
2338
  createPrettierLoader({ parser: "html", alwaysFormat: true }),
2344
2339
  createHtmlLoader(),
2345
2340
  createSyncLoader(),
@@ -2348,7 +2343,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2348
2343
  case "json":
2349
2344
  return composeLoaders(
2350
2345
  createTextFileLoader(bucketPathPattern),
2351
- createNewLineLoader(),
2352
2346
  createPrettierLoader({ parser: "json" }),
2353
2347
  createJsonLoader(),
2354
2348
  createFlatLoader(),
@@ -2358,7 +2352,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2358
2352
  case "markdown":
2359
2353
  return composeLoaders(
2360
2354
  createTextFileLoader(bucketPathPattern),
2361
- createNewLineLoader(),
2362
2355
  createPrettierLoader({ parser: "markdown" }),
2363
2356
  createMarkdownLoader(),
2364
2357
  createSyncLoader(),
@@ -2367,7 +2360,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2367
2360
  case "po":
2368
2361
  return composeLoaders(
2369
2362
  createTextFileLoader(bucketPathPattern),
2370
- createNewLineLoader(),
2371
2363
  createPoLoader(),
2372
2364
  createFlatLoader(),
2373
2365
  createSyncLoader(),
@@ -2377,7 +2369,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2377
2369
  case "properties":
2378
2370
  return composeLoaders(
2379
2371
  createTextFileLoader(bucketPathPattern),
2380
- createNewLineLoader(),
2381
2372
  createPropertiesLoader(),
2382
2373
  createSyncLoader(),
2383
2374
  createUnlocalizableLoader()
@@ -2385,7 +2376,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2385
2376
  case "xcode-strings":
2386
2377
  return composeLoaders(
2387
2378
  createTextFileLoader(bucketPathPattern),
2388
- createNewLineLoader(),
2389
2379
  createXcodeStringsLoader(),
2390
2380
  createSyncLoader(),
2391
2381
  createUnlocalizableLoader()
@@ -2393,7 +2383,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2393
2383
  case "xcode-stringsdict":
2394
2384
  return composeLoaders(
2395
2385
  createTextFileLoader(bucketPathPattern),
2396
- createNewLineLoader(),
2397
2386
  createXcodeStringsdictLoader(),
2398
2387
  createFlatLoader(),
2399
2388
  createSyncLoader(),
@@ -2402,7 +2391,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2402
2391
  case "xcode-xcstrings":
2403
2392
  return composeLoaders(
2404
2393
  createTextFileLoader(bucketPathPattern),
2405
- createNewLineLoader(),
2406
2394
  createPlutilJsonTextLoader(),
2407
2395
  createJsonLoader(),
2408
2396
  createXcodeXcstringsLoader(),
@@ -2414,7 +2402,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2414
2402
  case "yaml":
2415
2403
  return composeLoaders(
2416
2404
  createTextFileLoader(bucketPathPattern),
2417
- createNewLineLoader(),
2418
2405
  createPrettierLoader({ parser: "yaml" }),
2419
2406
  createYamlLoader(),
2420
2407
  createFlatLoader(),
@@ -2424,7 +2411,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2424
2411
  case "yaml-root-key":
2425
2412
  return composeLoaders(
2426
2413
  createTextFileLoader(bucketPathPattern),
2427
- createNewLineLoader(),
2428
2414
  createPrettierLoader({ parser: "yaml" }),
2429
2415
  createYamlLoader(),
2430
2416
  createRootKeyLoader(true),
@@ -2435,7 +2421,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2435
2421
  case "flutter":
2436
2422
  return composeLoaders(
2437
2423
  createTextFileLoader(bucketPathPattern),
2438
- createNewLineLoader(),
2439
2424
  createPrettierLoader({ parser: "json" }),
2440
2425
  createJsonLoader(),
2441
2426
  createFlutterLoader(),
@@ -2446,7 +2431,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2446
2431
  case "xliff":
2447
2432
  return composeLoaders(
2448
2433
  createTextFileLoader(bucketPathPattern),
2449
- createNewLineLoader(),
2450
2434
  createXliffLoader(),
2451
2435
  createFlatLoader(),
2452
2436
  createSyncLoader(),
@@ -2455,7 +2439,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2455
2439
  case "xml":
2456
2440
  return composeLoaders(
2457
2441
  createTextFileLoader(bucketPathPattern),
2458
- createNewLineLoader(),
2459
2442
  createXmlLoader(),
2460
2443
  createFlatLoader(),
2461
2444
  createSyncLoader(),
@@ -2464,7 +2447,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2464
2447
  case "srt":
2465
2448
  return composeLoaders(
2466
2449
  createTextFileLoader(bucketPathPattern),
2467
- createNewLineLoader(),
2468
2450
  createSrtLoader(),
2469
2451
  createSyncLoader(),
2470
2452
  createUnlocalizableLoader()
@@ -2479,7 +2461,6 @@ function createBucketLoader(bucketType, bucketPathPattern) {
2479
2461
  case "vtt":
2480
2462
  return composeLoaders(
2481
2463
  createTextFileLoader(bucketPathPattern),
2482
- createNewLineLoader(),
2483
2464
  createVttLoader(),
2484
2465
  createSyncLoader(),
2485
2466
  createUnlocalizableLoader()
@@ -3176,7 +3157,7 @@ function displaySummary(results) {
3176
3157
  // package.json
3177
3158
  var package_default = {
3178
3159
  name: "lingo.dev",
3179
- version: "0.74.5",
3160
+ version: "0.74.8",
3180
3161
  description: "Lingo.dev CLI",
3181
3162
  private: false,
3182
3163
  publishConfig: {