@databehave/server 0.1.0 → 0.1.1
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 +1 -1
- package/dist/admin/ui.css +1 -2
- package/dist/admin/ui.js +102 -102
- package/dist/bin.js +33 -4
- package/dist/bin.js.map +1 -1
- package/dist/json-config.js +1 -1
- package/dist/json-config.js.map +1 -1
- package/package.json +7 -7
package/README.md
CHANGED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@databehave/server)
|
|
10
10
|
[](https://github.com/ochairo/databehave/actions/workflows/ci.yml)
|
|
11
|
-
[](https://nodejs.org/)
|
|
12
12
|
[](LICENSE)
|
|
13
13
|
|
|
14
14
|
</div>
|
package/dist/admin/ui.css
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
*{box-sizing:border-box}html,body{
|
|
2
|
-
/*$vite$:1*/
|
|
1
|
+
*{box-sizing:border-box}html,body{margin:0;padding:0;font:13px/1.45 -apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:#1f2328;background:#f6f8fa}button{font:inherit;cursor:pointer}input,select,textarea{font:inherit;color:inherit}code,pre,.mono{font-family:ui-monospace,SF Mono,Menlo,monospace}a{color:#0969da}.app{min-height:100vh;padding-bottom:60px}.top-bar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#24292f;color:#fff}.top-bar h1{margin:0;font-size:15px;font-weight:600;flex:1}.top-bar .url{font-size:11px;color:#adbac7;font-family:ui-monospace,Menlo,monospace}.top-bar .badge{background:#1f883d;color:#fff;padding:2px 8px;border-radius:10px;font-size:11px;font-weight:600}.top-bar button,.top-bar select{background:#fff;color:#24292f;border:1px solid #57606a;border-radius:6px;padding:4px 10px;font-size:12px}.top-bar button.ghost{background:transparent;color:#fff;border-color:#57606a}.filter-bar{position:sticky;top:48px;z-index:25;background:#fff;border-bottom:1px solid #d0d7de;padding:10px 16px;display:flex;gap:16px;align-items:center;flex-wrap:wrap}.filter-bar input[type=text]{padding:6px 10px;border:1px solid #d0d7de;border-radius:6px;min-width:260px;flex:1}.filter-bar label{display:inline-flex;align-items:center;gap:4px;font-size:12px}.main{padding:12px 16px;max-width:1300px;margin:0 auto}.right-panel{position:fixed;top:0;right:0;width:360px;max-width:90vw;height:100vh;background:#fff;border-left:1px solid #d0d7de;box-shadow:-4px 0 12px #0000000f;transform:translate(100%);transition:transform .18s ease;z-index:40;display:flex;flex-direction:column}.right-panel.open{transform:translate(0)}.right-panel header{padding:12px 16px;border-bottom:1px solid #d0d7de;display:flex;align-items:center;gap:8px}.right-panel header h2{margin:0;font-size:14px;flex:1}.right-panel .list{flex:1;overflow-y:auto;padding:8px}.pill-float{position:fixed;right:16px;bottom:16px;background:#cf222e;color:#fff;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:600;border:none;box-shadow:0 2px 8px #00000026;z-index:35}.toast-stack{position:fixed;right:16px;bottom:60px;display:flex;flex-direction:column;gap:6px;z-index:50}.toast{padding:8px 12px;border-radius:6px;font-size:12px;color:#fff;box-shadow:0 2px 8px #00000026;cursor:pointer;min-width:180px}.toast.success{background:#1f883d}.toast.error{background:#cf222e}.toast.info{background:#0969da}.modal-backdrop{position:fixed;inset:0;background:#0006;z-index:60;display:flex;align-items:center;justify-content:center}.modal{background:#fff;border-radius:8px;padding:20px;max-width:520px;width:92%}.modal h2{margin-top:0}.modal table{width:100%;font-size:12px}.modal kbd{background:#f6f8fa;border:1px solid #d0d7de;border-radius:3px;padding:1px 6px;font-family:ui-monospace,Menlo,monospace;font-size:11px}.group{background:#fff;border:1px solid #d0d7de;border-radius:8px;margin-bottom:10px;overflow:hidden}.group-header{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;background:#f6f8fa;border-bottom:1px solid #eaeef2}.group-header h3{margin:0;font-size:13px;flex:1;text-transform:capitalize}.group-header .count{font-size:11px;color:#57606a}.group-body{display:none}.group.open .group-body{display:block}.op-row{display:flex;align-items:center;gap:10px;padding:8px 14px;border-bottom:1px solid #eaeef2;cursor:pointer}.op-row:last-child{border-bottom:none}.op-row:hover{background:#f6f8fa}.op-row.focused{background:#ddf4ff}.op-row .path{flex:1;font-family:ui-monospace,Menlo,monospace;font-size:12px}.op-row .path .no-oas-pill{margin-left:6px;color:#6e7781;font-size:10px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;letter-spacing:.02em}.op-row .summary{color:#57606a;font-size:11px;max-width:380px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.op-row .dot{width:10px;height:10px;border-radius:50%;background:transparent;border:1px solid #d0d7de}.op-row .dot.active{border-color:transparent}.method-badge{display:inline-block;min-width:56px;text-align:center;padding:3px 8px;border-radius:4px;color:#fff;font-weight:700;font-size:11px;font-family:ui-monospace,Menlo,monospace}.op-card{padding:0;border-top:1px solid #eaeef2}.spec-zone{background:#fff;padding:14px 18px;border-bottom:1px solid #eaeef2}.spec-zone h4{margin:0 0 6px;font-size:12px;color:#57606a;text-transform:uppercase;letter-spacing:.5px}.spec-zone .desc{font-size:12px;color:#1f2328}.spec-zone table{width:100%;border-collapse:collapse;font-size:12px;margin-top:4px}.spec-zone th,.spec-zone td{text-align:left;padding:4px 6px;border-bottom:1px solid #eaeef2}.spec-zone th{color:#57606a;font-weight:600}.mock-zone{background:#fff8c5;border-left:4px solid #d4a72c;padding:14px 18px}.mock-zone h4{margin:0 0 8px;font-size:12px;color:#7d4e00;text-transform:uppercase;letter-spacing:.5px}.mock-zone .row{display:grid;grid-template-columns:160px 1fr;gap:10px;align-items:center;margin-bottom:8px}.mock-zone label{font-size:12px;color:#4a3500;font-weight:500}.mock-zone input[type=text],.mock-zone input[type=number],.mock-zone select,.mock-zone textarea{width:100%;padding:4px 8px;border:1px solid #d4a72c;border-radius:4px;background:#fff}.mock-zone textarea{font-family:ui-monospace,Menlo,monospace;min-height:70px}.mock-zone .radio-group{display:flex;gap:12px;flex-wrap:wrap}.mock-zone .radio-group label{display:inline-flex;align-items:center;gap:4px;font-weight:400}.mock-zone .actions{display:flex;gap:8px;margin-top:10px}.btn{padding:6px 12px;border-radius:6px;border:1px solid #d0d7de;background:#fff;color:#1f2328}.btn.primary{background:#1f883d;color:#fff;border-color:transparent;font-weight:600}.btn.danger{background:#cf222e;color:#fff;border-color:transparent}.btn.ghost{background:transparent}.try-it{padding:14px 18px;border-top:1px solid #eaeef2;background:#f6f8fa}.try-it summary{cursor:pointer;font-weight:600;font-size:13px}.try-it .field{margin:6px 0}.try-it .response{margin-top:8px;background:#fff;border:1px solid #d0d7de;border-radius:6px;padding:10px;font-family:ui-monospace,Menlo,monospace;font-size:12px;max-height:320px;overflow:auto}.schema-tree{font-family:ui-monospace,Menlo,monospace;font-size:12px}.schema-tree details{margin-left:12px}.schema-tree summary{cursor:pointer}.schema-tree .key{color:#6f42c1}.schema-tree .type{color:#1f883d;font-style:italic;margin-left:6px}.schema-tree .req{color:#cf222e}.override-item{display:flex;align-items:center;gap:8px;padding:8px;border-bottom:1px solid #eaeef2;cursor:pointer}.override-item:hover{background:#f6f8fa}.override-item .info{flex:1;font-size:12px}.override-item .info .route{font-family:ui-monospace,Menlo,monospace}.override-item .dot{width:10px;height:10px;border-radius:50%}.global-active-hint{display:flex;align-items:center;gap:8px;padding:6px 10px;margin-bottom:8px;background:#f3e8ff;border-left:3px solid #6f42c1;font-size:12px;color:#4a2370;border-radius:4px}.global-active-hint .btn{padding:2px 8px;font-size:11px}.scope-badge{display:inline-block;padding:2px 6px;border-radius:4px;font-size:10px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:#fff}.scope-badge.scope-global{background:#6f42c1}.override-item.is-global{background:#faf5ff}.override-item.is-global:hover{background:#f3e8ff}.top-bar .global-override-btn{display:inline-flex;align-items:center;gap:6px}.top-bar .global-badge{background:#6f42c1}.global-override-modal{max-width:560px}.global-override-header{display:flex;align-items:center;gap:8px;margin-bottom:4px}.global-override-header h2{margin:0;flex:1;font-size:16px}.global-override-header .close-x{font-size:18px;line-height:1;padding:2px 8px;color:#57606a;border:1px solid #d0d7de;background:#fff}.global-override-desc{font-size:12px;color:#57606a;margin:0 0 12px}.global-override-modal .row{display:grid;grid-template-columns:140px 1fr;gap:10px;align-items:center;margin-bottom:8px}.global-override-modal label{font-size:12px;color:#1f2328;font-weight:500}.global-override-modal input[type=text],.global-override-modal input[type=number],.global-override-modal select,.global-override-modal textarea{width:100%;padding:4px 8px;border:1px solid #d0d7de;border-radius:4px;background:#fff}.global-override-modal textarea{font-family:ui-monospace,Menlo,monospace;min-height:70px}.global-override-modal .actions{display:flex;gap:8px;margin-top:12px}.global-override-modal .method-checkboxes{display:flex;flex-wrap:wrap;gap:6px 12px;align-items:center}.global-override-modal .method-checkbox{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:500;color:#1f2328;cursor:pointer}.global-override-modal .method-checkbox input[type=checkbox]{width:auto;margin:0}.global-override-list{margin-top:16px;padding-top:12px;border-top:1px solid #eaeef2}.global-override-list h3{margin:0 0 8px;font-size:12px;color:#57606a;text-transform:uppercase;letter-spacing:.5px}
|
package/dist/admin/ui.js
CHANGED
|
@@ -1,168 +1,168 @@
|
|
|
1
|
-
(function(){
|
|
1
|
+
var R=Object.defineProperty;var F=(a,i,e)=>i in a?R(a,i,{enumerable:!0,configurable:!0,writable:!0,value:e}):a[i]=e;var l=(a,i,e)=>F(a,typeof i!="symbol"?i+"":i,e);(function(){const i=document.createElement("link").relList;if(i&&i.supports&&i.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))t(s);new MutationObserver(s=>{for(const n of s)if(n.type==="childList")for(const o of n.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&t(o)}).observe(document,{childList:!0,subtree:!0});function e(s){const n={};return s.integrity&&(n.integrity=s.integrity),s.referrerPolicy&&(n.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?n.credentials="include":s.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function t(s){if(s.ep)return;s.ep=!0;const n=e(s);fetch(s.href,n)}})();const U=()=>({search:"",methods:new Set(["GET","POST","PUT","DELETE","PATCH"]),activeOnly:!1,rightPanelOpen:!1,helpOpen:!1,globalOpen:!1,expandedKey:null,focusedKey:null,routes:[],doc:null,overrides:[],scenarios:[],loading:!0}),L=(a,i)=>`${a.toUpperCase()} ${i}`,B=(...a)=>{let i=U();const e=new Set;return{get:()=>i,set:o=>{i={...i,...o};for(const r of e)r(i)},subscribe:o=>(e.add(o),()=>{e.delete(o)})}},G=(a,i)=>{const e=[];for(const t of a){const s=i?.paths?.[t.path]?.[t.method.toLowerCase()]??{},n=s.tags?.[0],o=t.path.split("/").filter(Boolean)[0]??"other",r=n??o;e.push({method:t.method.toUpperCase(),path:t.path,op:{...s,...t.summary&&!s.summary?{summary:t.summary}:{}},groupKey:r.toLowerCase(),groupLabel:r,source:t.source??"openapi"})}return e},Q=(a,i)=>{const e=new Map;for(const t of a){const s=e.get(t.groupKey)??{key:t.groupKey,label:t.groupLabel,ops:[]};s.ops.push(t),e.set(t.groupKey,s)}for(const t of e.values())t.ops.sort((s,n)=>s.path===n.path?s.method.localeCompare(n.method):s.path.localeCompare(n.path));return[...e.values()].sort((t,s)=>t.label.localeCompare(s.label))},z=a=>{const i=new Map;for(const e of a){if(e.matcher.kind!=="exact")continue;const t=L(e.matcher.method,e.matcher.path);i.set(t,(i.get(t)??0)+1)}return i},m=typeof window<"u"&&window.__DATABEHAVE_BASE__||"";let k;const v=async a=>{const i=await a.text(),e=i?JSON.parse(i):void 0;if(!a.ok){const t=typeof e=="object"&&e!==null?e.error:void 0;throw new Error(t??`HTTP ${a.status}`)}return e},f={async listOverrides(){const a=await fetch(m+"/overrides");return(await v(a)).overrides??[]},async addOverride(a){const i=await fetch(m+"/overrides",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify(a)});return(await v(i)).override},async removeOverride(a){await v(await fetch(m+"/overrides/"+encodeURIComponent(a),{method:"DELETE"}))},async clearOverrides(){await v(await fetch(m+"/overrides",{method:"DELETE"}))},async listRoutes(){const a=await fetch(m+"/openapi-routes");return(await v(a)).routes??[]},async fetchOpenApi(){if(k!==void 0)return k;try{const a=await fetch(m+"/openapi.json");return a.ok?(k=await a.json(),k):(k=null,null)}catch{return k=null,null}},async listScenarios(){const a=await fetch(m+"/scenarios");return a.status===404?[]:(await v(a)).scenarios??[]},async saveScenario(a){await v(await fetch(m+"/scenarios",{method:"POST",headers:{"content-type":"application/json"},body:JSON.stringify({name:a})}))},async loadScenario(a){await v(await fetch(m+"/scenarios/"+encodeURIComponent(a)+"/load",{method:"POST"}))},async deleteScenario(a){await v(await fetch(m+"/scenarios/"+encodeURIComponent(a),{method:"DELETE"}))}},c=B();let J=0;const T=new Set;let g=[];const V=a=>(T.add(a),()=>{T.delete(a)}),O=()=>{for(const a of T)a(g)},p=(a,i)=>{const e=++J;g=[...g,{id:e,kind:a,message:i}],O(),setTimeout(()=>{g=g.filter(t=>t.id!==e),O()},3e3)},X=a=>{g=g.filter(i=>i.id!==a),O()},Z=()=>g,w=async()=>{try{c.set({overrides:await f.listOverrides()})}catch{}},q=async()=>{try{c.set({scenarios:await f.listScenarios()})}catch{}},D=async(a,i,e)=>{const t=await f.addOverride({matcher:a,mode:i,description:e});return p("success","Override applied"),await w(),t},E=async a=>{await f.removeOverride(a),p("success","Override removed"),await w()},W=async()=>{if(window.confirm("Clear ALL sticky overrides?"))try{await f.clearOverrides(),p("success","Cleared"),await w()}catch(a){p("error",a instanceof Error?a.message:String(a))}},Y=async a=>{try{await f.saveScenario(a),p("success","Saved: "+a),await q()}catch(i){p("error",i instanceof Error?i.message:String(i))}},ee=async a=>{try{await f.loadScenario(a),p("success","Loaded: "+a),await w()}catch(i){p("error",i instanceof Error?i.message:String(i))}},te=async a=>{try{await f.deleteScenario(a),p("success","Deleted: "+a),await q()}catch(i){p("error",i instanceof Error?i.message:String(i))}},C=()=>c.set({globalOpen:!0,rightPanelOpen:!1}),se={"&":"&","<":"<",">":">",'"':""","'":"'"},h=a=>a==null?"":String(a).replace(/[&<>"']/g,i=>se[i]??i);class ae extends HTMLElement{constructor(){super(...arguments);l(this,"_unsub");l(this,"_open",!1)}connectedCallback(){this._render(),this._unsub=c.subscribe(()=>this._render())}disconnectedCallback(){this._unsub?.()}_render(){const e=c.get().scenarios;this.innerHTML=`
|
|
2
2
|
<div style="position:relative">
|
|
3
3
|
<button class="ghost" type="button" data-toggle>Scenarios (${e.length})</button>
|
|
4
4
|
${this._open?`
|
|
5
5
|
<div style="position:absolute;top:110%;right:0;background:#fff;color:#1f2328;border:1px solid #d0d7de;border-radius:6px;padding:8px;min-width:240px;z-index:50;box-shadow:0 2px 8px rgba(0,0,0,0.1)">
|
|
6
6
|
<button class="btn" style="width:100%;margin-bottom:8px" type="button" data-save>Save current as…</button>
|
|
7
|
-
${e.map(
|
|
7
|
+
${e.map(t=>`
|
|
8
8
|
<div style="display:flex;gap:4px;align-items:center;padding:4px 0;border-top:1px solid #eaeef2">
|
|
9
|
-
<span style="flex:1;font-size:12px">${
|
|
10
|
-
<button class="btn" type="button" data-load="${
|
|
11
|
-
<button class="btn danger" type="button" data-delete="${
|
|
12
|
-
</div>`).join(
|
|
13
|
-
</div
|
|
14
|
-
</div>`,this.querySelector(
|
|
9
|
+
<span style="flex:1;font-size:12px">${h(t.name)} <small>(${t.count})</small></span>
|
|
10
|
+
<button class="btn" type="button" data-load="${h(t.name)}">Load</button>
|
|
11
|
+
<button class="btn danger" type="button" data-delete="${h(t.name)}">Delete</button>
|
|
12
|
+
</div>`).join("")}
|
|
13
|
+
</div>`:""}
|
|
14
|
+
</div>`,this.querySelector("[data-toggle]")?.addEventListener("click",()=>{this._open=!this._open,this._render()}),this.querySelector("[data-save]")?.addEventListener("click",()=>{const t=window.prompt("Scenario name (a-z, 0-9, _ -):");t&&Y(t),this._open=!1,this._render()});for(const t of this.querySelectorAll("[data-load]"))t.addEventListener("click",()=>{ee(t.dataset.load??""),this._open=!1,this._render()});for(const t of this.querySelectorAll("[data-delete]"))t.addEventListener("click",()=>{te(t.dataset.delete??"")})}}customElements.define("dbh-scenarios-menu",ae);class ne extends HTMLElement{constructor(){super(...arguments);l(this,"_unsub")}connectedCallback(){this._render(),this._unsub=c.subscribe(()=>this._render())}disconnectedCallback(){this._unsub?.()}_render(){const e=c.get(),t=e.overrides.length,s=e.overrides.filter(o=>o.matcher.kind==="global").length,n=typeof window<"u"?window.location.origin:"";this.innerHTML=`
|
|
15
15
|
<div class="top-bar">
|
|
16
16
|
<h1>Mock Injection</h1>
|
|
17
|
-
<span class="url">${
|
|
17
|
+
<span class="url">${n}</span>
|
|
18
18
|
<span class="badge">${t}</span>
|
|
19
19
|
<button class="ghost" type="button" data-clear>Clear all</button>
|
|
20
20
|
<button class="ghost global-override-btn" type="button" data-global title="Global override">
|
|
21
|
-
Global override${
|
|
21
|
+
Global override${s>0?`<span class="badge global-badge">${s}</span>`:""}
|
|
22
22
|
</button>
|
|
23
23
|
<dbh-scenarios-menu></dbh-scenarios-menu>
|
|
24
24
|
<button class="ghost" type="button" data-help title="?">?</button>
|
|
25
25
|
<button class="ghost" type="button" data-panel>Active overrides</button>
|
|
26
|
-
</div>`,this.querySelector(
|
|
27
|
-
<div class="op-row${
|
|
28
|
-
<dbh-method-badge method="${
|
|
29
|
-
<span class="path">${
|
|
30
|
-
<span class="summary">${
|
|
31
|
-
<span class="dot${
|
|
32
|
-
</div>`,this.querySelector(
|
|
26
|
+
</div>`,this.querySelector("[data-clear]")?.addEventListener("click",()=>{W()}),this.querySelector("[data-global]")?.addEventListener("click",()=>C()),this.querySelector("[data-help]")?.addEventListener("click",()=>c.set({helpOpen:!0})),this.querySelector("[data-panel]")?.addEventListener("click",()=>c.set({rightPanelOpen:!c.get().rightPanelOpen}))}}customElements.define("dbh-top-bar",ne);const ie=["GET","POST","PUT","DELETE","PATCH"];class oe extends HTMLElement{constructor(){super(...arguments);l(this,"_unsub");l(this,"_rendered",!1);l(this,"searchInput")}connectedCallback(){this._render(),this._unsub=c.subscribe(()=>this._sync())}disconnectedCallback(){this._unsub?.()}_render(){const e=c.get();this.innerHTML=`<div class="filter-bar"><input type="text" placeholder="Search path or summary…" value="${re(e.search)}" data-search />`+ie.map(t=>`<label><input type="checkbox" data-method="${t}"${e.methods.has(t)?" checked":""}/> ${t}</label>`).join("")+`<label><input type="checkbox" data-active${e.activeOnly?" checked":""}/> Active overrides only</label></div>`,this.searchInput=this.querySelector("[data-search]")??void 0,this.searchInput?.addEventListener("input",t=>{const s=t.target.value;c.set({search:s})});for(const t of this.querySelectorAll("[data-method]"))t.addEventListener("change",()=>{const s=new Set(c.get().methods),n=t.dataset.method??"";t.checked?s.add(n):s.delete(n),c.set({methods:s})});this.querySelector("[data-active]")?.addEventListener("change",t=>{c.set({activeOnly:t.target.checked})}),this._rendered=!0}_sync(){if(!this._rendered)return;const e=c.get();this.searchInput&&this.searchInput.value!==e.search&&(this.searchInput.value=e.search);for(const s of this.querySelectorAll("[data-method]"))s.checked=e.methods.has(s.dataset.method??"");const t=this.querySelector("[data-active]");t&&(t.checked=e.activeOnly)}}const re=a=>a.replace(/&/g,"&").replace(/"/g,""").replace(/</g,"<");customElements.define("dbh-filter-bar",oe);const de={GET:"#1f883d",POST:"#0969da",PUT:"#bf8700",DELETE:"#cf222e",PATCH:"#1f6feb"},M=a=>a==="http-status"||a==="business-failure"||a==="destroy"?"#cf222e":a==="delay"||a==="hang"?"#bf8700":"#0969da";class le extends HTMLElement{static get observedAttributes(){return["method"]}connectedCallback(){this._render()}attributeChangedCallback(){this.isConnected&&this._render()}_render(){const i=(this.getAttribute("method")??"").toUpperCase(),e=de[i]??"#57606a";this.innerHTML=`<span class="method-badge" style="background:${e}">${i}</span>`}}customElements.define("dbh-method-badge",le);class ce extends HTMLElement{setRow(i){const{op:e,override:t,expanded:s,focused:n}=i,o=t?M(t.mode.kind):"transparent",r=e.source==="handler";this.innerHTML=`
|
|
27
|
+
<div class="op-row${n?" focused":""}${s?" expanded":""}" data-key="${h(e.method+" "+e.path)}">
|
|
28
|
+
<dbh-method-badge method="${h(e.method)}"></dbh-method-badge>
|
|
29
|
+
<span class="path">${h(e.path)}${r?' <span class="no-oas-pill" title="No OpenAPI spec for this route">(no OAS)</span>':""}</span>
|
|
30
|
+
<span class="summary">${h(e.op.summary??"")}</span>
|
|
31
|
+
<span class="dot${t?" active":""}" style="${t?`background:${o}`:""}" title="${h(t?.mode.kind??"")}"></span>
|
|
32
|
+
</div>`,this.querySelector(".op-row")?.addEventListener("click",()=>{const b=e.method+" "+e.path,u=c.get().expandedKey;c.set({expandedKey:u===b?null:b})})}}customElements.define("dbh-operation-row",ce);const he=a=>a.replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,"""),ue=a=>a?a.split(/\n{2,}/).map(e=>`<p>${he(e.trim()).replace(/`([^`]+)`/g,(o,r)=>`<code>${r}</code>`).replace(/\n/g,"<br/>")}</p>`).join(""):"",H={string:"string",integer:0,number:0,boolean:!0,null:null},_=(a,i,e=0,t=new Set)=>{if(!a||e>8)return null;if(a.example!==void 0)return a.example;if(a.default!==void 0)return a.default;if(a.enum&&a.enum.length>0)return a.enum[0];if(a.$ref){if(t.has(a.$ref))return null;const s=new Set(t);s.add(a.$ref);const n=a.$ref.replace(/^#\/components\/schemas\//,""),o=i?.components?.schemas?.[n];return _(o,i,e+1,s)}if(a.oneOf?.[0])return _(a.oneOf[0],i,e+1,t);if(a.anyOf?.[0])return _(a.anyOf[0],i,e+1,t);if(a.allOf&&a.allOf.length>0){const s={};for(const n of a.allOf){const o=_(n,i,e+1,t);o&&typeof o=="object"&&!Array.isArray(o)&&Object.assign(s,o)}return s}if(a.type==="object"||a.properties){const s={},n=a.properties??{};for(const[o,r]of Object.entries(n))s[o]=_(r,i,e+1,t);return s}return a.type==="array"?[_(a.items,i,e+1,t)]:typeof a.type=="string"&&a.type in H?H[a.type]:null},pe=(a,i)=>{const e=a.replace(/^#\/components\/schemas\//,"");return i?.components?.schemas?.[e]},P=a=>a?a.$ref?a.$ref.split("/").pop()??"ref":a.type==="array"?`${P(a.items)}[]`:a.type??(a.properties?"object":"any"):"any",x=(a,i,e=0,t,s)=>{if(!a)return'<span class="type">any</span>';if(e>6)return'<span class="type">…</span>';const n=a.$ref?pe(a.$ref,i)??a:a,o=t?`<span class="key">${h(t)}${s?'<span class="req">*</span>':""}: </span>`:"",r=`<span class="type">${h(P(n))}</span>`,d=e<2?" open":"";return n.type==="object"||n.properties?`<details${d}><summary>${o}${r}</summary>`+Object.entries(n.properties??{}).map(([b,u])=>x(u,i,e+1,b,n.required?.includes(b))).join("")+"</details>":n.type==="array"?`<details${d}><summary>${o}${r}</summary>`+x(n.items,i,e+1)+"</details>":`<div style="margin-left:${e?14:0}px">${o}${r}</div>`};class be extends HTMLElement{constructor(){super(...arguments);l(this,"_op",null);l(this,"_doc",null)}setOp(e,t){this._op=e,this._doc=t,this._render()}_render(){const e=this._op;if(!e){this.innerHTML="";return}if(e.source==="handler"){this.innerHTML=`
|
|
33
33
|
<div class="spec-zone">
|
|
34
34
|
<h4>Spec</h4>
|
|
35
35
|
<div class="desc" style="color:#57606a;font-style:italic">
|
|
36
36
|
No OpenAPI spec for this route. Inject controls and Try-it-out still
|
|
37
37
|
work; request/response schemas are unavailable.
|
|
38
38
|
</div>
|
|
39
|
-
</div>`;return}
|
|
39
|
+
</div>`;return}const t=this._doc,s=e.op.requestBody?.content?.["application/json"],n=s?.schema,o=s?s.example??_(n,t):null,r=o!=null?JSON.stringify(o,null,2):"",d=e.op.parameters??[],b=e.op.responses??{};this.innerHTML=`
|
|
40
40
|
<div class="spec-zone">
|
|
41
41
|
<h4>Spec</h4>
|
|
42
|
-
${e.op.description?`<div class="desc">${
|
|
43
|
-
${
|
|
42
|
+
${e.op.description?`<div class="desc">${ue(e.op.description)}</div>`:""}
|
|
43
|
+
${d.length>0?`
|
|
44
44
|
<div style="margin-top:8px">
|
|
45
45
|
<h4>Parameters</h4>
|
|
46
46
|
<table>
|
|
47
47
|
<thead><tr><th>name</th><th>in</th><th>type</th><th>required</th><th>description</th></tr></thead>
|
|
48
48
|
<tbody>
|
|
49
|
-
${
|
|
49
|
+
${d.map(u=>`
|
|
50
50
|
<tr>
|
|
51
|
-
<td><code>${
|
|
52
|
-
<td>${
|
|
53
|
-
<td>${
|
|
54
|
-
<td>${
|
|
55
|
-
<td>${
|
|
56
|
-
</tr>`).join(
|
|
51
|
+
<td><code>${h(u.name)}</code></td>
|
|
52
|
+
<td>${h(u.in)}</td>
|
|
53
|
+
<td>${h(u.schema?.type??"any")}</td>
|
|
54
|
+
<td>${u.required?"yes":""}</td>
|
|
55
|
+
<td>${h(u.description??"")}</td>
|
|
56
|
+
</tr>`).join("")}
|
|
57
57
|
</tbody>
|
|
58
58
|
</table>
|
|
59
|
-
</div
|
|
60
|
-
${
|
|
59
|
+
</div>`:""}
|
|
60
|
+
${n?`
|
|
61
61
|
<div style="margin-top:8px">
|
|
62
62
|
<h4>Request body</h4>
|
|
63
|
-
<div class="schema-tree">${
|
|
64
|
-
${
|
|
65
|
-
</div
|
|
66
|
-
${Object.keys(
|
|
63
|
+
<div class="schema-tree">${x(n,t)}</div>
|
|
64
|
+
${r?'<button class="btn ghost" style="margin-top:6px" type="button" data-copy>Copy as JSON example</button>':""}
|
|
65
|
+
</div>`:""}
|
|
66
|
+
${Object.keys(b).length>0?`
|
|
67
67
|
<div style="margin-top:8px">
|
|
68
68
|
<h4>Responses</h4>
|
|
69
|
-
${Object.entries(
|
|
69
|
+
${Object.entries(b).map(([u,y])=>{const S=y.content?.["application/json"]?.schema;return`
|
|
70
70
|
<details style="margin-top:4px">
|
|
71
|
-
<summary><strong>${
|
|
72
|
-
${
|
|
73
|
-
</details>`}).join(
|
|
74
|
-
</div
|
|
75
|
-
</div>`,this.querySelector(
|
|
71
|
+
<summary><strong>${h(u)}</strong> — ${h(y.description??"")}</summary>
|
|
72
|
+
${S?`<div class="schema-tree">${x(S,t)}</div>`:""}
|
|
73
|
+
</details>`}).join("")}
|
|
74
|
+
</div>`:""}
|
|
75
|
+
</div>`,this.querySelector("[data-copy]")?.addEventListener("click",()=>{navigator.clipboard?.writeText(r),p("info","Copied")})}}customElements.define("dbh-spec-zone",be);const K=a=>{const i=new TextEncoder().encode(a);let e="";for(const t of i)e+=String.fromCharCode(t);return btoa(e)},N=a=>{for(let i=0;i<a.length;i++)if(a.charCodeAt(i)>127)return!1;return!0},me=["http-status","business-failure","custom-body","empty-body","malformed-json","delay","hang","destroy"];class fe extends HTMLElement{constructor(){super(...arguments);l(this,"_op",null);l(this,"_existing");l(this,"_globalActive",!1);l(this,"headerOverride",null);l(this,"_scope","exact");l(this,"_kind","http-status");l(this,"_status",500);l(this,"_message","");l(this,"_body","{}");l(this,"_contentType","application/json");l(this,"_ms",1e3);l(this,"_description","")}setOp(e){const t=this._existing?.id===e.existing?.id&&this._op?.path===e.op.path&&this._op?.method===e.op.method;this._op=e.op,this._existing=e.existing,this._globalActive=e.globalActive,t||this._syncFromExisting(),this._render()}_syncFromExisting(){const e=this._existing;if(!e){this._scope="exact",this._kind="http-status",this._status=500,this._message="",this._body="{}",this._contentType="application/json",this._ms=1e3,this._description="";return}(e.matcher.kind==="exact"||e.matcher.kind==="path")&&(this._scope=e.matcher.kind),this._kind=e.mode.kind,this._description=e.description??"";const t=e.mode;t.kind==="http-status"?this._status=t.status:t.kind==="business-failure"?this._message=t.message:t.kind==="custom-body"?(this._status=t.status??200,this._body=JSON.stringify(t.body,null,2),this._contentType=t.contentType??"application/json"):t.kind==="empty-body"?this._status=t.status??204:t.kind==="delay"&&(this._ms=t.ms)}_renderFieldsHtml(){const e=this._kind;return e==="http-status"||e==="empty-body"||e==="malformed-json"?`<div class="row"><label>Status</label><input type="number" data-field="status" value="${this._status}" /></div>`:e==="business-failure"?`<div class="row"><label>Message</label><input type="text" data-field="message" value="${h(this._message)}" placeholder="Optional message returned with the failure" /></div>`:e==="custom-body"?`
|
|
76
76
|
<div class="row"><label>Status</label><input type="number" data-field="status" value="${this._status}" /></div>
|
|
77
|
-
<div class="row"><label>Content-Type</label><input type="text" data-field="contentType" value="${
|
|
78
|
-
<div class="row"><label>Body</label><textarea data-field="body">${
|
|
77
|
+
<div class="row"><label>Content-Type</label><input type="text" data-field="contentType" value="${h(this._contentType)}" /></div>
|
|
78
|
+
<div class="row"><label>Body</label><textarea data-field="body">${h(this._body)}</textarea></div>`:e==="delay"?`<div class="row"><label>Delay (ms)</label><input type="number" data-field="ms" value="${this._ms}" /></div>`:""}_render(){if(!this._op){this.innerHTML="";return}const e=this._existing;this.innerHTML=`
|
|
79
79
|
<div class="mock-zone">
|
|
80
80
|
<h4>Inject error</h4>
|
|
81
81
|
${this._globalActive?`
|
|
82
82
|
<div class="global-active-hint" role="note">
|
|
83
83
|
<span>A global override is active. Manage it from the top bar.</span>
|
|
84
84
|
<button type="button" class="btn ghost" data-open-global>Open</button>
|
|
85
|
-
</div
|
|
85
|
+
</div>`:""}
|
|
86
86
|
<div class="row">
|
|
87
87
|
<label>Scope</label>
|
|
88
88
|
<div class="radio-group">
|
|
89
|
-
<label><input type="radio" name="scope" data-scope="exact"${this._scope
|
|
90
|
-
<label><input type="radio" name="scope" data-scope="path"${this._scope
|
|
89
|
+
<label><input type="radio" name="scope" data-scope="exact"${this._scope==="exact"?" checked":""}/> Exact (METHOD + this path)</label>
|
|
90
|
+
<label><input type="radio" name="scope" data-scope="path"${this._scope==="path"?" checked":""}/> Path (any method on this path)</label>
|
|
91
91
|
</div>
|
|
92
92
|
</div>
|
|
93
93
|
<div class="row">
|
|
94
94
|
<label>Mode</label>
|
|
95
|
-
<select data-mode>${
|
|
95
|
+
<select data-mode>${me.map(t=>`<option value="${t}"${t===this._kind?" selected":""}>${t}</option>`).join("")}</select>
|
|
96
96
|
</div>
|
|
97
97
|
<div data-fields>${this._renderFieldsHtml()}</div>
|
|
98
98
|
<div class="row">
|
|
99
99
|
<label>Description</label>
|
|
100
|
-
<input type="text" data-field="description" value="${
|
|
100
|
+
<input type="text" data-field="description" value="${h(this._description)}" />
|
|
101
101
|
</div>
|
|
102
102
|
<div class="actions">
|
|
103
|
-
<button class="btn primary" type="button" data-submit>${e
|
|
104
|
-
${e?`<button class="btn danger" type="button" data-remove="${
|
|
103
|
+
<button class="btn primary" type="button" data-submit>${e?"Update":"Apply"}</button>
|
|
104
|
+
${e?`<button class="btn danger" type="button" data-remove="${h(e.id)}">Remove</button>`:""}
|
|
105
105
|
</div>
|
|
106
|
-
</div>`,this._wire()}_wire(){this.querySelector(
|
|
106
|
+
</div>`,this._wire()}_wire(){this.querySelector("[data-open-global]")?.addEventListener("click",()=>C());for(const s of this.querySelectorAll("[data-scope]"))s.addEventListener("change",()=>{s.checked&&(this._scope=s.dataset.scope)});const e=this.querySelector("[data-mode]");e?.addEventListener("change",()=>{this._kind=e.value;const s=this.querySelector("[data-fields]");s&&(s.innerHTML=this._renderFieldsHtml(),this._wireFields())}),this._wireFields(),this.querySelector("[data-submit]")?.addEventListener("click",()=>this._submit());const t=this.querySelector("[data-remove]");t?.addEventListener("click",()=>{E(t.dataset.remove??"")})}_wireFields(){const e=this.querySelector('[data-field="description"]');e?.addEventListener("input",()=>{this._description=e.value});for(const t of this.querySelectorAll("[data-fields] [data-field]"))t.addEventListener("input",()=>{const s=t.dataset.field;s==="status"?this._status=Number(t.value):s==="ms"?this._ms=Number(t.value):s==="message"?this._message=t.value:s==="body"?this._body=t.value:s==="contentType"&&(this._contentType=t.value)})}_submit(){const e=this._op;if(!e)return;const t=this._scope==="exact"?{kind:"exact",method:e.method,path:e.path}:{kind:"path",path:e.path};let s,n=null;const o=this._kind;switch(o){case"http-status":s={kind:o,status:this._status};break;case"business-failure":s={kind:o,message:this._message},N(this._message)||(n={name:"x-mock-business-failure-b64",value:K(this._message)});break;case"custom-body":{let r;try{r=JSON.parse(this._body)}catch{r=this._body}s={kind:o,status:this._status,body:r,contentType:this._contentType};break}case"empty-body":s={kind:o,status:this._status};break;case"malformed-json":s={kind:o,status:this._status};break;case"delay":s={kind:o,ms:this._ms};break;case"hang":s={kind:o};break;case"destroy":s={kind:o};break}this.headerOverride=n,this.dispatchEvent(new CustomEvent("dbh-header-override",{detail:n,bubbles:!0})),(async()=>{const r=this._existing;if(r&&t.kind===r.matcher.kind)try{await E(r.id)}catch{}try{await D(t,s,this._description||void 0)}catch(d){p("error",d instanceof Error?d.message:String(d))}})()}}customElements.define("dbh-inject-error-panel",fe);const ye=(a,i)=>{const e=a.op.requestBody?.content?.["application/json"]?.schema;return e?JSON.stringify(_(e,i),null,2):""};class ve extends HTMLElement{constructor(){super(...arguments);l(this,"_op",null);l(this,"_doc",null);l(this,"extraHeader",null);l(this,"_pvals",{});l(this,"_freeQuery",[]);l(this,"_body","");l(this,"_busy",!1)}setOp(e,t){this._op=e,this._doc=t,this._pvals={};for(const s of e.op.parameters??[])this._pvals[s.name]=String(s.schema?.default??"");this._body=ye(e,t),this._freeQuery=e.source==="handler"?[{key:"",value:""}]:[],this._render()}_render(){const e=this._op;if(!e){this.innerHTML="";return}const t=e.op.parameters??[],s=e.method!=="GET"&&e.method!=="HEAD",n=e.source==="handler";this.innerHTML=`
|
|
107
107
|
<details class="try-it">
|
|
108
108
|
<summary>Try it out</summary>
|
|
109
|
-
${t.map(
|
|
109
|
+
${t.map(r=>`
|
|
110
110
|
<div class="field">
|
|
111
|
-
<label>${
|
|
112
|
-
<input type="text" data-pname="${
|
|
113
|
-
</div>`).join(
|
|
114
|
-
${
|
|
111
|
+
<label>${h(r.name)} <small>(${h(r.in)}${r.required?", required":""})</small></label>
|
|
112
|
+
<input type="text" data-pname="${h(r.name)}" value="${h(this._pvals[r.name]??"")}" />
|
|
113
|
+
</div>`).join("")}
|
|
114
|
+
${n?`
|
|
115
115
|
<div class="field">
|
|
116
116
|
<label>query params <small>(free-form)</small></label>
|
|
117
117
|
<div data-free-query>
|
|
118
|
-
${this._freeQuery.map((
|
|
118
|
+
${this._freeQuery.map((r,d)=>`
|
|
119
119
|
<div class="free-q-row" style="display:flex;gap:6px;margin-bottom:4px">
|
|
120
|
-
<input type="text" data-fq-key="${
|
|
121
|
-
<input type="text" data-fq-val="${
|
|
122
|
-
<button class="btn ghost" type="button" data-fq-rm="${
|
|
123
|
-
</div>`).join(
|
|
120
|
+
<input type="text" data-fq-key="${d}" placeholder="name" value="${h(r.key)}" style="flex:1" />
|
|
121
|
+
<input type="text" data-fq-val="${d}" placeholder="value" value="${h(r.value)}" style="flex:2" />
|
|
122
|
+
<button class="btn ghost" type="button" data-fq-rm="${d}" title="Remove">−</button>
|
|
123
|
+
</div>`).join("")}
|
|
124
124
|
<button class="btn ghost" type="button" data-fq-add>+ Add query param</button>
|
|
125
125
|
</div>
|
|
126
|
-
</div
|
|
127
|
-
${
|
|
126
|
+
</div>`:""}
|
|
127
|
+
${s?`
|
|
128
128
|
<div class="field">
|
|
129
|
-
<label>body${
|
|
130
|
-
<textarea data-body style="width:100%;min-height:100px;font-family:ui-monospace,Menlo,monospace">${
|
|
131
|
-
</div
|
|
132
|
-
<button class="btn primary" type="button" data-send${this._busy
|
|
129
|
+
<label>body${n?" <small>(free-form)</small>":""}</label>
|
|
130
|
+
<textarea data-body style="width:100%;min-height:100px;font-family:ui-monospace,Menlo,monospace">${h(this._body)}</textarea>
|
|
131
|
+
</div>`:""}
|
|
132
|
+
<button class="btn primary" type="button" data-send${this._busy?" disabled":""}>${this._busy?"…":"Send"}</button>
|
|
133
133
|
<dbh-response-viewer></dbh-response-viewer>
|
|
134
|
-
</details>`;for(
|
|
134
|
+
</details>`;for(const r of this.querySelectorAll("[data-pname]"))r.addEventListener("input",()=>{this._pvals[r.dataset.pname??""]=r.value});for(const r of this.querySelectorAll("[data-fq-key]"))r.addEventListener("input",()=>{const d=Number(r.dataset.fqKey);this._freeQuery[d]&&(this._freeQuery[d].key=r.value)});for(const r of this.querySelectorAll("[data-fq-val]"))r.addEventListener("input",()=>{const d=Number(r.dataset.fqVal);this._freeQuery[d]&&(this._freeQuery[d].value=r.value)});for(const r of this.querySelectorAll("[data-fq-rm]"))r.addEventListener("click",()=>{const d=Number(r.dataset.fqRm);this._freeQuery.splice(d,1),this._freeQuery.length===0&&this._freeQuery.push({key:"",value:""}),this._render()});this.querySelector("[data-fq-add]")?.addEventListener("click",()=>{this._freeQuery.push({key:"",value:""}),this._render()});const o=this.querySelector("[data-body]");o?.addEventListener("input",()=>{this._body=o.value}),this.querySelector("[data-send]")?.addEventListener("click",()=>{this._send()})}_buildUrl(){const e=this._op;if(!e)return"";const t=e.op.parameters??[];let s=e.path;const n=new URLSearchParams;for(const r of t){const d=this._pvals[r.name];d&&(r.in==="path"?s=s.replace(`{${r.name}}`,encodeURIComponent(d)):r.in==="query"&&n.set(r.name,d))}for(const r of this._freeQuery)r.key&&n.append(r.key,r.value);const o=n.toString();return o?`${s}?${o}`:s}async _send(){const e=this._op;if(!e)return;this._busy=!0;const t=this.querySelector("dbh-response-viewer");t?.setResult(null);const s=this.querySelector("[data-send]");s&&(s.disabled=!0,s.textContent="…");const n=performance.now();try{const o={};for(const y of e.op.parameters??[])y.in==="header"&&this._pvals[y.name]&&(o[y.name]=this._pvals[y.name]);this.extraHeader&&(o[this.extraHeader.name]=this.extraHeader.value);const r={method:e.method,headers:o};e.method!=="GET"&&e.method!=="HEAD"&&this._body&&(o["content-type"]=o["content-type"]??"application/json",r.body=this._body);const d=await fetch(this._buildUrl(),r),b=await d.text(),u={status:d.status,headers:{},body:b,elapsedMs:Math.round(performance.now()-n)};d.headers.forEach((y,S)=>{u.headers[S]=y}),t?.setResult(u)}catch(o){t?.setResult({error:o instanceof Error?o.message:String(o)})}finally{this._busy=!1,s&&(s.disabled=!1,s.textContent="Send")}}}customElements.define("dbh-try-it-out",ve);const I=(a,i)=>{if(!a.methods||a.methods.length===0)return!0;const e=i.toUpperCase();return a.methods.some(t=>t.toUpperCase()===e)};class _e extends HTMLElement{constructor(){super(...arguments);l(this,"_spec");l(this,"_inject");l(this,"_try")}connectedCallback(){this.childElementCount===0&&(this.innerHTML=`
|
|
135
135
|
<div class="op-card">
|
|
136
136
|
<dbh-spec-zone></dbh-spec-zone>
|
|
137
137
|
<dbh-inject-error-panel></dbh-inject-error-panel>
|
|
138
138
|
<dbh-try-it-out></dbh-try-it-out>
|
|
139
|
-
</div>`,this._spec=this.querySelector(
|
|
140
|
-
<div class="group${this._open
|
|
139
|
+
</div>`,this._spec=this.querySelector("dbh-spec-zone"),this._inject=this.querySelector("dbh-inject-error-panel"),this._try=this.querySelector("dbh-try-it-out"),this._inject.addEventListener("dbh-header-override",e=>{this._try.extraHeader=e.detail}))}setData(e){this._spec||this.connectedCallback();const{op:t,doc:s,overrides:n}=e,o=n.find(d=>d.matcher.kind==="exact"&&d.matcher.method===t.method&&d.matcher.path===t.path),r=n.some(d=>d.matcher.kind==="global"&&I(d.matcher,t.method));this._spec.setOp(t,s),this._inject.setOp({op:t,existing:o,globalActive:r}),this._try.setOp(t,s)}}customElements.define("dbh-operation-card",_e);class ge extends HTMLElement{constructor(){super(...arguments);l(this,"_label","");l(this,"_ops",[]);l(this,"_doc",null);l(this,"_overrides",[]);l(this,"_expandedKey",null);l(this,"_focusedKey",null);l(this,"_open",!0)}setData(e){this._label=e.label,this._ops=e.ops,this._doc=e.doc,this._overrides=e.overrides,this._expandedKey=e.expandedKey,this._focusedKey=e.focusedKey,this._render()}_render(){const e=this._ops.reduce((s,n)=>s+(this._overrides.some(o=>o.matcher.kind==="exact"&&o.matcher.method===n.method&&o.matcher.path===n.path)?1:0),0);this.innerHTML=`
|
|
140
|
+
<div class="group${this._open?" open":""}">
|
|
141
141
|
<div class="group-header" data-header>
|
|
142
|
-
<h3>${
|
|
143
|
-
<span class="count">${this._ops.length} ops${e?` · ${e} active
|
|
144
|
-
<span>${this._open
|
|
142
|
+
<h3>${h(this._label)}</h3>
|
|
143
|
+
<span class="count">${this._ops.length} ops${e?` · ${e} active`:""}</span>
|
|
144
|
+
<span>${this._open?"−":"+"}</span>
|
|
145
145
|
</div>
|
|
146
146
|
<div class="group-body" data-body></div>
|
|
147
|
-
</div>`,this.querySelector(
|
|
148
|
-
<aside class="right-panel${e.rightPanelOpen
|
|
147
|
+
</div>`,this.querySelector("[data-header]")?.addEventListener("click",()=>{this._open=!this._open,this._render()});const t=this.querySelector("[data-body]");if(t)for(const s of this._ops){const n=`${s.method} ${s.path}`,o=this._overrides.find(d=>d.matcher.kind==="exact"&&d.matcher.method===s.method&&d.matcher.path===s.path),r=document.createElement("dbh-operation-row");if(r.setRow({op:s,override:o,expanded:this._expandedKey===n,focused:this._focusedKey===n}),t.appendChild(r),this._expandedKey===n){const d=document.createElement("dbh-operation-card");t.appendChild(d),d.setData({op:s,doc:this._doc,overrides:this._overrides})}}}}customElements.define("dbh-tag-group",ge);const ke=a=>{if(a.matcher.kind==="exact")return`${a.matcher.method} ${a.matcher.path}`;if(a.matcher.kind==="path")return`* ${a.matcher.path}`;const i=a.matcher.methods;return i&&i.length>0?`${i.join("|")} (global)`:"* (global)"},A=a=>a.matcher.kind==="global"?0:a.matcher.kind==="path"?1:2;class $e extends HTMLElement{constructor(){super(...arguments);l(this,"_unsub")}connectedCallback(){this._render(),this._unsub=c.subscribe(()=>this._render())}disconnectedCallback(){this._unsub?.()}_render(){const e=c.get(),t=[...e.overrides].sort((s,n)=>A(s)-A(n));this.innerHTML=`
|
|
148
|
+
<aside class="right-panel${e.rightPanelOpen?" open":""}">
|
|
149
149
|
<header>
|
|
150
150
|
<h2>Active overrides (${e.overrides.length})</h2>
|
|
151
151
|
<button class="btn ghost" type="button" data-close>×</button>
|
|
152
152
|
</header>
|
|
153
153
|
<div class="list">
|
|
154
|
-
${e.overrides.length===0
|
|
155
|
-
<div class="override-item${
|
|
156
|
-
<span class="dot" style="background:${
|
|
157
|
-
${
|
|
154
|
+
${e.overrides.length===0?'<p style="padding:12px;color:#57606a">No active overrides</p>':t.map(s=>`
|
|
155
|
+
<div class="override-item${s.matcher.kind==="global"?" is-global":""}" data-jump="${h(s.id)}">
|
|
156
|
+
<span class="dot" style="background:${M(s.mode.kind)}"></span>
|
|
157
|
+
${s.matcher.kind==="global"?'<span class="scope-badge scope-global">GLOBAL</span>':""}
|
|
158
158
|
<div class="info">
|
|
159
|
-
<div class="route">${
|
|
160
|
-
<small>${
|
|
159
|
+
<div class="route">${h(ke(s))}</div>
|
|
160
|
+
<small>${h(s.mode.kind)}${s.description?` — ${h(s.description)}`:""}</small>
|
|
161
161
|
</div>
|
|
162
|
-
<button class="btn danger" type="button" data-remove="${
|
|
163
|
-
</div>`).join(
|
|
162
|
+
<button class="btn danger" type="button" data-remove="${h(s.id)}">Remove</button>
|
|
163
|
+
</div>`).join("")}
|
|
164
164
|
</div>
|
|
165
|
-
</aside>`,this.querySelector(
|
|
165
|
+
</aside>`,this.querySelector("[data-close]")?.addEventListener("click",()=>c.set({rightPanelOpen:!1}));for(const s of this.querySelectorAll("[data-jump]"))s.addEventListener("click",()=>{const n=s.dataset.jump??"",o=c.get().overrides.find(d=>d.id===n);if(!o)return;if(o.matcher.kind==="global"){C();return}if(o.matcher.kind!=="exact"){c.set({rightPanelOpen:!1});return}const r=L(o.matcher.method,o.matcher.path);c.set({expandedKey:r,focusedKey:r,rightPanelOpen:!1}),setTimeout(()=>{const d=document.querySelector(`[data-key="${r.replace(/"/g,'\\"')}"]`);d&&"scrollIntoView"in d&&d.scrollIntoView({behavior:"smooth",block:"center"})},50)});for(const s of this.querySelectorAll("[data-remove]"))s.addEventListener("click",n=>{n.stopPropagation(),E(s.dataset.remove??"")})}}customElements.define("dbh-active-overrides-panel",$e);class Ee extends HTMLElement{constructor(){super(...arguments);l(this,"_unsub")}connectedCallback(){this._render(),this._unsub=c.subscribe(()=>this._render())}disconnectedCallback(){this._unsub?.()}_render(){const t=c.get().overrides.length;if(t===0){this.innerHTML="";return}this.innerHTML=`<button class="pill-float" type="button">${t} Active overrides</button>`,this.querySelector("button")?.addEventListener("click",()=>c.set({rightPanelOpen:!0}))}}customElements.define("dbh-floating-pill",Ee);class we extends HTMLElement{constructor(){super(...arguments);l(this,"_unsub")}connectedCallback(){this._render(Z()),this._unsub=V(e=>this._render(e))}disconnectedCallback(){this._unsub?.()}_render(e){this.innerHTML='<div class="toast-stack">'+e.map(t=>`<div class="toast ${h(t.kind)}" data-id="${t.id}">${h(t.message)}</div>`).join("")+"</div>";for(const t of this.querySelectorAll(".toast"))t.addEventListener("click",()=>{const s=Number(t.dataset.id);Number.isFinite(s)&&X(s)})}}customElements.define("dbh-toasts",we);class Se extends HTMLElement{constructor(){super(...arguments);l(this,"_unsub")}connectedCallback(){this._render(),this._unsub=c.subscribe(()=>this._render())}disconnectedCallback(){this._unsub?.()}_render(){if(!c.get().helpOpen){this.innerHTML="";return}this.innerHTML=`
|
|
166
166
|
<div class="modal-backdrop">
|
|
167
167
|
<div class="modal">
|
|
168
168
|
<h2>Keyboard shortcuts</h2>
|
|
@@ -179,10 +179,10 @@
|
|
|
179
179
|
<button class="btn" type="button" data-ok>OK</button>
|
|
180
180
|
</div>
|
|
181
181
|
</div>
|
|
182
|
-
</div>`;
|
|
182
|
+
</div>`;const t=()=>c.set({helpOpen:!1});this.querySelector(".modal-backdrop")?.addEventListener("click",t),this.querySelector(".modal")?.addEventListener("click",s=>s.stopPropagation()),this.querySelector("[data-ok]")?.addEventListener("click",t)}}customElements.define("dbh-help-modal",Se);const xe=["http-status","business-failure","custom-body","empty-body","malformed-json","delay","hang","destroy"],$=["GET","POST","PUT","PATCH","DELETE","HEAD","OPTIONS"];class Te extends HTMLElement{constructor(){super(...arguments);l(this,"_unsub");l(this,"_kind","http-status");l(this,"_status",503);l(this,"_message","");l(this,"_body","{}");l(this,"_contentType","application/json");l(this,"_ms",1e3);l(this,"_description","");l(this,"_methods",new Set($));l(this,"_lastExistingId")}connectedCallback(){this._render(),this._unsub=c.subscribe(()=>this._render())}disconnectedCallback(){this._unsub?.()}_globals(){return c.get().overrides.filter(e=>e.matcher.kind==="global")}_syncFromExisting(e,t){if(t&&!(e&&e.id===this._lastExistingId))if(this._lastExistingId=e?.id,e){this._kind=e.mode.kind,this._description=e.description??"";const s=e.matcher.kind==="global"?e.matcher.methods:void 0;this._methods=new Set(s&&s.length>0?s.map(o=>o.toUpperCase()):$);const n=e.mode;n.kind==="http-status"?this._status=n.status:n.kind==="business-failure"?this._message=n.message:n.kind==="custom-body"?(this._status=n.status??200,this._body=JSON.stringify(n.body,null,2),this._contentType=n.contentType??"application/json"):n.kind==="empty-body"?this._status=n.status??204:n.kind==="delay"&&(this._ms=n.ms)}else this._kind="http-status",this._status=503,this._message="",this._body="{}",this._contentType="application/json",this._ms=1e3,this._description="",this._methods=new Set($)}_renderFieldsHtml(){const e=this._kind;return e==="http-status"||e==="empty-body"||e==="malformed-json"?`<div class="row"><label>Status</label><input type="number" data-field="status" value="${this._status}" /></div>`:e==="business-failure"?`<div class="row"><label>Message</label><input type="text" data-field="message" value="${h(this._message)}" /></div>`:e==="custom-body"?`
|
|
183
183
|
<div class="row"><label>Status</label><input type="number" data-field="status" value="${this._status}" /></div>
|
|
184
|
-
<div class="row"><label>Content-Type</label><input type="text" data-field="contentType" value="${
|
|
185
|
-
<div class="row"><label>Body</label><textarea data-field="body">${
|
|
184
|
+
<div class="row"><label>Content-Type</label><input type="text" data-field="contentType" value="${h(this._contentType)}" /></div>
|
|
185
|
+
<div class="row"><label>Body</label><textarea data-field="body">${h(this._body)}</textarea></div>`:e==="delay"?`<div class="row"><label>Delay (ms)</label><input type="number" data-field="ms" value="${this._ms}" /></div>`:""}_render(){const e=c.get().globalOpen;if(!e){this.innerHTML="",this._lastExistingId=void 0;return}const t=this._globals(),s=t[0];this._syncFromExisting(s,e),this.innerHTML=`
|
|
186
186
|
<div class="modal-backdrop">
|
|
187
187
|
<div class="modal global-override-modal">
|
|
188
188
|
<header class="global-override-header">
|
|
@@ -192,42 +192,42 @@
|
|
|
192
192
|
<p class="global-override-desc">Applies to every route on this server. Use to simulate the backend being down, slow, etc.</p>
|
|
193
193
|
<div class="row">
|
|
194
194
|
<label>Mode</label>
|
|
195
|
-
<select data-mode>${
|
|
195
|
+
<select data-mode>${xe.map(n=>`<option value="${n}"${n===this._kind?" selected":""}>${n}</option>`).join("")}</select>
|
|
196
196
|
</div>
|
|
197
197
|
<div class="row global-override-methods">
|
|
198
198
|
<label>Methods</label>
|
|
199
199
|
<div class="method-checkboxes">
|
|
200
|
-
${
|
|
200
|
+
${$.map(n=>`
|
|
201
201
|
<label class="method-checkbox">
|
|
202
|
-
<input type="checkbox" data-method="${
|
|
203
|
-
<span>${
|
|
204
|
-
</label>`).join(
|
|
202
|
+
<input type="checkbox" data-method="${n}"${this._methods.has(n)?" checked":""} />
|
|
203
|
+
<span>${n}</span>
|
|
204
|
+
</label>`).join("")}
|
|
205
205
|
</div>
|
|
206
206
|
</div>
|
|
207
207
|
<div data-fields>${this._renderFieldsHtml()}</div>
|
|
208
208
|
<div class="row">
|
|
209
209
|
<label>Description</label>
|
|
210
|
-
<input type="text" data-field="description" value="${
|
|
210
|
+
<input type="text" data-field="description" value="${h(this._description)}" />
|
|
211
211
|
</div>
|
|
212
212
|
<div class="actions">
|
|
213
|
-
<button type="button" class="btn primary" data-submit>${
|
|
214
|
-
${
|
|
213
|
+
<button type="button" class="btn primary" data-submit>${s?"Update":"Apply"}</button>
|
|
214
|
+
${s?`<button type="button" class="btn danger" data-remove="${h(s.id)}">Remove</button>`:""}
|
|
215
215
|
</div>
|
|
216
216
|
${t.length>0?`
|
|
217
217
|
<div class="global-override-list">
|
|
218
218
|
<h3>Active global overrides (${t.length})</h3>
|
|
219
|
-
${t.map(
|
|
219
|
+
${t.map(n=>{const o=n.matcher.kind==="global"?n.matcher.methods:void 0,r=o&&o.length>0?`${o.join("|")} (global)`:"* (global)";return`
|
|
220
220
|
<div class="override-item">
|
|
221
|
-
<span class="dot" style="background:${
|
|
221
|
+
<span class="dot" style="background:${M(n.mode.kind)}"></span>
|
|
222
222
|
<div class="info">
|
|
223
|
-
<div class="route">${
|
|
224
|
-
<small>${
|
|
223
|
+
<div class="route">${h(r)}</div>
|
|
224
|
+
<small>${h(n.mode.kind)}${n.description?` — ${h(n.description)}`:""}</small>
|
|
225
225
|
</div>
|
|
226
|
-
<button type="button" class="btn danger" data-remove="${
|
|
227
|
-
</div>`}).join(
|
|
228
|
-
</div
|
|
226
|
+
<button type="button" class="btn danger" data-remove="${h(n.id)}">Remove</button>
|
|
227
|
+
</div>`}).join("")}
|
|
228
|
+
</div>`:""}
|
|
229
229
|
</div>
|
|
230
|
-
</div>`,this._wire()}_wire(){
|
|
230
|
+
</div>`,this._wire()}_wire(){const e=()=>c.set({globalOpen:!1});this.querySelector(".modal-backdrop")?.addEventListener("click",e),this.querySelector(".modal")?.addEventListener("click",s=>s.stopPropagation()),this.querySelector("[data-close]")?.addEventListener("click",e);const t=this.querySelector("[data-mode]");t?.addEventListener("change",()=>{this._kind=t.value;const s=this.querySelector("[data-fields]");s&&(s.innerHTML=this._renderFieldsHtml(),this._wireFields())}),this._wireFields();for(const s of this.querySelectorAll("[data-method]"))s.addEventListener("change",()=>{const n=s.dataset.method??"";s.checked?this._methods.add(n):this._methods.delete(n)});this.querySelector("[data-submit]")?.addEventListener("click",()=>this._submit());for(const s of this.querySelectorAll("[data-remove]"))s.addEventListener("click",()=>{E(s.dataset.remove??"")})}_wireFields(){const e=this.querySelector('[data-field="description"]');e?.addEventListener("input",()=>{this._description=e.value});for(const t of this.querySelectorAll("[data-fields] [data-field]"))t.addEventListener("input",()=>{const s=t.dataset.field;s==="status"?this._status=Number(t.value):s==="ms"?this._ms=Number(t.value):s==="message"?this._message=t.value:s==="body"?this._body=t.value:s==="contentType"&&(this._contentType=t.value)})}_submit(){let e;const t=this._kind;switch(t){case"http-status":e={kind:t,status:this._status};break;case"business-failure":e={kind:t,message:this._message},N(this._message)||K(this._message);break;case"custom-body":{let r;try{r=JSON.parse(this._body)}catch{r=this._body}e={kind:t,status:this._status,body:r,contentType:this._contentType};break}case"empty-body":e={kind:t,status:this._status};break;case"malformed-json":e={kind:t,status:this._status};break;case"delay":e={kind:t,ms:this._ms};break;case"hang":e={kind:t};break;case"destroy":e={kind:t};break}const s=$.length,n=$.filter(r=>this._methods.has(r));if(n.length===0){p("error","Select at least one HTTP method.");return}const o=n.length===s?{kind:"global"}:{kind:"global",methods:n};(async()=>{const r=this._globals()[0];if(r)try{await E(r.id)}catch{}try{await D(o,e,this._description||void 0)}catch(d){p("error",d instanceof Error?d.message:String(d))}})()}}customElements.define("dbh-global-override-panel",Te);const Oe=["GET","POST","PUT","DELETE","PATCH"];class Le extends HTMLElement{constructor(){super(...arguments);l(this,"_filter");l(this,"_main");l(this,"_unsub");l(this,"_debounce");l(this,"_debouncedSearch","");l(this,"_onKeyDown",e=>this._handleKey(e))}connectedCallback(){this.innerHTML=`
|
|
231
231
|
<div class="app">
|
|
232
232
|
<dbh-top-bar></dbh-top-bar>
|
|
233
233
|
<dbh-filter-bar></dbh-filter-bar>
|
|
@@ -237,4 +237,4 @@
|
|
|
237
237
|
<dbh-toasts></dbh-toasts>
|
|
238
238
|
<dbh-help-modal></dbh-help-modal>
|
|
239
239
|
<dbh-global-override-panel></dbh-global-override-panel>
|
|
240
|
-
</div>`,this._filter=this.querySelector(
|
|
240
|
+
</div>`,this._filter=this.querySelector("dbh-filter-bar"),this._main=this.querySelector("[data-main]"),this._unsub=c.subscribe(()=>this._onStateChange()),window.addEventListener("keydown",this._onKeyDown),(async()=>{const[e,t]=await Promise.all([f.listRoutes(),f.fetchOpenApi()]);c.set({routes:e,doc:t??null,loading:!1}),await w(),await q(),this._renderList()})()}disconnectedCallback(){this._unsub?.(),window.removeEventListener("keydown",this._onKeyDown),this._debounce&&clearTimeout(this._debounce)}_onStateChange(){c.get().search!==this._debouncedSearch?(this._debounce&&clearTimeout(this._debounce),this._debounce=setTimeout(()=>{this._debouncedSearch=c.get().search,this._renderList()},150)):this._renderList()}_filtered(){const e=c.get(),t=G(e.routes,e.doc),s=this._debouncedSearch.trim().toLowerCase(),n=e.methods.size>0?e.methods:new Set(Oe);return t.filter(o=>!(!n.has(o.method)||s&&!o.path.toLowerCase().includes(s)&&!o.op.summary?.toLowerCase().includes(s)||e.activeOnly&&!e.overrides.some(d=>d.matcher.kind==="exact"&&d.matcher.method===o.method&&d.matcher.path===o.path||d.matcher.kind==="path"&&d.matcher.path===o.path||d.matcher.kind==="global"&&I(d.matcher,o.method))))}_renderList(){const e=c.get(),t=this._filtered(),s=Q(t,z(e.overrides));if(this._main.innerHTML="",s.length===0){const n=document.createElement("p");n.style.color="#57606a",n.textContent="No operations match these filters.",this._main.appendChild(n);return}for(const n of s){const o=document.createElement("dbh-tag-group");this._main.appendChild(o),o.setData({label:n.label,ops:n.ops,doc:e.doc,overrides:e.overrides,expandedKey:e.expandedKey,focusedKey:e.focusedKey})}}_handleKey(e){const t=e.target,s=!!t&&(t.tagName==="INPUT"||t.tagName==="TEXTAREA"||t.tagName==="SELECT"),n=this._filter?.searchInput,o=c.get();if(e.key==="/"&&!s)e.preventDefault(),n?.focus();else if((e.ctrlKey||e.metaKey)&&e.key.toLowerCase()==="k")e.preventDefault(),n?.focus();else if(e.key==="?"&&!s)e.preventDefault(),c.set({helpOpen:!0});else if(e.key==="Escape")o.helpOpen?c.set({helpOpen:!1}):o.globalOpen?c.set({globalOpen:!1}):o.rightPanelOpen?c.set({rightPanelOpen:!1}):o.expandedKey?c.set({expandedKey:null}):n?.blur();else if((e.key==="ArrowDown"||e.key==="ArrowUp")&&document.activeElement===n){e.preventDefault();const r=this._filtered().map(u=>L(u.method,u.path));if(r.length===0)return;const d=o.focusedKey?r.indexOf(o.focusedKey):-1,b=e.key==="ArrowDown"?Math.min(r.length-1,d+1):Math.max(0,d-1);c.set({focusedKey:r[b]??null})}else e.key==="Enter"&&document.activeElement===n&&o.focusedKey&&(e.preventDefault(),c.set({expandedKey:o.expandedKey===o.focusedKey?null:o.focusedKey}))}}customElements.define("dbh-app",Le);const j=document.getElementById("root");if(j){const a=document.createElement("dbh-app");j.appendChild(a)}
|
package/dist/bin.js
CHANGED
|
@@ -18,6 +18,15 @@
|
|
|
18
18
|
*/
|
|
19
19
|
import { HELP_TEXT, parseCliArgs } from './bin-helpers.js';
|
|
20
20
|
import { run } from './run.js';
|
|
21
|
+
const isAbortLikeError = (err) => {
|
|
22
|
+
if (err instanceof Error && err.name === 'AbortError')
|
|
23
|
+
return true;
|
|
24
|
+
if (typeof err !== 'object' || err === null)
|
|
25
|
+
return false;
|
|
26
|
+
const maybeCode = err.code;
|
|
27
|
+
const maybeName = err.name;
|
|
28
|
+
return maybeCode === 'ABORT_ERR' || maybeName === 'AbortError';
|
|
29
|
+
};
|
|
21
30
|
const main = async () => {
|
|
22
31
|
const opts = parseCliArgs(process.argv.slice(2));
|
|
23
32
|
if (opts.help) {
|
|
@@ -33,11 +42,17 @@ const main = async () => {
|
|
|
33
42
|
process.stderr.write(HELP_TEXT);
|
|
34
43
|
process.exit(2);
|
|
35
44
|
}
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
});
|
|
45
|
+
let handle = null;
|
|
46
|
+
let pendingSignal = null;
|
|
47
|
+
let shuttingDown = false;
|
|
40
48
|
const shutdown = (signal) => {
|
|
49
|
+
if (shuttingDown)
|
|
50
|
+
return;
|
|
51
|
+
if (handle === null) {
|
|
52
|
+
pendingSignal = signal;
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
shuttingDown = true;
|
|
41
56
|
console.info(`[@databehave/server] shutting down (${signal})`);
|
|
42
57
|
handle
|
|
43
58
|
.close()
|
|
@@ -49,6 +64,20 @@ const main = async () => {
|
|
|
49
64
|
};
|
|
50
65
|
process.on('SIGINT', () => shutdown('SIGINT'));
|
|
51
66
|
process.on('SIGTERM', () => shutdown('SIGTERM'));
|
|
67
|
+
try {
|
|
68
|
+
handle = await run({
|
|
69
|
+
config: opts.configPath,
|
|
70
|
+
open: opts.open,
|
|
71
|
+
});
|
|
72
|
+
if (pendingSignal !== null)
|
|
73
|
+
shutdown(pendingSignal);
|
|
74
|
+
}
|
|
75
|
+
catch (err) {
|
|
76
|
+
if (pendingSignal !== null && isAbortLikeError(err)) {
|
|
77
|
+
process.exit(0);
|
|
78
|
+
}
|
|
79
|
+
throw err;
|
|
80
|
+
}
|
|
52
81
|
};
|
|
53
82
|
main().catch((err) => {
|
|
54
83
|
console.error('[@databehave/server] failed to start', err);
|
package/dist/bin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;GAgBG;AACH,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAC1D,OAAO,EAAE,GAAG,EAAkB,MAAM,UAAU,CAAA;AAE9C,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;IACrC,MAAM,IAAI,GAAG,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IAChD,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;QACd,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAM;IACR,CAAC;IACD,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC5B,OAAO,CAAC,KAAK,CACX,2CAA2C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CACpE,CAAA;QACD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IACD,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;QACrB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,CAAA;QAC/B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC;IAED,
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":"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"}
|
package/dist/json-config.js
CHANGED
|
@@ -157,7 +157,7 @@ const importHandler = async (baseDir, modulePath, routeKey, handlerOverrides) =>
|
|
|
157
157
|
// sibling fallback for TS-loader environments (tsx, ts-node).
|
|
158
158
|
const absolute = resolvePath(baseDir, modulePath);
|
|
159
159
|
const url = await resolveHandlerUrl(absolute);
|
|
160
|
-
const mod = (await import(url));
|
|
160
|
+
const mod = (await import(/* @vite-ignore */ url));
|
|
161
161
|
const handler = mod.default;
|
|
162
162
|
if (typeof handler !== 'function') {
|
|
163
163
|
throw new Error(`@databehave/server/config: ${modulePath} (mapped to ${routeKey}) has no default-exported handler function`);
|
package/dist/json-config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"json-config.js","sourceRoot":"","sources":["../src/json-config.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"json-config.js","sourceRoot":"","sources":["../src/json-config.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@databehave/server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "A JSON file config-driven mock server",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"mock",
|
|
@@ -43,11 +43,11 @@
|
|
|
43
43
|
"LICENSE"
|
|
44
44
|
],
|
|
45
45
|
"engines": {
|
|
46
|
-
"node": ">=
|
|
46
|
+
"node": ">=18"
|
|
47
47
|
},
|
|
48
48
|
"dependencies": {},
|
|
49
49
|
"peerDependencies": {
|
|
50
|
-
"@databehave/schema": "^0.1.
|
|
50
|
+
"@databehave/schema": "^0.1.1"
|
|
51
51
|
},
|
|
52
52
|
"peerDependenciesMeta": {
|
|
53
53
|
"@databehave/schema": {
|
|
@@ -56,11 +56,11 @@
|
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
58
|
"@types/node": "^25.9.1",
|
|
59
|
-
"@vitest/coverage-v8": "
|
|
59
|
+
"@vitest/coverage-v8": "3.2.6",
|
|
60
60
|
"typescript": "^6.0.3",
|
|
61
|
-
"vite": "^
|
|
62
|
-
"vitest": "^
|
|
63
|
-
"@databehave/schema": "0.1.
|
|
61
|
+
"vite": "^6.4.3",
|
|
62
|
+
"vitest": "^3.2.6",
|
|
63
|
+
"@databehave/schema": "0.1.1"
|
|
64
64
|
},
|
|
65
65
|
"publishConfig": {
|
|
66
66
|
"access": "public",
|