@x18n/ui 0.0.12 → 0.0.13

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.
Files changed (58) hide show
  1. package/dist/index.d.mts +4 -2
  2. package/dist/index.mjs +3 -2
  3. package/dist/nitro.json +1 -1
  4. package/dist/public/200.html +1 -1
  5. package/dist/public/404.html +1 -1
  6. package/dist/public/_nuxt/{DjCCuC3W.js → 12HrXUU5.js} +4 -4
  7. package/dist/public/_nuxt/{DF0vjjh8.js → BMk3frKd.js} +1 -1
  8. package/dist/public/_nuxt/BXMubO3c.js +1 -0
  9. package/dist/public/_nuxt/BdRzFi-7.js +1 -0
  10. package/dist/public/_nuxt/{pjS1_eVL.js → BksN_39l.js} +1 -1
  11. package/dist/public/_nuxt/{L4Dhp0Sv.js → BrQXMZiN.js} +1 -1
  12. package/dist/public/_nuxt/{Boxecvzt.js → BvWJ0ee6.js} +1 -1
  13. package/dist/public/_nuxt/By9SURJ0.js +1 -0
  14. package/dist/public/_nuxt/C-FN7NZ5.js +4 -0
  15. package/dist/public/_nuxt/{jwxOgCzJ.js → C2NDV-aj.js} +1 -1
  16. package/dist/public/_nuxt/{D08T24dG.js → C9NjIzeY.js} +1 -1
  17. package/dist/public/_nuxt/{Cuj77bTR.js → CEnmEDIF.js} +1 -1
  18. package/dist/public/_nuxt/CJYF9l4i.js +1 -0
  19. package/dist/public/_nuxt/CTHz3W6Z.js +1 -0
  20. package/dist/public/_nuxt/{D9175g8g.js → CYt0tzKv.js} +1 -1
  21. package/dist/public/_nuxt/CjABOUCt.js +1 -0
  22. package/dist/public/_nuxt/Cla6r_hp.js +1 -0
  23. package/dist/public/_nuxt/{C3YrgNlB.js → CmTOev3L.js} +1 -1
  24. package/dist/public/_nuxt/CqFP5-dM.js +1 -0
  25. package/dist/public/_nuxt/{f6bf8PNO.js → D0qDe1RK.js} +1 -1
  26. package/dist/public/_nuxt/{DwGgiVOP.js → DEHKzIZA.js} +1 -1
  27. package/dist/public/_nuxt/{CxBYt3qP.js → DFSrEpkt.js} +1 -1
  28. package/dist/public/_nuxt/DGZ47nDY.js +1 -0
  29. package/dist/public/_nuxt/DwfVoZK4.js +1 -0
  30. package/dist/public/_nuxt/DxKFtHBx.js +1 -0
  31. package/dist/public/_nuxt/GykjZmqe.js +1 -0
  32. package/dist/public/_nuxt/OCEG5gyJ.js +1 -0
  33. package/dist/public/_nuxt/builds/latest.json +1 -1
  34. package/dist/public/_nuxt/builds/meta/c60d9467-2fa6-472d-9d90-af221fa1690a.json +1 -0
  35. package/dist/public/_nuxt/{CJjWC7Ka.js → codzHuXh.js} +1 -1
  36. package/dist/public/_nuxt/entry.Bz8D4poF.css +1 -0
  37. package/dist/public/_nuxt/error-404.BgnUIvx5.css +1 -0
  38. package/dist/public/_nuxt/error-500.BI0LH_MG.css +1 -0
  39. package/dist/public/_nuxt/{BuVS4UTW.js → rgsxZ82X.js} +1 -1
  40. package/dist/public/index.html +1 -1
  41. package/package.json +4 -4
  42. package/dist/public/_nuxt/6DTeintI.js +0 -1
  43. package/dist/public/_nuxt/BH143Pz-.js +0 -1
  44. package/dist/public/_nuxt/BQbrRyj1.js +0 -1
  45. package/dist/public/_nuxt/ByAXDZRg.js +0 -1
  46. package/dist/public/_nuxt/C5AT5PNH.js +0 -1
  47. package/dist/public/_nuxt/CAeV2zG7.js +0 -1
  48. package/dist/public/_nuxt/CugIO4Ok.js +0 -1
  49. package/dist/public/_nuxt/D8wRJGd0.js +0 -1
  50. package/dist/public/_nuxt/DGFmLyn4.js +0 -1
  51. package/dist/public/_nuxt/DSHArhRM.js +0 -1
  52. package/dist/public/_nuxt/EGsfZg42.js +0 -1
  53. package/dist/public/_nuxt/HmocOjc4.js +0 -4
  54. package/dist/public/_nuxt/MHlmqv3A.js +0 -1
  55. package/dist/public/_nuxt/builds/meta/ba464564-d83b-4115-af1e-9dbe9a6f368a.json +0 -1
  56. package/dist/public/_nuxt/entry.C19c3NgF.css +0 -1
  57. package/dist/public/_nuxt/error-404.B3F8lAkA.css +0 -1
  58. package/dist/public/_nuxt/error-500.BO-H0E44.css +0 -1
package/dist/index.d.mts CHANGED
@@ -1,4 +1,4 @@
1
- import { DevframeDefinition } from "devframe";
1
+ import { DevframeDefinition, DevframeNodeContext } from "devframe";
2
2
  import { ExtractCandidate } from "@x18n/builtins/extractors";
3
3
  import { Decision, EditOp, FileChange, KeyString, LocaleCode, MessageLeaf, PlaceholderProblem, Project, ProjectExplanation, Severity, TextRange, UsageKind, WireDiagnostic } from "@x18n/core";
4
4
  //#region src/node/types.d.ts
@@ -284,7 +284,9 @@ interface RpcOptions {
284
284
  }
285
285
  //#endregion
286
286
  //#region src/node/index.d.ts
287
+ /** Loads the projects when a host sets the devframe up, for hosts that own the working directory. */
288
+ export type UiProjectLoader = (ctx: DevframeNodeContext) => Promise<readonly UiProject[]>;
287
289
  /** The x18n UI, RPC functions and MCP tools over loaded projects, as a devframe definition. */
288
- export declare function createX18nDevframe(projects: readonly UiProject[], options?: RpcOptions): DevframeDefinition;
290
+ export declare function createX18nDevframe(source: readonly UiProject[] | UiProjectLoader, options?: RpcOptions): DevframeDefinition;
289
291
  //#endregion
290
292
  export type { AgentCheckQuery, AgentDeleteQuery, AgentKeysQuery, AgentRenameQuery, AgentSetQuery, AgentUsagesQuery, AnalysisView, ApplyQuery, ApplyView, ChangeGroup, ChangeView, DiagnosticCounts, ExplainList, ExplainView, ExtractApplyQuery, ExtractPlanItem, ExtractQuery, HistoryView, KeyDetail, KeyQuery, KeyRow, KeyTable, LocaleSummary, MessageView, OpenQuery, PlanQuery, PlanView, ProjectList, ProjectQuery, ProjectSummary, PromptQuery, Snippet, UiEditOp, UiLocation, UiProject, UsageQuery, UsageView, RpcOptions as X18nDevframeOptions, X18nState };
package/dist/index.mjs CHANGED
@@ -6,7 +6,7 @@ import { createLineIndex, errors, parseMessageBatch, placeholderProblems, render
6
6
  import * as v from "valibot";
7
7
  //#region package.json
8
8
  var name = "@x18n/ui";
9
- var version = "0.0.12";
9
+ var version = "0.0.13";
10
10
  var description = "x18n UI as a devframe: dev server, static report, in-browser workspace and VS Code panel";
11
11
  var homepage = "https://github.com/x18n-dev/x18n#readme";
12
12
  //#endregion
@@ -657,7 +657,7 @@ function registerRpc(ctx, projects, options) {
657
657
  //#endregion
658
658
  //#region src/node/index.ts
659
659
  /** The x18n UI, RPC functions and MCP tools over loaded projects, as a devframe definition. */
660
- function createX18nDevframe(projects, options = {}) {
660
+ function createX18nDevframe(source, options = {}) {
661
661
  return defineDevframe({
662
662
  id: "x18n",
663
663
  name: "x18n",
@@ -669,6 +669,7 @@ function createX18nDevframe(projects, options = {}) {
669
669
  importMetaUrl: import.meta.url,
670
670
  clientAssets: fileURLToPath(new URL("./public", import.meta.url)),
671
671
  async setup(ctx) {
672
+ const projects = typeof source === "function" ? await source(ctx) : source;
672
673
  registerRpc(ctx, projects, options);
673
674
  if (ctx.mode !== "dev") {
674
675
  await Promise.all(projects.map((p) => p.project.loadHistory()));
package/dist/nitro.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "date": "2026-10-22T05:08:32.411Z",
2
+ "date": "2026-10-23T02:38:20.382Z",
3
3
  "preset": "static",
4
4
  "framework": {
5
5
  "name": "nuxt",
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>x18n</title><script type="importmap">{"imports":{"#entry":"/_nuxt/DjCCuC3W.js"}}</script><script>{const p=new URLSearchParams(location.hash.slice(1)),c=p.get('devframe_otp');if(c){sessionStorage.setItem('x18n:otp',c);history.replaceState(null,'',location.pathname+location.search+'#'+(p.get('route')||'/'))}}</script><link rel="stylesheet" href="/_nuxt/entry.C19c3NgF.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DjCCuC3W.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BeAZf7La.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B4prFwj0.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DoHg1T7s.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BbIaocwP.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DF0vjjh8.js"><script type="module" src="/_nuxt/DjCCuC3W.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/_nuxt/B48W2q7f.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/ChbLIx1c.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.B3F8lAkA.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/CxBYt3qP.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.BO-H0E44.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/Cuj77bTR.js"><meta name="description" content="View and maintain the i18n messages of your project: coverage, keys, usages, diagnostics and extraction."><meta name="color-scheme" content="light dark"><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"><meta name="theme-color" content="#0a0a0a" media="(prefers-color-scheme: dark)"><link rel="icon" href="./logo.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="./apple-touch-icon.png"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"ba464564-d83b-4115-af1e-9dbe9a6f368a",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1792645712351,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>x18n</title><script type="importmap">{"imports":{"#entry":"./_nuxt/12HrXUU5.js"}}</script><script>{const p=new URLSearchParams(location.hash.slice(1)),c=p.get('devframe_otp');if(c){sessionStorage.setItem('x18n:otp',c);history.replaceState(null,'',location.pathname+location.search+'#'+(p.get('route')||'/'))}}</script><link rel="stylesheet" href="./_nuxt/entry.Bz8D4poF.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="./_nuxt/12HrXUU5.js"><link rel="modulepreload" as="script" crossorigin href="./_nuxt/BeAZf7La.js"><link rel="modulepreload" as="script" crossorigin href="./_nuxt/B4prFwj0.js"><link rel="modulepreload" as="script" crossorigin href="./_nuxt/DoHg1T7s.js"><link rel="modulepreload" as="script" crossorigin href="./_nuxt/BbIaocwP.js"><link rel="modulepreload" as="script" crossorigin href="./_nuxt/BMk3frKd.js"><script type="module" src="./_nuxt/12HrXUU5.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="./_nuxt/B48W2q7f.js"><link rel="prefetch" as="script" crossorigin href="./_nuxt/ChbLIx1c.js"><link rel="prefetch" as="style" crossorigin href="./_nuxt/error-404.BgnUIvx5.css"><link rel="prefetch" as="script" crossorigin href="./_nuxt/DFSrEpkt.js"><link rel="prefetch" as="style" crossorigin href="./_nuxt/error-500.BI0LH_MG.css"><link rel="prefetch" as="script" crossorigin href="./_nuxt/CEnmEDIF.js"><meta name="description" content="View and maintain the i18n messages of your project: coverage, keys, usages, diagnostics and extraction."><meta name="color-scheme" content="light dark"><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"><meta name="theme-color" content="#0a0a0a" media="(prefers-color-scheme: dark)"><link rel="icon" href="./logo.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="./apple-touch-icon.png"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"./",buildId:"c60d9467-2fa6-472d-9d90-af221fa1690a",buildAssetsDir:"./_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1792723100337,false]</script></body></html>
@@ -1 +1 @@
1
- <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>x18n</title><script type="importmap">{"imports":{"#entry":"/_nuxt/DjCCuC3W.js"}}</script><script>{const p=new URLSearchParams(location.hash.slice(1)),c=p.get('devframe_otp');if(c){sessionStorage.setItem('x18n:otp',c);history.replaceState(null,'',location.pathname+location.search+'#'+(p.get('route')||'/'))}}</script><link rel="stylesheet" href="/_nuxt/entry.C19c3NgF.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DjCCuC3W.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BeAZf7La.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/B4prFwj0.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DoHg1T7s.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/BbIaocwP.js"><link rel="modulepreload" as="script" crossorigin href="/_nuxt/DF0vjjh8.js"><script type="module" src="/_nuxt/DjCCuC3W.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="/_nuxt/B48W2q7f.js"><link rel="prefetch" as="script" crossorigin href="/_nuxt/ChbLIx1c.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-404.B3F8lAkA.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/CxBYt3qP.js"><link rel="prefetch" as="style" crossorigin href="/_nuxt/error-500.BO-H0E44.css"><link rel="prefetch" as="script" crossorigin href="/_nuxt/Cuj77bTR.js"><meta name="description" content="View and maintain the i18n messages of your project: coverage, keys, usages, diagnostics and extraction."><meta name="color-scheme" content="light dark"><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"><meta name="theme-color" content="#0a0a0a" media="(prefers-color-scheme: dark)"><link rel="icon" href="./logo.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="./apple-touch-icon.png"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"ba464564-d83b-4115-af1e-9dbe9a6f368a",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1792645712352,false]</script></body></html>
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1"><title>x18n</title><script type="importmap">{"imports":{"#entry":"./_nuxt/12HrXUU5.js"}}</script><script>{const p=new URLSearchParams(location.hash.slice(1)),c=p.get('devframe_otp');if(c){sessionStorage.setItem('x18n:otp',c);history.replaceState(null,'',location.pathname+location.search+'#'+(p.get('route')||'/'))}}</script><link rel="stylesheet" href="./_nuxt/entry.Bz8D4poF.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="./_nuxt/12HrXUU5.js"><link rel="modulepreload" as="script" crossorigin href="./_nuxt/BeAZf7La.js"><link rel="modulepreload" as="script" crossorigin href="./_nuxt/B4prFwj0.js"><link rel="modulepreload" as="script" crossorigin href="./_nuxt/DoHg1T7s.js"><link rel="modulepreload" as="script" crossorigin href="./_nuxt/BbIaocwP.js"><link rel="modulepreload" as="script" crossorigin href="./_nuxt/BMk3frKd.js"><script type="module" src="./_nuxt/12HrXUU5.js" crossorigin></script><link rel="prefetch" as="script" crossorigin href="./_nuxt/B48W2q7f.js"><link rel="prefetch" as="script" crossorigin href="./_nuxt/ChbLIx1c.js"><link rel="prefetch" as="style" crossorigin href="./_nuxt/error-404.BgnUIvx5.css"><link rel="prefetch" as="script" crossorigin href="./_nuxt/DFSrEpkt.js"><link rel="prefetch" as="style" crossorigin href="./_nuxt/error-500.BI0LH_MG.css"><link rel="prefetch" as="script" crossorigin href="./_nuxt/CEnmEDIF.js"><meta name="description" content="View and maintain the i18n messages of your project: coverage, keys, usages, diagnostics and extraction."><meta name="color-scheme" content="light dark"><meta name="theme-color" content="#ffffff" media="(prefers-color-scheme: light)"><meta name="theme-color" content="#0a0a0a" media="(prefers-color-scheme: dark)"><link rel="icon" href="./logo.svg" type="image/svg+xml"><link rel="apple-touch-icon" href="./apple-touch-icon.png"></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"./",buildId:"c60d9467-2fa6-472d-9d90-af221fa1690a",buildAssetsDir:"./_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1792723100338,false]</script></body></html>