lingo.dev 0.121.0 → 0.122.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 CHANGED
@@ -175,6 +175,12 @@ If you like what we're doing, give us a ⭐ and help us reach 6,000 stars! 🌟
175
175
 
176
176
  ## 🌐 Readme in other languages
177
177
 
178
- [English](https://github.com/lingodotdev/lingo.dev) • [中文](/readme/zh-Hans.md) • [日本語](/readme/ja.md) • [한국어](/readme/ko.md) • [Español](/readme/es.md) • [Français](/readme/fr.md) • [Русский](/readme/ru.md) • [Українська](/readme/uk-UA.md) • [Deutsch](/readme/de.md) • [Italiano](/readme/it.md) • [العربية](/readme/ar.md) • [עברית](/readme/he.md) • [हिन्दी](/readme/hi.md) • [বাংলা](/readme/bn.md) • [فارسی](/readme/fa.md) • [Bhojpuri](/readme/bho.md)
178
+ [English](https://github.com/lingodotdev/lingo.dev) • [中文](/readme/zh-Hans.md) • [日本語](/readme/ja.md) • [한국어](/readme/ko.md) • [Español](/readme/es.md) • [Français](/readme/fr.md) • [Русский](/readme/ru.md) • [Українська](/readme/uk-UA.md) • [Deutsch](/readme/de.md) • [Italiano](/readme/it.md) • [العربية](/readme/ar.md) • [עברית](/readme/he.md) • [हिन्दी](/readme/hi.md) • [Português (Brasil)](/readme/pt-BR.md) • [বাংলা](/readme/bn.md) • [فارسی](/readme/fa.md) • [Polski](/readme/pl.md) • [Türkçe](/readme/tr.md) • [اردو](/readme/ur.md) • [भोजपुरी](/readme/bho.md) • [অসমীয়া](/readme/as-IN.md) • [ગુજરાતી](/readme/gu-IN.md) • [മലയാളം (IN)](/readme/ml-IN.md) • [मराठी](/readme/mr-IN.md) • [ଓଡ଼ିଆ](/readme/or-IN.md) • [ਪੰਜਾਬੀ](/readme/pa-IN.md) • [සිංහල](/readme/si-LK.md) • [தமிழ்](/readme/ta-IN.md) • [తెలుగు](/readme/te-IN.md)
179
179
 
180
180
  Don't see your language? Add it to [`i18n.json`](./i18n.json) and open a PR!
181
+
182
+ **Locale format:** Use [BCP-47](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/Locale) codes: `language[-Script][-REGION]`
183
+ - Language: ISO 639-1/2/3 lowercase (`en`, `zh`, `bho`)
184
+ - Script: ISO 15924 title case (`Hans`, `Hant`, `Latn`)
185
+ - Region: ISO 3166-1 alpha-2 uppercase (`US`, `CN`, `IN`)
186
+ - Examples: `en`, `pt-BR`, `zh-Hans`, `sr-Cyrl-RS`
package/build/cli.cjs CHANGED
@@ -90,7 +90,7 @@ function _loadDefaults() {
90
90
  };
91
91
  }
92
92
  function _loadEnv() {
93
- return _zod2.default.object({
93
+ return _zod2.default.looseObject({
94
94
  LINGODOTDEV_API_KEY: _zod2.default.string().optional(),
95
95
  LINGODOTDEV_API_URL: _zod2.default.string().optional(),
96
96
  LINGODOTDEV_WEB_URL: _zod2.default.string().optional(),
@@ -101,14 +101,14 @@ function _loadEnv() {
101
101
  GOOGLE_API_KEY: _zod2.default.string().optional(),
102
102
  OPENROUTER_API_KEY: _zod2.default.string().optional(),
103
103
  MISTRAL_API_KEY: _zod2.default.string().optional()
104
- }).passthrough().parse(process.env);
104
+ }).parse(process.env);
105
105
  }
106
106
  function _loadSystemFile() {
107
107
  const settingsFilePath = _getSettingsFilePath();
108
108
  const content = fs13.default.existsSync(settingsFilePath) ? fs13.default.readFileSync(settingsFilePath, "utf-8") : "";
109
109
  const data = _ini2.default.parse(content);
110
- return _zod2.default.object({
111
- auth: _zod2.default.object({
110
+ return _zod2.default.looseObject({
111
+ auth: _zod2.default.looseObject({
112
112
  apiKey: _zod2.default.string().optional(),
113
113
  apiUrl: _zod2.default.string().optional(),
114
114
  webUrl: _zod2.default.string().optional(),
@@ -116,7 +116,7 @@ function _loadSystemFile() {
116
116
  apiKey: _zod2.default.string().optional()
117
117
  }).optional()
118
118
  }).optional(),
119
- llm: _zod2.default.object({
119
+ llm: _zod2.default.looseObject({
120
120
  openaiApiKey: _zod2.default.string().optional(),
121
121
  anthropicApiKey: _zod2.default.string().optional(),
122
122
  groqApiKey: _zod2.default.string().optional(),
@@ -124,7 +124,7 @@ function _loadSystemFile() {
124
124
  openrouterApiKey: _zod2.default.string().optional(),
125
125
  mistralApiKey: _zod2.default.string().optional()
126
126
  }).optional()
127
- }).passthrough().parse(data);
127
+ }).parse(data);
128
128
  }
129
129
  function _saveSystemFile(settings) {
130
130
  const settingsFilePath = _getSettingsFilePath();
@@ -10874,7 +10874,7 @@ var _anthropic = require('@ai-sdk/anthropic');
10874
10874
  var _google = require('@ai-sdk/google');
10875
10875
  var _aisdkprovider = require('@openrouter/ai-sdk-provider');
10876
10876
  var _mistral = require('@ai-sdk/mistral');
10877
- var _ollamaaiprovider = require('ollama-ai-provider');
10877
+ var _ollamaaiproviderv2 = require('ollama-ai-provider-v2');
10878
10878
  function createProcessor(provider, params) {
10879
10879
  if (!provider) {
10880
10880
  const result = createLingoLocalizer(params);
@@ -10957,7 +10957,7 @@ function getPureModelProvider(provider) {
10957
10957
  })(provider.model);
10958
10958
  }
10959
10959
  case "ollama": {
10960
- return _ollamaaiprovider.createOllama.call(void 0, )(provider.model);
10960
+ return _ollamaaiproviderv2.createOllama.call(void 0, )(provider.model);
10961
10961
  }
10962
10962
  case "mistral": {
10963
10963
  if (!process.env.MISTRAL_API_KEY) {
@@ -11202,7 +11202,7 @@ function checkIfFileExists(filePath) {
11202
11202
 
11203
11203
 
11204
11204
  var LockSchema = _zod2.default.object({
11205
- version: _zod2.default.literal(1).default(1),
11205
+ version: _zod2.default.literal(1).prefault(1),
11206
11206
  checksums: _zod2.default.record(
11207
11207
  _zod2.default.string(),
11208
11208
  // localizable files' keys
@@ -11212,8 +11212,8 @@ var LockSchema = _zod2.default.object({
11212
11212
  _zod2.default.string(),
11213
11213
  // checksum of the key's value in the source locale
11214
11214
  _zod2.default.string()
11215
- ).default({})
11216
- ).default({})
11215
+ ).prefault({})
11216
+ ).prefault({})
11217
11217
  });
11218
11218
  function createDeltaProcessor(fileKey) {
11219
11219
  const lockfilePath = path16.join(process.cwd(), "i18n.lock");
@@ -11336,6 +11336,13 @@ var i18n_default = new (0, _interactivecommander.Command)().command("i18n").desc
11336
11336
  ).action(async function(options) {
11337
11337
  updateGitignore();
11338
11338
  const ora = _ora2.default.call(void 0, );
11339
+ console.log();
11340
+ ora.warn(
11341
+ _chalk2.default.yellow(
11342
+ " DEPRECATED: 'i18n' is deprecated. Please use 'run' instead. Docs: https://lingo.dev/cli/commands/run"
11343
+ )
11344
+ );
11345
+ console.log();
11339
11346
  let flags;
11340
11347
  try {
11341
11348
  flags = parseFlags(options);
@@ -11794,8 +11801,8 @@ function parseFlags(options) {
11794
11801
  strict: _zod2.default.boolean().optional(),
11795
11802
  key: _zod2.default.string().optional(),
11796
11803
  file: _zod2.default.array(_zod2.default.string()).optional(),
11797
- interactive: _zod2.default.boolean().default(false),
11798
- debug: _zod2.default.boolean().default(false)
11804
+ interactive: _zod2.default.boolean().prefault(false),
11805
+ debug: _zod2.default.boolean().prefault(false)
11799
11806
  }).parse(options);
11800
11807
  }
11801
11808
  async function validateAuth(settings) {
@@ -12029,7 +12036,7 @@ function createLockfileHelper() {
12029
12036
  }
12030
12037
  }
12031
12038
  var LockfileSchema = _zod2.default.object({
12032
- version: _zod2.default.literal(1).default(1),
12039
+ version: _zod2.default.literal(1).prefault(1),
12033
12040
  checksums: _zod2.default.record(
12034
12041
  _zod2.default.string(),
12035
12042
  // localizable files' keys
@@ -12039,8 +12046,8 @@ var LockfileSchema = _zod2.default.object({
12039
12046
  // key
12040
12047
  _zod2.default.string()
12041
12048
  // checksum of the key's value in the source locale
12042
- ).default({})
12043
- ).default({})
12049
+ ).prefault({})
12050
+ ).prefault({})
12044
12051
  });
12045
12052
 
12046
12053
  // src/cli/cmd/lockfile.ts
@@ -12090,7 +12097,7 @@ var lockfile_default = new (0, _interactivecommander.Command)().command("lockfil
12090
12097
  }
12091
12098
  });
12092
12099
  var flagsSchema = _zod2.default.object({
12093
- force: _zod2.default.boolean().default(false)
12100
+ force: _zod2.default.boolean().prefault(false)
12094
12101
  });
12095
12102
 
12096
12103
  // src/cli/cmd/cleanup.ts
@@ -12634,7 +12641,7 @@ function createExplicitLocalizer(provider) {
12634
12641
  });
12635
12642
  case "ollama":
12636
12643
  return createAiSdkLocalizer({
12637
- factory: (_params) => _ollamaaiprovider.createOllama.call(void 0, ).languageModel(provider.model),
12644
+ factory: (_params) => _ollamaaiproviderv2.createOllama.call(void 0, ).languageModel(provider.model),
12638
12645
  id: provider.id,
12639
12646
  prompt: provider.prompt,
12640
12647
  skipAuth: true,
@@ -13548,13 +13555,13 @@ var flagsSchema2 = _zod.z.object({
13548
13555
  frozen: _zod.z.boolean().optional(),
13549
13556
  verbose: _zod.z.boolean().optional(),
13550
13557
  strict: _zod.z.boolean().optional(),
13551
- interactive: _zod.z.boolean().default(false),
13552
- concurrency: _zod.z.number().positive().default(10),
13553
- debug: _zod.z.boolean().default(false),
13558
+ interactive: _zod.z.boolean().prefault(false),
13559
+ concurrency: _zod.z.number().positive().prefault(10),
13560
+ debug: _zod.z.boolean().prefault(false),
13554
13561
  sourceLocale: _zod.z.string().optional(),
13555
13562
  targetLocale: _zod.z.array(_zod.z.string()).optional(),
13556
- watch: _zod.z.boolean().default(false),
13557
- debounce: _zod.z.number().positive().default(5e3),
13563
+ watch: _zod.z.boolean().prefault(false),
13564
+ debounce: _zod.z.number().positive().prefault(5e3),
13558
13565
  // 5 seconds default
13559
13566
  sound: _zod.z.boolean().optional(),
13560
13567
  pseudo: _zod.z.boolean().optional()
@@ -15239,7 +15246,7 @@ async function renderHero2() {
15239
15246
  // package.json
15240
15247
  var package_default = {
15241
15248
  name: "lingo.dev",
15242
- version: "0.121.0",
15249
+ version: "0.122.0",
15243
15250
  description: "Lingo.dev CLI",
15244
15251
  private: false,
15245
15252
  repository: {
@@ -15368,10 +15375,10 @@ var package_default = {
15368
15375
  author: "",
15369
15376
  license: "Apache-2.0",
15370
15377
  dependencies: {
15371
- "@ai-sdk/anthropic": "1.2.11",
15372
- "@ai-sdk/google": "1.2.19",
15373
- "@ai-sdk/mistral": "1.2.8",
15374
- "@ai-sdk/openai": "1.3.22",
15378
+ "@ai-sdk/anthropic": "3.0.9",
15379
+ "@ai-sdk/google": "3.0.6",
15380
+ "@ai-sdk/mistral": "3.0.5",
15381
+ "@ai-sdk/openai": "3.0.7",
15375
15382
  "@babel/generator": "7.28.5",
15376
15383
  "@babel/parser": "7.28.5",
15377
15384
  "@babel/traverse": "7.28.5",
@@ -15389,10 +15396,10 @@ var package_default = {
15389
15396
  "@lingo.dev/_spec": "workspace:*",
15390
15397
  "@markdoc/markdoc": "0.5.4",
15391
15398
  "@modelcontextprotocol/sdk": "1.22.0",
15392
- "@openrouter/ai-sdk-provider": "0.7.1",
15399
+ "@openrouter/ai-sdk-provider": "6.0.0-alpha.1",
15393
15400
  "@paralleldrive/cuid2": "2.2.2",
15394
15401
  "@types/ejs": "3.1.5",
15395
- ai: "4.3.15",
15402
+ ai: "6.0.25",
15396
15403
  bitbucket: "2.12.0",
15397
15404
  chalk: "5.6.2",
15398
15405
  chokidar: "4.0.3",
@@ -15439,7 +15446,7 @@ var package_default = {
15439
15446
  "node-webvtt": "1.9.4",
15440
15447
  "object-hash": "3.0.0",
15441
15448
  octokit: "4.0.2",
15442
- "ollama-ai-provider": "1.2.0",
15449
+ "ollama-ai-provider-v2": "2.0.0",
15443
15450
  open: "10.2.0",
15444
15451
  ora: "8.1.1",
15445
15452
  "p-limit": "6.2.0",
@@ -15466,7 +15473,7 @@ var package_default = {
15466
15473
  xml2js: "0.6.2",
15467
15474
  xpath: "0.0.34",
15468
15475
  yaml: "2.8.1",
15469
- zod: "3.25.76"
15476
+ zod: "4.1.12"
15470
15477
  },
15471
15478
  devDependencies: {
15472
15479
  "@types/babel__generator": "7.27.0",