@likec4/mcp 1.60.0 → 1.61.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 +104 -102
- package/dist/app/render-view-client.css +1 -1
- package/dist/app/render-view-client.js +375 -393
- package/dist/chunks/libs/@chenglou/pretext.mjs +9 -0
- package/dist/chunks/libs/@logtape/logtape.mjs +5 -5
- package/dist/chunks/libs/chevrotain.mjs +19 -19
- package/dist/chunks/libs/clone.mjs +1 -0
- package/dist/chunks/libs/eventemitter3.mjs +1 -1
- package/dist/chunks/libs/fast-equals.mjs +1 -0
- package/dist/chunks/libs/fontkit.mjs +1 -0
- package/dist/chunks/libs/fuse.js.mjs +1 -0
- package/dist/chunks/libs/graphology.mjs +1 -1
- package/dist/chunks/libs/hast-util-to-html.mjs +2 -2
- package/dist/chunks/libs/hastscript.mjs +1 -1
- package/dist/chunks/libs/immer.mjs +1 -1
- package/dist/chunks/libs/langium.mjs +2 -2
- package/dist/chunks/libs/markdown-table.mjs +1 -1
- package/dist/chunks/libs/mdast-util-find-and-replace.mjs +1 -1
- package/dist/chunks/libs/mdast-util-from-markdown.mjs +4 -4
- package/dist/chunks/libs/mdast-util-gfm.mjs +4 -4
- package/dist/chunks/libs/mdast-util-to-hast.mjs +3 -3
- package/dist/chunks/libs/micromark-extension-gfm.mjs +2 -2
- package/dist/chunks/libs/mnemonist.mjs +1 -1
- package/dist/chunks/libs/parse-entities.mjs +1 -1
- package/dist/chunks/libs/pathe.mjs +1 -1
- package/dist/chunks/libs/refractor.mjs +1 -1
- package/dist/chunks/libs/rehype-prism-plus.mjs +2 -2
- package/dist/chunks/libs/remark-github-blockquote-alert.mjs +1 -1
- package/dist/chunks/libs/remeda.mjs +1 -1
- package/dist/chunks/libs/unified.mjs +1 -1
- package/dist/chunks/libs/which.mjs +1 -1
- package/dist/chunks/rolldown-runtime.mjs +1 -1
- package/dist/chunks/src.mjs +193 -108
- package/dist/cli.mjs +1 -1
- package/package.json +27 -27
package/dist/cli.mjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import{i as e}from"./chunks/rolldown-runtime.mjs";import{n as t,r as n}from"./chunks/src.mjs";import{resolve as r}from"node:path";import{parseArgs as i}from"node:util";const a=/\d/,o=[`-`,`_`,`/`,`.`];function isUppercase(e=``){if(!a.test(e))return e!==e.toLowerCase()}function splitByCase(e,t){let n=t??o,r=[];if(!e||typeof e!=`string`)return r;let i=``,a,s;for(let t of e){let e=n.includes(t);if(e===!0){r.push(i),i=``,a=void 0;continue}let o=isUppercase(t);if(s===!1){if(a===!1&&o===!0){r.push(i),i=t,a=o;continue}if(a===!0&&o===!1&&i.length>1){let e=i.at(-1);r.push(i.slice(0,Math.max(0,i.length-1))),i=e+t,a=o;continue}}i+=t,a=o,s=e}return r.push(i),r}function upperFirst(e){return e?e[0].toUpperCase()+e.slice(1):``}function lowerFirst(e){return e?e[0].toLowerCase()+e.slice(1):``}function pascalCase(e,t){return e?(Array.isArray(e)?e:splitByCase(e)).map(e=>upperFirst(t?.normalize?e.toLowerCase():e)).join(``):``}function camelCase(e,t){return lowerFirst(pascalCase(e||``,t))}function kebabCase(e,t){return e?(Array.isArray(e)?e:splitByCase(e)).map(e=>e.toLowerCase()).join(t??`-`):``}function snakeCase(e){return kebabCase(e||``,`_`)}function toArray(e){return Array.isArray(e)?e:e===void 0?[]:[e]}function formatLineColumns(e,t=``){let n=[];for(let t of e)for(let[e,r]of t.entries())n[e]=Math.max(n[e]||0,r.length);return e.map(e=>e.map((e,r)=>t+e[r===0?`padStart`:`padEnd`](n[r])).join(` `)).join(`
|
|
3
|
-
`)}function resolveValue(e){return typeof e==`function`?e():e}var CLIError=class extends Error{code;constructor(e,t){super(e),this.name=`CLIError`,this.code=t}};function parseRawArgs(e=[],t={}){let n=new Set(t.boolean||[]),r=new Set(t.string||[]),a=t.alias||{},o=t.default||{},s=/* @__PURE__ */ new Map,c=/* @__PURE__ */ new Map;for(let[e,t]of Object.entries(a)){let n=t;for(let t of n)s.set(e,t),c.has(t)||c.set(t,[]),c.get(t).push(e),s.set(t,e),c.has(e)||c.set(e,[]),c.get(e).push(t)}let l={};function getType(e){if(n.has(e))return`boolean`;let t=c.get(e)||[];for(let e of t)if(n.has(e))return`boolean`;return`string`}function isStringType(e){if(r.has(e))return!0;let t=c.get(e)||[];for(let e of t)if(r.has(e))return!0;return!1}let u=/* @__PURE__ */ new Set([...n,...r,...Object.keys(a),...Object.values(a).flat(),...Object.keys(o)]);for(let e of u)l[e]||(l[e]={type:getType(e),default:o[e]});for(let[e,t]of s.entries())e.length===1&&l[t]&&!l[t].short&&(l[t].short=e);let d=[],f={};for(let t=0;t<e.length;t++){let n=e[t];if(n===`--`){d.push(...e.slice(t));break}if(n.startsWith(`--no-`)){let e=n.slice(5);f[e]=!0}else d.push(n)}let p;try{p=i({args:d,options:Object.keys(l).length>0?l:void 0,allowPositionals:!0,strict:!1})}catch{p={values:{},positionals:d}}let m={_:[]};m._=p.positionals;for(let[e,t]of Object.entries(p.values)){let n=t;getType(e)===`boolean`&&typeof t==`string`?n=t!==`false`:isStringType(e)&&typeof t==`boolean`&&(n=``),m[e]=n}for(let[e]of Object.entries(f)){m[e]=!1;let t=s.get(e);t&&(m[t]=!1);let n=c.get(e);if(n)for(let e of n)m[e]=!1}for(let[e,t]of s.entries())m[e]!==void 0&&m[t]===void 0&&(m[t]=m[e]),m[t]!==void 0&&m[e]===void 0&&(m[e]=m[t]),m[e]!==m[t]&&o[t]===m[t]&&(m[t]=m[e]);return m}const s=/* @__PURE__ */ (()=>{let e=globalThis.process?.env??{};return e.NO_COLOR===`1`||e.TERM===`dumb`||e.TEST||e.CI})(),_c=(e,t=39)=>n=>s?n:`\u001B[${e}m${n}\u001B[${t}m`,c=/* @__PURE__ */ _c(1,22),l=/* @__PURE__ */ _c(36),u=/* @__PURE__ */ _c(90),d=/* @__PURE__ */ _c(4,24);function parseArgs$
|
|
3
|
+
`)}function resolveValue(e){return typeof e==`function`?e():e}var CLIError=class extends Error{code;constructor(e,t){super(e),this.name=`CLIError`,this.code=t}};function parseRawArgs(e=[],t={}){let n=new Set(t.boolean||[]),r=new Set(t.string||[]),a=t.alias||{},o=t.default||{},s=/* @__PURE__ */ new Map,c=/* @__PURE__ */ new Map;for(let[e,t]of Object.entries(a)){let n=t;for(let t of n)s.set(e,t),c.has(t)||c.set(t,[]),c.get(t).push(e),s.set(t,e),c.has(e)||c.set(e,[]),c.get(e).push(t)}let l={};function getType(e){if(n.has(e))return`boolean`;let t=c.get(e)||[];for(let e of t)if(n.has(e))return`boolean`;return`string`}function isStringType(e){if(r.has(e))return!0;let t=c.get(e)||[];for(let e of t)if(r.has(e))return!0;return!1}let u=/* @__PURE__ */ new Set([...n,...r,...Object.keys(a),...Object.values(a).flat(),...Object.keys(o)]);for(let e of u)l[e]||(l[e]={type:getType(e),default:o[e]});for(let[e,t]of s.entries())e.length===1&&l[t]&&!l[t].short&&(l[t].short=e);let d=[],f={};for(let t=0;t<e.length;t++){let n=e[t];if(n===`--`){d.push(...e.slice(t));break}if(n.startsWith(`--no-`)){let e=n.slice(5);f[e]=!0}else d.push(n)}let p;try{p=i({args:d,options:Object.keys(l).length>0?l:void 0,allowPositionals:!0,strict:!1})}catch{p={values:{},positionals:d}}let m={_:[]};m._=p.positionals;for(let[e,t]of Object.entries(p.values)){let n=t;getType(e)===`boolean`&&typeof t==`string`?n=t!==`false`:isStringType(e)&&typeof t==`boolean`&&(n=``),m[e]=n}for(let[e]of Object.entries(f)){m[e]=!1;let t=s.get(e);t&&(m[t]=!1);let n=c.get(e);if(n)for(let e of n)m[e]=!1}for(let[e,t]of s.entries())m[e]!==void 0&&m[t]===void 0&&(m[t]=m[e]),m[t]!==void 0&&m[e]===void 0&&(m[e]=m[t]),m[e]!==m[t]&&o[t]===m[t]&&(m[t]=m[e]);return m}const s=/* @__PURE__ */ (()=>{let e=globalThis.process?.env??{};return e.NO_COLOR===`1`||e.TERM===`dumb`||e.TEST||e.CI})(),_c=(e,t=39)=>n=>s?n:`\u001B[${e}m${n}\u001B[${t}m`,c=/* @__PURE__ */ _c(1,22),l=/* @__PURE__ */ _c(36),u=/* @__PURE__ */ _c(90),d=/* @__PURE__ */ _c(4,24);function parseArgs$2(e,t){let n={boolean:[],string:[],alias:{},default:{}},r=resolveArgs(t);for(let e of r){if(e.type===`positional`)continue;e.type===`string`||e.type===`enum`?n.string.push(e.name):e.type===`boolean`&&n.boolean.push(e.name),e.default!==void 0&&(n.default[e.name]=e.default),e.alias&&(n.alias[e.name]=e.alias);let t=camelCase(e.name),r=kebabCase(e.name);if(t!==e.name||r!==e.name){let i=toArray(n.alias[e.name]||[]);t!==e.name&&!i.includes(t)&&i.push(t),r!==e.name&&!i.includes(r)&&i.push(r),i.length>0&&(n.alias[e.name]=i)}}let i=parseRawArgs(e,n),[...a]=i._,o=new Proxy(i,{get(e,t){return e[t]??e[camelCase(t)]??e[kebabCase(t)]}});for(let[,e]of r.entries())if(e.type===`positional`){let t=a.shift();if(t!==void 0)o[e.name]=t;else if(e.default===void 0&&e.required!==!1)throw new CLIError(`Missing required positional argument: ${e.name.toUpperCase()}`,`EARG`);else o[e.name]=e.default}else if(e.type===`enum`){let t=o[e.name],n=e.options||[];if(t!==void 0&&n.length>0&&!n.includes(t))throw new CLIError(`Invalid value for argument: ${l(`--${e.name}`)} (${l(t)}). Expected one of: ${n.map(e=>l(e)).join(`, `)}.`,`EARG`)}else if(e.required&&o[e.name]===void 0)throw new CLIError(`Missing required argument: --${e.name}`,`EARG`);return o}e(parseArgs$2,`parseArgs`);function resolveArgs(e){let t=[];for(let[n,r]of Object.entries(e||{}))t.push({...r,name:n,alias:toArray(r.alias)});return t}async function resolvePlugins(e){return Promise.all(e.map(e=>resolveValue(e)))}function defineCommand(e){return e}async function runCommand(e,t){let n=await resolveValue(e.args||{}),r=parseArgs$2(t.rawArgs,n),i={rawArgs:t.rawArgs,args:r,data:t.data,cmd:e},a=await resolvePlugins(e.plugins??[]),o,s;try{for(let e of a)await e.setup?.(i);typeof e.setup==`function`&&await e.setup(i);let r=await resolveValue(e.subCommands);if(r&&Object.keys(r).length>0){let i=findSubCommandIndex(t.rawArgs,n),a=t.rawArgs[i];if(a){let e=await _findSubCommand(r,a);if(!e)throw new CLIError(`Unknown command ${l(a)}`,`E_UNKNOWN_COMMAND`);await runCommand(e,{rawArgs:t.rawArgs.slice(i+1)})}else{let n=await resolveValue(e.default);if(n){if(e.run)throw new CLIError(`Cannot specify both 'run' and 'default' on the same command.`,`E_DEFAULT_CONFLICT`);let i=await _findSubCommand(r,n);if(!i)throw new CLIError(`Default sub command ${l(n)} not found in subCommands.`,`E_UNKNOWN_COMMAND`);await runCommand(i,{rawArgs:t.rawArgs})}else if(!e.run)throw new CLIError(`No command specified.`,`E_NO_COMMAND`)}}typeof e.run==`function`&&(o=await e.run(i))}catch(e){s=e}let c=[];if(typeof e.cleanup==`function`)try{await e.cleanup(i)}catch(e){c.push(e)}for(let e of[...a].reverse())try{await e.cleanup?.(i)}catch(e){c.push(e)}if(s)throw s;if(c.length===1)throw c[0];if(c.length>1)throw Error(`Multiple cleanup errors`,{cause:c});return{result:o}}async function resolveSubCommand(e,t,n){let r=await resolveValue(e.subCommands);if(r&&Object.keys(r).length>0){let n=findSubCommandIndex(t,await resolveValue(e.args||{})),i=t[n],a=await _findSubCommand(r,i);if(a)return resolveSubCommand(a,t.slice(n+1),e)}return[e,n]}async function _findSubCommand(e,t){if(t in e)return resolveValue(e[t]);for(let n of Object.values(e)){let e=await resolveValue(n),r=await resolveValue(e?.meta);if(r?.alias&&toArray(r.alias).includes(t))return e}}function findSubCommandIndex(e,t){for(let n=0;n<e.length;n++){let r=e[n];if(r===`--`)return-1;if(r.startsWith(`-`))!r.includes(`=`)&&_isValueFlag(r,t)&&n++;else return n}return-1}function _isValueFlag(e,t){let n=e.replace(/^-{1,2}/,``),r=camelCase(n);for(let[e,i]of Object.entries(t))if((i.type===`string`||i.type===`enum`)&&(r===camelCase(e)||(Array.isArray(i.alias)?i.alias:i.alias?[i.alias]:[]).includes(n)))return!0;return!1}async function showUsage(e,t){try{console.log(await renderUsage(e,t)+`
|
|
4
4
|
`)}catch(e){console.error(e)}}const f=/^no[-A-Z]/;async function renderUsage(e,t){let n=await resolveValue(e.meta||{}),r=resolveArgs(await resolveValue(e.args||{})),i=await resolveValue(t?.meta||{}),a=`${i.name?`${i.name} `:``}`+(n.name||process.argv[1]),o=[],s=[],p=[],m=[];for(let e of r)if(e.type===`positional`){let t=e.name.toUpperCase(),n=e.required!==!1&&e.default===void 0;s.push([l(t+renderValueHint(e)),renderDescription(e,n)]),m.push(n?`<${t}>`:`[${t}]`)}else{let t=e.required===!0&&e.default===void 0,n=[...(e.alias||[]).map(e=>`-${e}`),`--${e.name}`].join(`, `)+renderValueHint(e);if(o.push([l(n),renderDescription(e,t)]),e.type===`boolean`&&(e.default===!0||e.negativeDescription)&&!f.test(e.name)){let n=[...(e.alias||[]).map(e=>`--no-${e}`),`--no-${e.name}`].join(`, `);o.push([l(n),[e.negativeDescription,t?u(`(Required)`):``].filter(Boolean).join(` `)])}t&&m.push(`--${e.name}`+renderValueHint(e))}if(e.subCommands){let t=[],n=await resolveValue(e.subCommands);for(let[e,r]of Object.entries(n)){let n=await resolveValue((await resolveValue(r))?.meta);if(n?.hidden)continue;let i=toArray(n?.alias),a=[e,...i].join(`, `);p.push([l(a),n?.description||``]),t.push(e,...i)}m.push(t.join(`|`))}let h=[],g=n.version||i.version;h.push(u(`${n.description} (${a+(g?` v${g}`:``)})`),``);let _=o.length>0||s.length>0;return h.push(`${d(c(`USAGE`))} ${l(`${a}${_?` [OPTIONS]`:``} ${m.join(` `)}`)}`,``),s.length>0&&(h.push(d(c(`ARGUMENTS`)),``),h.push(formatLineColumns(s,` `)),h.push(``)),o.length>0&&(h.push(d(c(`OPTIONS`)),``),h.push(formatLineColumns(o,` `)),h.push(``)),p.length>0&&(h.push(d(c(`COMMANDS`)),``),h.push(formatLineColumns(p,` `)),h.push(``,`Use ${l(`${a} <command> --help`)} for more information about a command.`)),h.filter(e=>typeof e==`string`).join(`
|
|
5
5
|
`)}function renderValueHint(e){let t=e.valueHint?`=<${e.valueHint}>`:``,n=t||`=<${snakeCase(e.name)}>`;return!e.type||e.type===`positional`||e.type===`boolean`?t:e.type===`enum`&&e.options?.length?`=<${e.options.join(`|`)}>`:n}function renderDescription(e,t){let n=t?u(`(Required)`):``,r=e.default===void 0?``:u(`(Default: ${e.default})`);return[e.description,n,r].filter(Boolean).join(` `)}async function runMain(e,t={}){let n=t.rawArgs||process.argv.slice(2),r=t.showUsage||showUsage;try{let t=await _resolveBuiltinFlags(e);if(t.help.length>0&&n.some(e=>t.help.includes(e)))await r(...await resolveSubCommand(e,n)),process.exit(0);else if(n.length===1&&t.version.includes(n[0])){let t=typeof e.meta==`function`?await e.meta():await e.meta;if(!t?.version)throw new CLIError(`No version specified`,`E_NO_VERSION`);console.log(t.version)}else await runCommand(e,{rawArgs:n})}catch(t){t instanceof CLIError?(await r(...await resolveSubCommand(e,n)),console.error(t.message)):console.error(t,`
|
|
6
6
|
`),process.exit(1)}}async function _resolveBuiltinFlags(e){let t=await resolveValue(e.args||{}),n=/* @__PURE__ */ new Set,r=/* @__PURE__ */ new Set;for(let[e,i]of Object.entries(t)){n.add(e);for(let e of toArray(i.alias))r.add(e)}return{help:_getBuiltinFlags(`help`,`h`,n,r),version:_getBuiltinFlags(`version`,`v`,n,r)}}function _getBuiltinFlags(e,t,n,r){return n.has(e)||r.has(e)?[]:n.has(t)||r.has(t)?[`--${e}`]:[`--${e}`,`-${t}`]}runMain(defineCommand({meta:{name:`likec4-mcp-server`,description:`LikeC4 MCP server`},args:{stdio:{type:`boolean`,description:`use stdio transport (default)`,required:!1},http:{type:`boolean`,description:`use streamable http transport`,required:!1},port:{type:`string`,description:`change http port`,valueHint:`number`,required:!1},graphviz:{type:`enum`,options:[`binary`,`wasm`],description:`use binary or wasm graphviz`,default:`wasm`,required:!1},watch:{type:`boolean`,description:`disable watch for changes`,default:!0,required:!1},workspace:{type:`positional`,description:`change workspace, can be set by LIKEC4_WORKSPACE env`,valueHint:`directory`,required:!1,default:process.env.LIKEC4_WORKSPACE||`.`}},setup({args:e}){if(e.stdio&&(e.http||e.port))throw Error(`stdio and http are mutually exclusive`)},async run({args:e}){let i=e.stdio||!e.http&&!e.port,a=e.port?parseInt(e.port):33335,o=r(e.workspace||`.`);e.watch&&n.warn`watch for changes enabled, use ${`--no-watch`} to consume less resources`,await t({workspacePath:o,graphviz:e.graphviz,mcp:i?`stdio`:{port:a},configureLogger:!0,watch:e.watch})}})).catch(e=>{n.error(e),process.exit(1)});export{};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@likec4/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.61.0",
|
|
4
4
|
"description": "Model Context Protocol server for LikeC4",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"likec4",
|
|
@@ -31,58 +31,58 @@
|
|
|
31
31
|
"**/package.json"
|
|
32
32
|
],
|
|
33
33
|
"dependencies": {
|
|
34
|
-
"@hono/mcp": "^0.3.
|
|
35
|
-
"@hono/node-server": "^2.1.
|
|
34
|
+
"@hono/mcp": "^0.3.5",
|
|
35
|
+
"@hono/node-server": "^2.1.6",
|
|
36
36
|
"@hpcc-js/wasm-graphviz": "1.29.2",
|
|
37
37
|
"@modelcontextprotocol/ext-apps": "^1.7.5",
|
|
38
|
-
"@modelcontextprotocol/sdk": "^1.32.
|
|
39
|
-
"bundle-require": "^5.1.0",
|
|
38
|
+
"@modelcontextprotocol/sdk": "^1.32.2",
|
|
40
39
|
"chokidar": "^5.0.0",
|
|
41
|
-
"esbuild": "0.28.2",
|
|
42
40
|
"fdir": "6.4.0",
|
|
43
41
|
"hono": "^4.13.13",
|
|
42
|
+
"jiti": "^2.7.0",
|
|
44
43
|
"picomatch": "^4.0.7",
|
|
45
|
-
"std-env": "^4.
|
|
46
|
-
"tinyrainbow": "^3.
|
|
44
|
+
"std-env": "^4.3.0",
|
|
45
|
+
"tinyrainbow": "^3.2.0",
|
|
47
46
|
"vscode-jsonrpc": "9.0.3",
|
|
48
47
|
"vscode-languageserver": "10.1.2",
|
|
49
48
|
"vscode-languageserver-protocol": "3.18.4",
|
|
50
49
|
"vscode-languageserver-textdocument": "1.0.15",
|
|
51
50
|
"vscode-languageserver-types": "3.18.4",
|
|
52
51
|
"vscode-uri": "3.2.0",
|
|
53
|
-
"zod": "^4.6.
|
|
52
|
+
"zod": "^4.6.7"
|
|
54
53
|
},
|
|
55
54
|
"devDependencies": {
|
|
56
|
-
"@likec4/config": "1.
|
|
57
|
-
"@likec4/core": "1.
|
|
55
|
+
"@likec4/config": "1.61.0",
|
|
56
|
+
"@likec4/core": "1.61.0",
|
|
58
57
|
"@likec4/devops": "1.59.4",
|
|
59
|
-
"@likec4/diagram": "1.
|
|
60
|
-
"@likec4/language-server": "1.
|
|
61
|
-
"@likec4/language-services": "1.
|
|
62
|
-
"@likec4/layouts": "1.
|
|
63
|
-
"@likec4/log": "1.
|
|
64
|
-
"@likec4/tsconfig": "1.
|
|
65
|
-
"@mantine/core": "9.7.
|
|
66
|
-
"@types/node": "~22.
|
|
58
|
+
"@likec4/diagram": "1.61.0",
|
|
59
|
+
"@likec4/language-server": "1.61.0",
|
|
60
|
+
"@likec4/language-services": "1.61.0",
|
|
61
|
+
"@likec4/layouts": "1.61.0",
|
|
62
|
+
"@likec4/log": "1.61.0",
|
|
63
|
+
"@likec4/tsconfig": "1.61.0",
|
|
64
|
+
"@mantine/core": "9.7.4",
|
|
65
|
+
"@types/node": "~22.20.5",
|
|
67
66
|
"@types/react": "19.3.0",
|
|
68
67
|
"@types/react-dom": "19.3.0",
|
|
69
|
-
"@vitest/ui": "4.1.
|
|
68
|
+
"@vitest/ui": "4.1.12",
|
|
70
69
|
"citty": "^0.2.2",
|
|
71
70
|
"defu": "^6.1.7",
|
|
71
|
+
"fuse.js": "^7.5.0",
|
|
72
72
|
"langium": "4.4.0",
|
|
73
|
-
"react": "19.3.
|
|
74
|
-
"react-dom": "19.3.
|
|
75
|
-
"remeda": "^2.
|
|
76
|
-
"tsdown": "^0.23.
|
|
73
|
+
"react": "19.3.1",
|
|
74
|
+
"react-dom": "19.3.1",
|
|
75
|
+
"remeda": "^2.52.0",
|
|
76
|
+
"tsdown": "^0.23.4",
|
|
77
77
|
"tsx": "4.23.15",
|
|
78
|
-
"turbo": "2.11.
|
|
78
|
+
"turbo": "2.11.9",
|
|
79
79
|
"type-fest": "^4.41.0",
|
|
80
80
|
"typescript": "6.0.3",
|
|
81
81
|
"unctx": "^2.5.0",
|
|
82
|
-
"vitest": "4.1.
|
|
82
|
+
"vitest": "4.1.12"
|
|
83
83
|
},
|
|
84
84
|
"engines": {
|
|
85
|
-
"node": ">=22.
|
|
85
|
+
"node": ">=22.23.3"
|
|
86
86
|
},
|
|
87
87
|
"publishConfig": {
|
|
88
88
|
"registry": "https://registry.npmjs.org",
|