@visulima/ono 2.0.11 → 2.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/CHANGELOG.md +10 -0
- package/dist/error-inspector/page/create-request-context.js +65 -65
- package/dist/index.js +196 -313
- package/dist/packem_shared/process-CnEDZ90T.js +1 -0
- package/dist/packem_shared/sanitize-BrzdfbeT.js +1 -0
- package/dist/server/open-in-editor.js +1 -1
- package/package.json +22 -20
- package/dist/packem_shared/process-DVasYamT.js +0 -1
- package/dist/packem_shared/sanitize-D2LcyiFA.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const t=globalThis.process||Object.create(null),o={versions:{}},c=new Proxy(t,{get(e,s){if(s in e)return e[s];if(s in o)return o[s]}});let r,n;const i=()=>(r??=c.version??"",r),a=()=>(n??=c.platform??"",n);export{a,i as g,c as p};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const g={javascript:()=>import("@shikijs/langs/javascript"),typescript:()=>import("@shikijs/langs/typescript"),jsx:()=>import("@shikijs/langs/jsx"),tsx:()=>import("@shikijs/langs/tsx"),json:()=>import("@shikijs/langs/json"),json5:()=>import("@shikijs/langs/json5"),jsonc:()=>import("@shikijs/langs/jsonc"),xml:()=>import("@shikijs/langs/xml"),sql:()=>import("@shikijs/langs/sql"),markdown:()=>import("@shikijs/langs/markdown"),mdx:()=>import("@shikijs/langs/mdx"),html:()=>import("@shikijs/langs/html"),css:()=>import("@shikijs/langs/css"),scss:()=>import("@shikijs/langs/scss"),less:()=>import("@shikijs/langs/less"),sass:()=>import("@shikijs/langs/sass"),stylus:()=>import("@shikijs/langs/stylus"),styl:()=>import("@shikijs/langs/styl"),svelte:()=>import("@shikijs/langs/svelte"),vue:()=>import("@shikijs/langs/vue"),bash:()=>import("@shikijs/langs/bash"),shell:()=>import("@shikijs/langs/shell"),yaml:()=>import("@shikijs/langs/yaml"),toml:()=>import("@shikijs/langs/toml"),python:()=>import("@shikijs/langs/python"),go:()=>import("@shikijs/langs/go"),rust:()=>import("@shikijs/langs/rust"),ruby:()=>import("@shikijs/langs/ruby"),php:()=>import("@shikijs/langs/php"),graphql:()=>import("@shikijs/langs/graphql"),dockerfile:()=>import("@shikijs/langs/dockerfile"),text:()=>Promise.resolve({name:"text",patterns:[],scopeName:"source.text",repository:{}})};let n;const d=async()=>{const[t,r]=await Promise.all([import("shiki/core"),import("shiki/engine/javascript")]),{createHighlighterCore:o}=t,{createJavaScriptRegexEngine:i}=r;return await o({themes:[import("../packem_chunks/min-dark.js"),import("../packem_chunks/min-light.js")],langs:[],engine:i()})},h=async(t,r)=>{if(r==="text")return;const o=r.toLowerCase();if(!(t.getLoadedLanguages?.()??t.getLanguages?.()??[]).includes(o)){const e=g[o];e&&await t.loadLanguage?.(await e())}},L=async(t=[])=>{n||(n=d().catch(e=>{throw n=void 0,e}));const r=await n,o=[],i=[];for(const e of t)typeof e=="string"?o.push(e.toLowerCase()):i.push(e);return await Promise.all([...o.map(e=>h(r,e)),...i.map(e=>r.loadLanguage?.(e))]),r},v="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-check%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%20%2F%3E%20%3C%2Fsvg%3E",C="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-clipboard%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Crect%20width%3D%228%22%20height%3D%224%22%20x%3D%228%22%20y%3D%222%22%20rx%3D%221%22%20ry%3D%221%22%20%2F%3E%20%3Cpath%20d%3D%22M16%204h2a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h2%22%20%2F%3E%20%3C%2Fsvg%3E";let a;try{const t=await import("isomorphic-dompurify");typeof t.sanitize=="function"&&(a=t.sanitize)}catch{}const c=(t,r)=>{if(a!==void 0)try{return r===void 0?a(t):a(t,r)}catch{return}},u=["http://","https://","/","./","../"],m="#",w={'"':""","&":"&","'":"'","<":"<",">":">"},D=/^[\w+/-]+={0,2}$/,s=t=>{if(t==null)return"";if(typeof t=="string")return t.trim();if(typeof t=="object"||Array.isArray(t))try{return JSON.stringify(t).trim()}catch{return""}return String(t).trim()},l=t=>t.replaceAll(/[&<>"']/g,r=>w[r]),f=t=>{const r=s(t);return c(r)??l(r)},E=t=>{const r=s(t);if(!r)return"";const o=c(r);return o===void 0?l(r):o.replaceAll('"',""").replaceAll("'","'")},y=t=>{const r=s(t);if(!r)return m;const o=c(r)??l(r),i=o.toLowerCase();return u.some(p=>i.startsWith(p))?o.replaceAll('"',""").replaceAll("'","'"):m},x=t=>{const r=s(t);return r?c(r,{ADD_ATTR:["class","style"]})??f(r):""},A=t=>{const r=s(t);if(r)return D.test(r)?r:void 0},F=(t={})=>{try{return{...t,cspNonce:A(t.cspNonce),openInEditorUrl:t.openInEditorUrl?y(t.openInEditorUrl):void 0}}catch{return{...t,cspNonce:void 0,openInEditorUrl:void 0}}};export{f as a,v as b,C as c,x as d,y as e,A as f,L as g,l as h,F as i,c as p,E as s};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{createRequire as
|
|
1
|
+
import{createRequire as C}from"node:module";import F from"launch-editor-middleware";import{a as $}from"../packem_shared/process-CnEDZ90T.js";let L;const O=t=>(L??=C(import.meta.url))(t),p=typeof globalThis<"u"&&typeof globalThis.process<"u"?globalThis.process:process,T=t=>{if(typeof p<"u"&&p.versions&&p.versions.node){const[c,n]=p.versions.node.split(".").map(Number);if(c>22||c===22&&n>=3||c===20&&n>=16)return p.getBuiltinModule(t)}return O(t)},{realpathSync:v}=T("node:fs"),I=/^[A-Z]:\//i,_=(t="")=>t&&t.replaceAll("\\","/").replace(I,c=>c.toUpperCase()),M=/^[/\\]{2}/,N=/^[/\\](?![/\\])|^[/\\]{2}(?!\.)|^[A-Z]:[/\\]/i,R=/^[A-Z]:$/i,b=/^\/([A-Z]:)?$/i,E=/^([A-Z]:)\/$/i,H=()=>{if(typeof process.cwd=="function")try{const t=process.cwd();if(typeof t=="string")return _(t)}catch{}return"/"},A=(t,c)=>{let n="",e=0,i=-1,r=0,a;for(let o=0;o<=t.length;++o){if(o<t.length)a=t[o];else{if(a==="/")break;a="/"}if(a==="/"){if(!(i===o-1||r===1))if(r===2){if(n.length<2||e!==2||!n.endsWith(".")||n.at(-2)!=="."){if(n.length>2){const s=n.lastIndexOf("/");s===-1?(n="",e=0):(n=n.slice(0,s),e=n.length-1-n.lastIndexOf("/")),i=o,r=0;continue}else if(n.length>0){n="",e=0,i=o,r=0;continue}}c&&(n+=n.length>0?"/..":"..",e=2)}else n.length>0?n+=`/${t.slice(i+1,o)}`:n=t.slice(i+1,o),e=o-i-1;i=o,r=0}else a==="."&&r!==-1?++r:r=-1}return n},u=t=>N.test(t),m=function(t){if(t.length===0)return".";t=_(t);const c=M.exec(t),n=u(t),e=t.at(-1)==="/";return t=A(t,!n),t.length===0?n?"/":e?"./":".":(e&&(t+="/"),R.test(t)&&(t+="/"),c?n?`//${t}`:`//./${t}`:n&&!u(t)?`/${t}`:t)},y=function(...t){t=t.map(e=>_(e));let c="",n=!1;for(let e=t.length-1;e>=-1&&!n;e--){const i=e>=0?t[e]:H();!i||i.length===0||(c=`${i}/${c}`,n=u(i))}return c=A(c,!n),R.test(c)?`${c}/`:n&&!u(c)?`/${c}`:c.length>0?c:"."},P=function(t,c){const n=y(t).replace(b,"$1").replace(E,"$1").split("/"),e=y(c).replace(b,"$1").replace(E,"$1").split("/");if(e[0][1]===":"&&n[0][1]===":"&&n[0]!==e[0])return e.join("/");const i=Math.min(n.length,e.length);let r=0;for(;r<i&&n[r]===e[r];)r+=1;const a=n.length-r;return[...Array.from({length:a}).fill(".."),...e.slice(r)].join("/")},U=/^[\w.+-]+$/,j=t=>{if(typeof t.status=="function"){t.status(400).send("Failed to open editor");return}t.statusCode=400,t.end("Failed to open editor")},S=(t={})=>{const c=async e=>{if((e.method??"GET").toUpperCase()==="POST")return e.body&&typeof e.body=="object"?e.body:new Promise(a=>{try{let o="";const s=()=>{typeof e.removeListener=="function"&&(e.removeListener("data",d),e.removeListener("end",l),e.removeListener("error",f))},d=h=>{o+=String(h),o.length>1e6&&(s(),a({}))},l=()=>{s();try{a(o?JSON.parse(o):{})}catch{a({})}},f=()=>{s(),a({})};e.on("data",d),e.on("end",l),e.on("error",f)}catch{a({})}});const r=new URL(e.url??"","http://localhost");return{column:Number(r.searchParams.get("column")??1),editor:r.searchParams.get("editor")??void 0,file:r.searchParams.get("file")??void 0,line:Number(r.searchParams.get("line")??1)}},n=(e,i,r)=>{if(!e)return;const a=u(e)?e:y(i,e);if(!r)try{const o=v(i),s=v(a),d=m(o),l=m(s),f=$()==="win32"||$()==="darwin",h=f?d.toLowerCase():d,g=f?l.toLowerCase():l,w=P(d,l);if(w.startsWith("..")||u(w)||f&&!g.startsWith(h))return}catch{const o=P(m(i),m(a));if(o.startsWith("..")||u(o))return}return a};return async function(i,r,a){try{const o=await c(i),s=t.projectRoot??process.cwd(),d=n(o.file,s,t.allowOutsideProject??!1);if(!d){j(r);return}const l=o.editor&&U.test(o.editor)?o.editor:void 0,f=F(l,s),h=new URLSearchParams({column:String(o.column??1),file:d,line:String(o.line??1)});if(l&&h.set("editor",l),i.url=`/?${h.toString()}`,typeof a=="function"){f(i,r,a);return}await new Promise(g=>{f(i,r,()=>{g()})})}catch{j(r)}}},B=(t={})=>{const c=S(t);return async(n,e)=>c(n,e)},G=(t={})=>S(t);export{G as createExpressHandler,B as createNodeHttpHandler,S as createOpenInEditorMiddleware};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@visulima/ono",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "Ono is an error-parsing library that pretty prints JavaScript errors on a web page or the terminal.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"anolilab",
|
|
@@ -31,11 +31,6 @@
|
|
|
31
31
|
"youch"
|
|
32
32
|
],
|
|
33
33
|
"homepage": "https://visulima.com/packages/ono/",
|
|
34
|
-
"license": "MIT",
|
|
35
|
-
"author": {
|
|
36
|
-
"name": "Daniel Bannert",
|
|
37
|
-
"email": "d.bannert@anolilab.de"
|
|
38
|
-
},
|
|
39
34
|
"repository": {
|
|
40
35
|
"type": "git",
|
|
41
36
|
"url": "https://github.com/visulima/visulima.git",
|
|
@@ -51,14 +46,13 @@
|
|
|
51
46
|
"url": "https://anolilab.com/support"
|
|
52
47
|
}
|
|
53
48
|
],
|
|
54
|
-
"
|
|
55
|
-
|
|
56
|
-
"
|
|
57
|
-
"
|
|
58
|
-
|
|
59
|
-
],
|
|
60
|
-
"type": "module",
|
|
49
|
+
"license": "MIT",
|
|
50
|
+
"author": {
|
|
51
|
+
"name": "Daniel Bannert",
|
|
52
|
+
"email": "d.bannert@anolilab.de"
|
|
53
|
+
},
|
|
61
54
|
"sideEffects": true,
|
|
55
|
+
"type": "module",
|
|
62
56
|
"exports": {
|
|
63
57
|
".": {
|
|
64
58
|
"types": "./dist/index.d.ts",
|
|
@@ -74,10 +68,12 @@
|
|
|
74
68
|
},
|
|
75
69
|
"./package.json": "./package.json"
|
|
76
70
|
},
|
|
77
|
-
"
|
|
78
|
-
"
|
|
79
|
-
"
|
|
80
|
-
|
|
71
|
+
"files": [
|
|
72
|
+
"dist",
|
|
73
|
+
"README.md",
|
|
74
|
+
"CHANGELOG.md",
|
|
75
|
+
"LICENSE.md"
|
|
76
|
+
],
|
|
81
77
|
"scripts": {
|
|
82
78
|
"build": "packem build --development",
|
|
83
79
|
"build:prod": "packem build --production",
|
|
@@ -97,11 +93,12 @@
|
|
|
97
93
|
"test": "vitest run",
|
|
98
94
|
"test:coverage": "vitest run --coverage",
|
|
99
95
|
"test:ui": "vitest --ui --coverage.enabled=true",
|
|
100
|
-
"test:watch": "vitest"
|
|
96
|
+
"test:watch": "vitest",
|
|
97
|
+
"test:workerd": "vitest run --config vitest.workerd.config.ts"
|
|
101
98
|
},
|
|
102
99
|
"dependencies": {
|
|
103
100
|
"@shikijs/langs": "catalog:prod",
|
|
104
|
-
"@visulima/error": "6.
|
|
101
|
+
"@visulima/error": "6.1.0",
|
|
105
102
|
"isomorphic-dompurify": "catalog:prod",
|
|
106
103
|
"launch-editor-middleware": "catalog:prod",
|
|
107
104
|
"shiki": "catalog:syntax"
|
|
@@ -111,6 +108,7 @@
|
|
|
111
108
|
"@anolilab/prettier-config": "catalog:lint",
|
|
112
109
|
"@anolilab/semantic-release-preset": "catalog:dev",
|
|
113
110
|
"@arethetypeswrong/cli": "catalog:dev",
|
|
111
|
+
"@cloudflare/vitest-pool-workers": "catalog:test",
|
|
114
112
|
"@eslint/css": "catalog:lint",
|
|
115
113
|
"@shikijs/themes": "catalog:dev",
|
|
116
114
|
"@tailwindcss/forms": "catalog:frontend",
|
|
@@ -121,7 +119,7 @@
|
|
|
121
119
|
"@types/http-errors": "catalog:types",
|
|
122
120
|
"@types/node": "catalog:types",
|
|
123
121
|
"@visulima/packem": "catalog:dev",
|
|
124
|
-
"@visulima/path": "
|
|
122
|
+
"@visulima/path": "4.0.0",
|
|
125
123
|
"@vitest/coverage-v8": "catalog:test",
|
|
126
124
|
"cssnano": "catalog:dev",
|
|
127
125
|
"esbuild": "catalog:build",
|
|
@@ -143,5 +141,9 @@
|
|
|
143
141
|
},
|
|
144
142
|
"engines": {
|
|
145
143
|
"node": "^22.14.0 || >=24.10.0"
|
|
144
|
+
},
|
|
145
|
+
"publishConfig": {
|
|
146
|
+
"access": "public",
|
|
147
|
+
"provenance": true
|
|
146
148
|
}
|
|
147
149
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
const c=globalThis.process||Object.create(null),r={versions:{}},s=new Proxy(c,{get(o,e){if(e in o)return o[e];if(e in r)return r[e]}});let t,n;const i=()=>(t??=s.version??"",t),a=()=>(n??=s.platform??"",n);export{a,s as e,i as g};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{sanitize as n}from"isomorphic-dompurify";const l={javascript:()=>import("@shikijs/langs/javascript"),typescript:()=>import("@shikijs/langs/typescript"),jsx:()=>import("@shikijs/langs/jsx"),tsx:()=>import("@shikijs/langs/tsx"),json:()=>import("@shikijs/langs/json"),json5:()=>import("@shikijs/langs/json5"),jsonc:()=>import("@shikijs/langs/jsonc"),xml:()=>import("@shikijs/langs/xml"),sql:()=>import("@shikijs/langs/sql"),markdown:()=>import("@shikijs/langs/markdown"),mdx:()=>import("@shikijs/langs/mdx"),html:()=>import("@shikijs/langs/html"),css:()=>import("@shikijs/langs/css"),scss:()=>import("@shikijs/langs/scss"),less:()=>import("@shikijs/langs/less"),sass:()=>import("@shikijs/langs/sass"),stylus:()=>import("@shikijs/langs/stylus"),styl:()=>import("@shikijs/langs/styl"),svelte:()=>import("@shikijs/langs/svelte"),vue:()=>import("@shikijs/langs/vue"),bash:()=>import("@shikijs/langs/bash"),shell:()=>import("@shikijs/langs/shell"),yaml:()=>import("@shikijs/langs/yaml"),toml:()=>import("@shikijs/langs/toml"),python:()=>import("@shikijs/langs/python"),go:()=>import("@shikijs/langs/go"),rust:()=>import("@shikijs/langs/rust"),ruby:()=>import("@shikijs/langs/ruby"),php:()=>import("@shikijs/langs/php"),graphql:()=>import("@shikijs/langs/graphql"),dockerfile:()=>import("@shikijs/langs/dockerfile"),text:()=>Promise.resolve({name:"text",patterns:[],scopeName:"source.text",repository:{}})};let a;const m=async()=>{const[t,r]=await Promise.all([import("shiki/core"),import("shiki/engine/javascript")]),{createHighlighterCore:o}=t,{createJavaScriptRegexEngine:e}=r;return await o({themes:[import("../packem_chunks/min-dark.js"),import("../packem_chunks/min-light.js")],langs:[],engine:e()})},u=async(t,r)=>{if(r==="text")return;const o=r.toLowerCase();if(!(t.getLoadedLanguages?.()??t.getLanguages?.()??[]).includes(o)){const e=l[o];e&&await t.loadLanguage?.(await e())}},x=async(t=[])=>{a||(a=m());const r=await a,o=[];for(const e of t)if(typeof e=="string")o.push(e.toLowerCase());else{const s=e.name;s&&o.push(s.toLowerCase())}return await Promise.all(o.map(e=>u(r,e))),r},C="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-check%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Cpath%20d%3D%22M20%206%209%2017l-5-5%22%20%2F%3E%20%3C%2Fsvg%3E",A="data:image/svg+xml;charset=utf-8,%3Csvg%20class%3D%22lucide%20lucide-clipboard%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2224%22%20height%3D%2224%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22currentColor%22%20stroke-width%3D%222%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%20%3E%20%3Crect%20width%3D%228%22%20height%3D%224%22%20x%3D%228%22%20y%3D%222%22%20rx%3D%221%22%20ry%3D%221%22%20%2F%3E%20%3Cpath%20d%3D%22M16%204h2a2%202%200%200%201%202%202v14a2%202%200%200%201-2%202H6a2%202%200%200%201-2-2V6a2%202%200%200%201%202-2h2%22%20%2F%3E%20%3C%2Fsvg%3E",h=["http://","https://","/","./","../"],p="#",g={'"':""","&":"&","'":"'","<":"<",">":">"},d=/^[\w+/-]+={0,2}$/,i=t=>{if(t==null)return"";if(typeof t=="string")return t.trim();if(typeof t=="object"||Array.isArray(t))try{return JSON.stringify(t).trim()}catch{return""}return String(t).trim()},c=t=>t.replaceAll(/[&<>"']/g,r=>g[r]),D=t=>{try{return n(i(t))}catch{return c(i(t))}},E=t=>{const r=i(t);if(!r)return"";try{return n(r).replaceAll('"',""").replaceAll("'","'")}catch{return c(r)}},w=t=>{const r=i(t);if(!r)return p;try{const o=n(r),e=o.toLowerCase();return h.some(s=>e.startsWith(s))?o:p}catch{return p}},F=t=>{const r=i(t);if(!r)return"";try{return n(r,{ADD_ATTR:["class","style"]})}catch{return D(r)}},y=t=>{const r=i(t);if(r)return d.test(r)?r:void 0},k=(t={})=>{try{return{...t,cspNonce:y(t.cspNonce),openInEditorUrl:t.openInEditorUrl?w(t.openInEditorUrl):void 0}}catch{return{...t,cspNonce:void 0,openInEditorUrl:void 0}}};export{D as a,C as b,x as c,F as d,w as e,y as f,k as g,A as l,E as s};
|