sveld 0.37.8 → 0.38.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,5 @@
1
+ import{t}from"./chunk-12m2j9sx.js";import{existsSync as x,readdirSync as R,readFileSync as _,statSync as k}from"node:fs";import{createRequire as P}from"node:module";import l from"node:path";var C=/[^A-Za-z0-9_-]/g,w=/[^A-Za-z0-9_$]/g,F=/^[0-9]/,I=2,d=7,m=`TypeScript ${d} or later, which provides \`typescript/unstable/async\``;function N(n){if(!n)return!1;let e=Number.parseInt(n,10);return Number.isFinite(e)&&e>=d}async function b(n){let e;try{let r=P(l.join(n,"package.json")).resolve("typescript/package.json");e=JSON.parse(_(r,"utf8")).version}catch{return{installed:!1}}if(!N(e))return{installed:!0,version:e};try{let s=await import("./chunk-mrkc1dc9.js");return{installed:!0,version:e,module:s}}catch{return{installed:!0,version:e}}}class h{api;tsconfigPath;overlay=new Map;constructor(n,e){this.api=n,this.tsconfigPath=e}static async create(n=process.cwd(),{importTs:e=b}={}){let s=await e(n);if(!s.installed)return{ok:!1,reason:"not-installed",message:`requires the \`typescript\` package to be installed (${m}); none was found`};if(!s.module)return{ok:!1,reason:"unsupported-version",message:`requires ${m}; found \`typescript@${s.version??"unknown"}\` installed, which does not expose that module`};let r=M(n);if(!r)return{ok:!1,reason:"no-tsconfig",message:`could not locate a tsconfig.json starting from "${n}"`};let o=s.module,i=new h(null,r),a=new o.API({cwd:n,fs:i.createFileSystem()});return i.api=a,{ok:!0,resolver:i}}async checkExamples(n){let e=new Map;if(n.length===0)return e;let s=[];for(let o of n)for(let i of o.sources){let a=this.exampleFileName(o.filePath,o.moduleName,i.id);this.overlay.set(a,j(i)),s.push({filePath:o.filePath,source:i,file:a})}if(s.length===0)return e;let r=await this.api.updateSnapshot({openProject:this.tsconfigPath,fileChanges:{created:s.map((o)=>o.file)}});try{let[o]=s,i=await r.getDefaultProjectForFile(o.file);if(!i)return e;await Promise.all(s.map(async({filePath:a,source:u,file:p})=>{let[y,v]=await Promise.all([i.program.getSyntacticDiagnostics(p),i.program.getSemanticDiagnostics(p)]),f=[...y,...v];if(f.length===0)return;let T=this.overlay.get(p)??"",E=f.map((c)=>A(c,T)).sort((c,S)=>c.line-S.line).map((c)=>`Line ${c.line}: ${c.text}`).join(`
2
+ `),g=e.get(a)??[];g.push({id:u.id,name:u.name,message:E}),e.set(a,g)}))}finally{await r.dispose?.()}return e}async dispose(){this.overlay.clear(),await this.api?.close?.()}createFileSystem(){return{readFile:(n)=>this.overlay.get(t(n)),fileExists:(n)=>this.overlay.has(t(n))?!0:void 0,getAccessibleEntries:(n)=>{let e=t(n),s=Array.from(this.overlay.keys()).filter((i)=>t(l.dirname(i))===e);if(s.length===0)return;let r=[],o=[];try{for(let i of R(n)){let a=l.join(n,i);try{(k(a).isDirectory()?o:r).push(i)}catch{}}}catch{}for(let i of s){let a=l.basename(i);if(!r.includes(a))r.push(a)}return{files:r,directories:o}}}}exampleFileName(n,e,s){let r=l.dirname(l.resolve(n)),o=s.replace(C,"_");return t(l.join(r,`__sveld_example_${e}_${o}.ts`))}}function D(n){let e=n.replace(w,"_");if(e===""||F.test(e))return`_${e}`;return e}function j(n){return`const ${D(n.name)} = null as unknown as (${n.type});
3
+ ${n.code}
4
+ `}function A(n,e){let s=n.pos??0,r=e.slice(0,s).split(`
5
+ `).length;return{line:Math.max(1,r-I+1),text:String(n.text??"").trim()}}function M(n){let e=l.resolve(n);while(!0){let s=l.join(e,"tsconfig.json");if(x(s))return s;let r=l.dirname(e);if(r===e)return null;e=r}}export{h as TypeResolver};
@@ -0,0 +1 @@
1
+ import{Pe,Ae,B,ke,ie,de,se,G}from"./chunk-m08z217p.js";export{G as ComponentParser,ke as deriveLiteralDetailType,Ae as extractJsDocDeprecatedAndTags,Pe as extractJsDocReturnType,B as getCommentTags,ie as literalDetailToTypeText,de as parseProgram,se as parseSvelte};