lingo.dev 0.116.4 → 0.117.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.
@@ -1,8 +1,8 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// ../../node_modules/.pnpm/tsup@8.3.5_@swc+core@1.13.5_jiti@2.5.1_postcss@8.5.4_tsx@4.20.3_typescript@5.8.3_yaml@2.7.0/node_modules/tsup/assets/cjs_shims.js
2
- var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.src || new URL("main.js", document.baseURI).href;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});// ../../node_modules/.pnpm/tsup@8.5.1_@swc+core@1.15.3_jiti@2.6.1_postcss@8.5.6_tsx@4.20.6_typescript@5.9.3_yaml@2.8.1/node_modules/tsup/assets/cjs_shims.js
2
+ var getImportMetaUrl = () => typeof document === "undefined" ? new URL(`file:${__filename}`).href : document.currentScript && document.currentScript.tagName.toUpperCase() === "SCRIPT" ? document.currentScript.src : new URL("main.js", document.baseURI).href;
3
3
  var importMetaUrl = /* @__PURE__ */ getImportMetaUrl();
4
4
 
5
5
 
6
6
 
7
7
  exports.importMetaUrl = importMetaUrl;
8
- //# sourceMappingURL=chunk-ZZGWAPLZ.cjs.map
8
+ //# sourceMappingURL=chunk-HTMTB46P.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/lingo.dev/lingo.dev/packages/cli/build/chunk-HTMTB46P.cjs","../../../node_modules/.pnpm/tsup@8.5.1_@swc+core@1.15.3_jiti@2.6.1_postcss@8.5.6_tsx@4.20.6_typescript@5.9.3_yaml@2.8.1/node_modules/tsup/assets/cjs_shims.js"],"names":[],"mappings":"AAAA;ACKA,IAAM,iBAAA,EAAmB,CAAA,EAAA,GACvB,OAAO,SAAA,IAAa,YAAA,EAChB,IAAI,GAAA,CAAI,CAAA,KAAA,EAAQ,UAAU,CAAA,CAAA;AAK8B;ADT4B;AACA;AACA;AACA","file":"/home/runner/work/lingo.dev/lingo.dev/packages/cli/build/chunk-HTMTB46P.cjs","sourcesContent":[null,"// Shim globals in cjs bundle\n// There's a weird bug that esbuild will always inject importMetaUrl\n// if we export it as `const importMetaUrl = ... __filename ...`\n// But using a function will not cause this issue\n\nconst getImportMetaUrl = () => \n typeof document === \"undefined\" \n ? new URL(`file:${__filename}`).href \n : (document.currentScript && document.currentScript.tagName.toUpperCase() === 'SCRIPT') \n ? document.currentScript.src \n : new URL(\"main.js\", document.baseURI).href;\n\nexport const importMetaUrl = /* @__PURE__ */ getImportMetaUrl()\n"]}
package/build/cli.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; } var _class; var _class2; var _class3; var _class4; var _class5; var _class6;
2
2
 
3
- var _chunkZZGWAPLZcjs = require('./chunk-ZZGWAPLZ.cjs');
3
+ var _chunkHTMTB46Pcjs = require('./chunk-HTMTB46P.cjs');
4
4
 
5
5
  // src/cli/index.ts
6
6
  var _dotenv = require('dotenv'); var _dotenv2 = _interopRequireDefault(_dotenv);
@@ -2111,6 +2111,13 @@ function getKeyType(yamlString) {
2111
2111
  function getStringType(yamlString) {
2112
2112
  if (yamlString) {
2113
2113
  const lines = yamlString.split("\n");
2114
+ const hasLiteralBlockScalar = lines.find((line) => {
2115
+ const trimmedLine = line.trim();
2116
+ return trimmedLine.match(/:\s*\|[-+]?\s*$/);
2117
+ });
2118
+ if (hasLiteralBlockScalar) {
2119
+ return "PLAIN";
2120
+ }
2114
2121
  const hasDoubleQuotes = lines.find((line) => {
2115
2122
  const trimmedLine = line.trim();
2116
2123
  return (trimmedLine.startsWith('"') || trimmedLine.match(/:\s*"/)) && (trimmedLine.endsWith('"') || trimmedLine.endsWith('",'));
@@ -2164,7 +2171,7 @@ function _isMetadataKey(key) {
2164
2171
  // src/cli/loaders/android.ts
2165
2172
  var _module = require('module');
2166
2173
  var _xml2js = require('xml2js');
2167
- var require2 = _module.createRequire.call(void 0, _chunkZZGWAPLZcjs.importMetaUrl);
2174
+ var require2 = _module.createRequire.call(void 0, _chunkHTMTB46Pcjs.importMetaUrl);
2168
2175
  var sax = require2("sax");
2169
2176
  var defaultAndroidResourcesXml = `<?xml version="1.0" encoding="utf-8"?>
2170
2177
  <resources>
@@ -6802,7 +6809,7 @@ function expand_(str, isTop) {
6802
6809
  return expansions;
6803
6810
  }
6804
6811
 
6805
- // ../../node_modules/.pnpm/minimatch@10.0.3/node_modules/minimatch/dist/esm/assert-valid-pattern.js
6812
+ // ../../node_modules/.pnpm/minimatch@10.1.1/node_modules/minimatch/dist/esm/assert-valid-pattern.js
6806
6813
  var MAX_PATTERN_LENGTH = 1024 * 64;
6807
6814
  var assertValidPattern = (pattern) => {
6808
6815
  if (typeof pattern !== "string") {
@@ -6813,7 +6820,7 @@ var assertValidPattern = (pattern) => {
6813
6820
  }
6814
6821
  };
6815
6822
 
6816
- // ../../node_modules/.pnpm/minimatch@10.0.3/node_modules/minimatch/dist/esm/brace-expressions.js
6823
+ // ../../node_modules/.pnpm/minimatch@10.1.1/node_modules/minimatch/dist/esm/brace-expressions.js
6817
6824
  var posixClasses = {
6818
6825
  "[:alnum:]": ["\\p{L}\\p{Nl}\\p{Nd}", true],
6819
6826
  "[:alpha:]": ["\\p{L}\\p{Nl}", true],
@@ -6922,12 +6929,15 @@ var parseClass = (glob3, position) => {
6922
6929
  return [comb, uflag, endPos - pos, true];
6923
6930
  };
6924
6931
 
6925
- // ../../node_modules/.pnpm/minimatch@10.0.3/node_modules/minimatch/dist/esm/unescape.js
6926
- var unescape = (s, { windowsPathsNoEscape = false } = {}) => {
6927
- return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
6932
+ // ../../node_modules/.pnpm/minimatch@10.1.1/node_modules/minimatch/dist/esm/unescape.js
6933
+ var unescape = (s, { windowsPathsNoEscape = false, magicalBraces = true } = {}) => {
6934
+ if (magicalBraces) {
6935
+ return windowsPathsNoEscape ? s.replace(/\[([^\/\\])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\])\]/g, "$1$2").replace(/\\([^\/])/g, "$1");
6936
+ }
6937
+ return windowsPathsNoEscape ? s.replace(/\[([^\/\\{}])\]/g, "$1") : s.replace(/((?!\\).|^)\[([^\/\\{}])\]/g, "$1$2").replace(/\\([^\/{}])/g, "$1");
6928
6938
  };
6929
6939
 
6930
- // ../../node_modules/.pnpm/minimatch@10.0.3/node_modules/minimatch/dist/esm/ast.js
6940
+ // ../../node_modules/.pnpm/minimatch@10.1.1/node_modules/minimatch/dist/esm/ast.js
6931
6941
  var types = /* @__PURE__ */ new Set(["!", "?", "+", "*", "@"]);
6932
6942
  var isExtglobType = (c) => types.has(c);
6933
6943
  var startNoTraversal = "(?!(?:^|/)\\.\\.?(?:$|/))";
@@ -7278,7 +7288,7 @@ var AST = class _AST {
7278
7288
  if (this.#root === this)
7279
7289
  this.#fillNegs();
7280
7290
  if (!this.type) {
7281
- const noEmpty = this.isStart() && this.isEnd();
7291
+ const noEmpty = this.isStart() && this.isEnd() && !this.#parts.some((s) => typeof s !== "string");
7282
7292
  const src = this.#parts.map((p) => {
7283
7293
  const [re, _37, hasMagic, uflag] = typeof p === "string" ? _AST.#parseGlob(p, this.#hasMagic, noEmpty) : p.toRegExpSource(allowDot);
7284
7294
  this.#hasMagic = this.#hasMagic || hasMagic;
@@ -7388,10 +7398,7 @@ var AST = class _AST {
7388
7398
  }
7389
7399
  }
7390
7400
  if (c === "*") {
7391
- if (noEmpty && glob3 === "*")
7392
- re += starNoEmpty;
7393
- else
7394
- re += star;
7401
+ re += noEmpty && glob3 === "*" ? starNoEmpty : star;
7395
7402
  hasMagic = true;
7396
7403
  continue;
7397
7404
  }
@@ -7406,12 +7413,15 @@ var AST = class _AST {
7406
7413
  }
7407
7414
  };
7408
7415
 
7409
- // ../../node_modules/.pnpm/minimatch@10.0.3/node_modules/minimatch/dist/esm/escape.js
7410
- var escape = (s, { windowsPathsNoEscape = false } = {}) => {
7416
+ // ../../node_modules/.pnpm/minimatch@10.1.1/node_modules/minimatch/dist/esm/escape.js
7417
+ var escape = (s, { windowsPathsNoEscape = false, magicalBraces = false } = {}) => {
7418
+ if (magicalBraces) {
7419
+ return windowsPathsNoEscape ? s.replace(/[?*()[\]{}]/g, "[$&]") : s.replace(/[?*()[\]\\{}]/g, "\\$&");
7420
+ }
7411
7421
  return windowsPathsNoEscape ? s.replace(/[?*()[\]]/g, "[$&]") : s.replace(/[?*()[\]\\]/g, "\\$&");
7412
7422
  };
7413
7423
 
7414
- // ../../node_modules/.pnpm/minimatch@10.0.3/node_modules/minimatch/dist/esm/index.js
7424
+ // ../../node_modules/.pnpm/minimatch@10.1.1/node_modules/minimatch/dist/esm/index.js
7415
7425
  var minimatch = (p, pattern, options = {}) => {
7416
7426
  assertValidPattern(pattern);
7417
7427
  if (!options.nocomment && pattern.charAt(0) === "#") {
@@ -8048,16 +8058,27 @@ var Minimatch = class {
8048
8058
  pp[i] = twoStar;
8049
8059
  }
8050
8060
  } else if (next === void 0) {
8051
- pp[i - 1] = prev + "(?:\\/|" + twoStar + ")?";
8061
+ pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + ")?";
8052
8062
  } else if (next !== GLOBSTAR) {
8053
8063
  pp[i - 1] = prev + "(?:\\/|\\/" + twoStar + "\\/)" + next;
8054
8064
  pp[i + 1] = GLOBSTAR;
8055
8065
  }
8056
8066
  });
8057
- return pp.filter((p) => p !== GLOBSTAR).join("/");
8067
+ const filtered = pp.filter((p) => p !== GLOBSTAR);
8068
+ if (this.partial && filtered.length >= 1) {
8069
+ const prefixes = [];
8070
+ for (let i = 1; i <= filtered.length; i++) {
8071
+ prefixes.push(filtered.slice(0, i).join("/"));
8072
+ }
8073
+ return "(?:" + prefixes.join("|") + ")";
8074
+ }
8075
+ return filtered.join("/");
8058
8076
  }).join("|");
8059
8077
  const [open3, close] = set.length > 1 ? ["(?:", ")"] : ["", ""];
8060
8078
  re = "^" + open3 + re + close + "$";
8079
+ if (this.partial) {
8080
+ re = "^(?:\\/|" + open3 + re.slice(1, -1) + close + ")$";
8081
+ }
8061
8082
  if (this.negate)
8062
8083
  re = "^(?!" + re + ").+$";
8063
8084
  try {
@@ -11960,7 +11981,7 @@ async function determineAuthId(ctx) {
11960
11981
  }
11961
11982
 
11962
11983
  // src/cli/cmd/run/index.ts
11963
- var __dirname = path14.default.dirname(_url.fileURLToPath.call(void 0, _chunkZZGWAPLZcjs.importMetaUrl));
11984
+ var __dirname = path14.default.dirname(_url.fileURLToPath.call(void 0, _chunkHTMTB46Pcjs.importMetaUrl));
11964
11985
  function playSound(type) {
11965
11986
  const platform = _os2.default.platform();
11966
11987
  return new Promise((resolve) => {
@@ -13465,7 +13486,7 @@ async function renderHero2() {
13465
13486
  // package.json
13466
13487
  var package_default = {
13467
13488
  name: "lingo.dev",
13468
- version: "0.116.4",
13489
+ version: "0.117.0",
13469
13490
  description: "Lingo.dev CLI",
13470
13491
  private: false,
13471
13492
  publishConfig: {
@@ -13587,126 +13608,126 @@ var package_default = {
13587
13608
  author: "",
13588
13609
  license: "Apache-2.0",
13589
13610
  dependencies: {
13590
- "@ai-sdk/anthropic": "^1.2.11",
13591
- "@ai-sdk/google": "^1.2.19",
13592
- "@ai-sdk/mistral": "^1.2.8",
13593
- "@ai-sdk/openai": "^1.3.22",
13594
- "@babel/generator": "^7.27.1",
13595
- "@babel/parser": "^7.27.1",
13596
- "@babel/traverse": "^7.27.4",
13597
- "@babel/types": "^7.27.1",
13598
- "@biomejs/js-api": "^3.0.0",
13599
- "@biomejs/wasm-nodejs": "^2.2.4",
13600
- "@datocms/cma-client-node": "^4.0.1",
13601
- "@gitbeaker/rest": "^39.34.3",
13602
- "@inkjs/ui": "^2.0.0",
13603
- "@inquirer/prompts": "^7.8.0",
13611
+ "@ai-sdk/anthropic": "1.2.11",
13612
+ "@ai-sdk/google": "1.2.19",
13613
+ "@ai-sdk/mistral": "1.2.8",
13614
+ "@ai-sdk/openai": "1.3.22",
13615
+ "@babel/generator": "7.28.5",
13616
+ "@babel/parser": "7.28.5",
13617
+ "@babel/traverse": "7.28.5",
13618
+ "@babel/types": "7.28.5",
13619
+ "@biomejs/js-api": "3.0.0",
13620
+ "@biomejs/wasm-nodejs": "2.3.7",
13621
+ "@datocms/cma-client-node": "4.0.1",
13622
+ "@gitbeaker/rest": "39.34.3",
13623
+ "@inkjs/ui": "2.0.0",
13624
+ "@inquirer/prompts": "7.8.0",
13604
13625
  "@lingo.dev/_compiler": "workspace:*",
13605
13626
  "@lingo.dev/_locales": "workspace:*",
13606
13627
  "@lingo.dev/_react": "workspace:*",
13607
13628
  "@lingo.dev/_sdk": "workspace:*",
13608
13629
  "@lingo.dev/_spec": "workspace:*",
13609
- "@markdoc/markdoc": "^0.5.4",
13610
- "@modelcontextprotocol/sdk": "^1.5.0",
13611
- "@openrouter/ai-sdk-provider": "^0.7.1",
13612
- "@paralleldrive/cuid2": "^2.2.2",
13613
- "@types/ejs": "^3.1.5",
13614
- ai: "^4.3.15",
13615
- bitbucket: "^2.12.0",
13616
- chalk: "^5.4.1",
13617
- chokidar: "^4.0.3",
13618
- "cli-progress": "^3.12.0",
13619
- "cli-table3": "^0.6.5",
13620
- cors: "^2.8.5",
13621
- "csv-parse": "^5.6.0",
13622
- "csv-stringify": "^6.5.2",
13623
- "date-fns": "^4.1.0",
13624
- dedent: "^1.5.3",
13625
- diff: "^7.0.0",
13626
- dotenv: "^16.4.7",
13627
- ejs: "^3.1.10",
13628
- express: "^5.1.0",
13629
- "external-editor": "^3.1.0",
13630
- figlet: "^1.8.2",
13631
- flat: "^6.0.1",
13632
- "gettext-parser": "^8.0.0",
13633
- glob: "<11.0.0",
13634
- "gradient-string": "^3.0.0",
13635
- "gray-matter": "^4.0.3",
13636
- ini: "^5.0.0",
13637
- ink: "^4.2.0",
13638
- "ink-progress-bar": "^3.0.0",
13639
- "ink-spinner": "^5.0.0",
13640
- inquirer: "^12.6.0",
13641
- "interactive-commander": "^0.5.194",
13642
- "is-url": "^1.2.4",
13643
- jsdom: "^25.0.1",
13644
- json5: "^2.2.3",
13645
- "jsonc-parser": "^3.3.1",
13646
- jsonrepair: "^3.11.2",
13647
- listr2: "^8.3.2",
13648
- lodash: "^4.17.21",
13649
- marked: "^15.0.6",
13650
- "mdast-util-from-markdown": "^2.0.2",
13651
- "mdast-util-gfm": "^3.1.0",
13652
- "micromark-extension-gfm": "^3.0.0",
13653
- "node-machine-id": "^1.1.12",
13654
- "node-webvtt": "^1.9.4",
13655
- "object-hash": "^3.0.0",
13656
- octokit: "^4.0.2",
13657
- "ollama-ai-provider": "^1.2.0",
13658
- open: "^10.2.0",
13659
- ora: "^8.1.1",
13660
- "p-limit": "^6.2.0",
13661
- "php-array-reader": "^2.1.2",
13662
- plist: "^3.1.0",
13663
- "posthog-node": "^5.8.1",
13664
- prettier: "^3.6.2",
13665
- react: "^18.3.1",
13666
- "rehype-stringify": "^10.0.1",
13667
- "remark-disable-tokenizers": "^1.1.1",
13668
- "remark-frontmatter": "^5.0.0",
13669
- "remark-gfm": "^4.0.1",
13670
- "remark-mdx": "^3.1.0",
13671
- "remark-mdx-frontmatter": "^5.1.0",
13672
- "remark-parse": "^11.0.0",
13673
- "remark-rehype": "^11.1.2",
13674
- "remark-stringify": "^11.0.0",
13675
- sax: "^1.4.1",
13676
- "srt-parser-2": "^1.2.3",
13677
- unified: "^11.0.5",
13678
- "unist-util-visit": "^5.0.0",
13679
- vfile: "^6.0.3",
13680
- xliff: "^6.2.1",
13681
- xml2js: "^0.6.2",
13682
- xpath: "^0.0.34",
13683
- yaml: "^2.7.0",
13684
- zod: "^3.25.76"
13630
+ "@markdoc/markdoc": "0.5.4",
13631
+ "@modelcontextprotocol/sdk": "1.22.0",
13632
+ "@openrouter/ai-sdk-provider": "0.7.1",
13633
+ "@paralleldrive/cuid2": "2.2.2",
13634
+ "@types/ejs": "3.1.5",
13635
+ ai: "4.3.15",
13636
+ bitbucket: "2.12.0",
13637
+ chalk: "5.6.2",
13638
+ chokidar: "4.0.3",
13639
+ "cli-progress": "3.12.0",
13640
+ "cli-table3": "0.6.5",
13641
+ cors: "2.8.5",
13642
+ "csv-parse": "5.6.0",
13643
+ "csv-stringify": "6.6.0",
13644
+ "date-fns": "4.1.0",
13645
+ dedent: "1.7.0",
13646
+ diff: "7.0.0",
13647
+ dotenv: "16.4.7",
13648
+ ejs: "3.1.10",
13649
+ express: "5.1.0",
13650
+ "external-editor": "3.1.0",
13651
+ figlet: "1.9.4",
13652
+ flat: "6.0.1",
13653
+ "gettext-parser": "8.0.0",
13654
+ glob: "11.1.0",
13655
+ "gradient-string": "3.0.0",
13656
+ "gray-matter": "4.0.3",
13657
+ ini: "5.0.0",
13658
+ ink: "4.2.0",
13659
+ "ink-progress-bar": "3.0.0",
13660
+ "ink-spinner": "5.0.0",
13661
+ inquirer: "12.6.0",
13662
+ "interactive-commander": "0.5.194",
13663
+ "is-url": "1.2.4",
13664
+ jsdom: "25.0.1",
13665
+ json5: "2.2.3",
13666
+ "jsonc-parser": "3.3.1",
13667
+ jsonrepair: "3.13.1",
13668
+ listr2: "8.3.2",
13669
+ lodash: "4.17.21",
13670
+ marked: "15.0.6",
13671
+ "mdast-util-from-markdown": "2.0.2",
13672
+ "mdast-util-gfm": "3.1.0",
13673
+ "micromark-extension-gfm": "3.0.0",
13674
+ "node-machine-id": "1.1.12",
13675
+ "node-webvtt": "1.9.4",
13676
+ "object-hash": "3.0.0",
13677
+ octokit: "4.0.2",
13678
+ "ollama-ai-provider": "1.2.0",
13679
+ open: "10.2.0",
13680
+ ora: "8.1.1",
13681
+ "p-limit": "6.2.0",
13682
+ "php-array-reader": "2.1.2",
13683
+ plist: "3.1.0",
13684
+ "posthog-node": "5.14.0",
13685
+ prettier: "3.6.2",
13686
+ react: "19.2.0",
13687
+ "rehype-stringify": "10.0.1",
13688
+ "remark-disable-tokenizers": "1.1.1",
13689
+ "remark-frontmatter": "5.0.0",
13690
+ "remark-gfm": "4.0.1",
13691
+ "remark-mdx": "3.1.1",
13692
+ "remark-mdx-frontmatter": "5.2.0",
13693
+ "remark-parse": "11.0.0",
13694
+ "remark-rehype": "11.1.2",
13695
+ "remark-stringify": "11.0.0",
13696
+ sax: "1.4.3",
13697
+ "srt-parser-2": "1.2.3",
13698
+ unified: "11.0.5",
13699
+ "unist-util-visit": "5.0.0",
13700
+ vfile: "6.0.3",
13701
+ xliff: "6.2.2",
13702
+ xml2js: "0.6.2",
13703
+ xpath: "0.0.34",
13704
+ yaml: "2.8.1",
13705
+ zod: "3.25.76"
13685
13706
  },
13686
13707
  devDependencies: {
13687
- "@types/babel__generator": "^7.27.0",
13688
- "@types/chokidar": "^2.1.7",
13689
- "@types/cli-progress": "^3.11.6",
13690
- "@types/cors": "^2.8.17",
13691
- "@types/diff": "^7.0.0",
13692
- "@types/express": "^5.0.3",
13693
- "@types/figlet": "^1.7.0",
13694
- "@types/gettext-parser": "^4.0.4",
13695
- "@types/glob": "^8.1.0",
13696
- "@types/ini": "^4.1.1",
13697
- "@types/is-url": "^1.2.32",
13698
- "@types/jsdom": "^21.1.7",
13699
- "@types/lodash": "^4.17.16",
13700
- "@types/mdast": "^4.0.4",
13701
- "@types/node": "^22.10.2",
13702
- "@types/node-gettext": "^3.0.6",
13703
- "@types/object-hash": "^3.0.6",
13704
- "@types/plist": "^3.0.5",
13705
- "@types/react": "^18.3.20",
13706
- "@types/xml2js": "^0.4.14",
13707
- tsup: "^8.3.5",
13708
- typescript: "^5.8.3",
13709
- vitest: "^3.1.2"
13708
+ "@types/babel__generator": "7.27.0",
13709
+ "@types/chokidar": "2.1.7",
13710
+ "@types/cli-progress": "3.11.6",
13711
+ "@types/cors": "2.8.19",
13712
+ "@types/diff": "7.0.0",
13713
+ "@types/express": "5.0.5",
13714
+ "@types/figlet": "1.7.0",
13715
+ "@types/gettext-parser": "4.0.4",
13716
+ "@types/glob": "8.1.0",
13717
+ "@types/ini": "4.1.1",
13718
+ "@types/is-url": "1.2.32",
13719
+ "@types/jsdom": "21.1.7",
13720
+ "@types/lodash": "4.17.21",
13721
+ "@types/mdast": "4.0.4",
13722
+ "@types/node": "22.10.2",
13723
+ "@types/node-gettext": "3.0.6",
13724
+ "@types/object-hash": "3.0.6",
13725
+ "@types/plist": "3.0.5",
13726
+ "@types/react": "19.2.7",
13727
+ "@types/xml2js": "0.4.14",
13728
+ tsup: "8.5.1",
13729
+ typescript: "5.9.3",
13730
+ vitest: "3.1.2"
13710
13731
  },
13711
13732
  engines: {
13712
13733
  node: ">=18"