@tsrx/typescript-plugin 0.3.32 → 0.3.34
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/dist/index.js +8 -0
- package/dist/index.js.map +1 -0
- package/dist/language-CK5RucYm.js +4 -0
- package/dist/language-CK5RucYm.js.map +1 -0
- package/dist/package.json +1 -0
- package/dist/tsc.js +3 -0
- package/dist/tsc.js.map +1 -0
- package/package.json +11 -5
- package/CHANGELOG.md +0 -411
- package/src/index.js +0 -10
- package/src/language.js +0 -926
- package/src/utils.js +0 -57
- package/tests/compiler-resolution.test.js +0 -205
- package/tests/fixtures/workspaces/both/package.json +0 -9
- package/tests/fixtures/workspaces/both-react/package.json +0 -8
- package/tests/fixtures/workspaces/react-only/package.json +0 -8
- package/tests/fixtures/workspaces/ripple-only/package.json +0 -9
- package/tests/plugin-integration.test.js +0 -120
- package/tests/workspace-fixtures.js +0 -244
- package/tsconfig.json +0 -17
- package/tsconfig.typecheck.json +0 -8
- package/tsdown.config.js +0 -30
package/dist/index.js
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
const e=require(`./language-CK5RucYm.js`);var t=e.r((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.dedupeDocumentSpans=t;function t(e){return n(e,e=>[e.fileName,e.textSpan.start,e.textSpan.length].join(`:`))}function n(e,t){let n=new Map;for(let r of e.reverse())n.set(t(r),r);return[...n.values()]}})),n=e.r((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.getServiceScript=t,e.fixupImpliedNodeFormatForFile=n;function t(e,t){let n=e.scripts.get(t);if(n?.targetIds.size)for(let t of n.targetIds){let r=e.scripts.get(t);if(r?.generated){let e=r.generated.languagePlugin.typescript?.getServiceScript(r.generated.root);if(e)return[e,r,n]}}if(n?.associatedOnly)return[void 0,n,n];if(n?.generated){let e=n.generated.languagePlugin.typescript?.getServiceScript(n.generated.root);if(e)return[e,n,n]}return[void 0,void 0,void 0]}function n(e,t,n,r,i,a){if(n.impliedNodeFormat!==void 0||!t.some(e=>n.fileName.endsWith(e))||[`.d.ts`,`.ts`,`.tsx`,`.js`,`.jsx`].some(e=>n.fileName.endsWith(e)))return;let o=n.fileName+`.ts`,s=e.getImpliedNodeFormatForFileWorker?.(o,r,i,a)?.impliedNodeFormat;if(s!==void 0)return n.impliedNodeFormat=s,()=>n.impliedNodeFormat=void 0}})),r=e.r((t=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.transformCallHierarchyItem=s,t.transformDiagnostic=c,t.fillSourceFileText=l,t.transformFileTextChanges=u,t.transformDocumentSpan=d,t.transformSpan=f,t.transformTextChange=p,t.transformTextSpan=m,t.toSourceOffset=h,t.toSourceRanges=g,t.toSourceOffsets=_,t.toGeneratedRange=v,t.toGeneratedRanges=y,t.toGeneratedOffset=b,t.toGeneratedOffsets=x,t.getMappingOffset=S;let r=e.n(),i=n(),a=new WeakMap,o=new WeakSet;function s(e,t,n,r){let i=f(e,t.file,t.span,n,r),a=f(e,t.file,t.selectionSpan,n,r);return{...t,file:i?.fileName??t.file,span:i?.textSpan??{start:0,length:0},selectionSpan:a?.textSpan??{start:0,length:0}}}function c(e,t,n,o){if(!a.has(t)){a.set(t,void 0);let{relatedInformation:s}=t;if(s&&(t.relatedInformation=s.map(t=>c(e,t,n,o)).filter(e=>!!e)),t.file!==void 0&&t.start!==void 0&&t.length!==void 0){let[s]=(0,i.getServiceScript)(e,t.file.fileName);if(s){let[i,c]=m(void 0,e,s,{start:t.start,length:t.length},!0,e=>(0,r.shouldReportDiagnostics)(e,String(t.source),String(t.code)))??[],u=i?t.file.fileName===i?t.file:n?.getSourceFile(i):void 0;c&&u&&(o&&l(e,t.file),a.set(t,{...t,file:u,start:c.start,length:c.length}))}else a.set(t,t)}else a.set(t,t)}return a.get(t)}function l(e,t){if(o.has(t))return;o.add(t);let[n]=(0,i.getServiceScript)(e,t.fileName);if(n&&!n.preventLeadingOffset){let r=e.scripts.fromVirtualCode(n.code);t.text=r.snapshot.getText(0,r.snapshot.getLength())+t.text.substring(r.snapshot.getLength())}}function u(e,t,n,r){let a={},o=new Set;for(let s of t){let[t,c]=(0,i.getServiceScript)(e,s.fileName);if(c)s.textChanges.forEach(t=>{let{fileName:i,textSpan:o}=f(e,s.fileName,t.span,n,r)??{};i&&o&&(a[i]??(a[i]=[])).push({...t,span:o})});else{let e=a[s.fileName]??(a[s.fileName]=[]);s.textChanges.forEach(t=>{e.push(t)}),s.isNewFile&&o.add(s.fileName)}}let s=[];for(let e in a)s.push({fileName:e,isNewFile:o.has(e),textChanges:a[e]});return s}function d(e,t,n,r,i){let a=f(e,t.fileName,t.textSpan,n,r);if(!a&&i&&(a={fileName:t.fileName,textSpan:{start:0,length:0}}),!a)return;let o=f(e,t.fileName,t.contextSpan,n,r),s=f(e,t.originalFileName,t.originalTextSpan,n,r),c=f(e,t.originalFileName,t.originalContextSpan,n,r);return{...t,fileName:a.fileName,textSpan:a.textSpan,contextSpan:o?.textSpan,originalFileName:s?.fileName,originalTextSpan:s?.textSpan,originalContextSpan:c?.textSpan}}function f(e,t,n,r,a){if(!t||!n)return;let[o]=(0,i.getServiceScript)(e,t);if(o){let[t,i]=m(void 0,e,o,n,r,a)??[];if(i&&t)return{fileName:t,textSpan:i}}else return{fileName:t,textSpan:n}}function p(e,t,n,r,i,a){let[o,s]=m(e,t,n,r.span,i,a)??[];if(s&&o)return[o,{newText:r.newText,span:s}]}function m(e,t,n,r,i,a){let o=r.start,s=r.start+r.length;for(let[r,c,l]of g(e,t,n,o,s,i,a))return[r,{start:c,length:l-c}]}function h(e,t,n,r,i){for(let a of _(e,t,n,r,i))return a}function*g(e,t,n,r,i,a,o){if(e){let s=t.maps.get(n.code,e);for(let[c,l]of s.toSourceRange(r-S(t,n),i-S(t,n),a,o))yield[e.id,c,l]}else for(let[e,s]of t.maps.forEach(n.code))for(let[c,l]of s.toSourceRange(r-S(t,n),i-S(t,n),a,o))yield[e.id,c,l]}function*_(e,t,n,r,i){if(e){let a=t.maps.get(n.code,e);for(let[o,s]of a.toSourceLocation(r-S(t,n)))i(s.data)&&(yield[e.id,o])}else for(let[e,a]of t.maps.forEach(n.code))for(let[o,s]of a.toSourceLocation(r-S(t,n)))i(s.data)&&(yield[e.id,o])}function v(e,t,n,r,i,a){for(let o of y(e,t,n,r,i,a))return o}function*y(e,t,n,r,i,a){let o=e.maps.get(t.code,n);for(let[n,s]of o.toGeneratedRange(r,i,!0,a))yield[n+S(e,t),s+S(e,t)]}function b(e,t,n,r,i){for(let[a]of x(e,t,n,r,i))return a}function*x(e,t,n,r,i){let a=e.maps.get(t.code,n);for(let[n,o]of a.toGeneratedLocation(r))i(o.data)&&(yield[n+S(e,t),o])}function S(e,t){return t.preventLeadingOffset?0:e.scripts.fromVirtualCode(t.code).snapshot.getLength()}})),i=e.r((i=>{Object.defineProperty(i,`__esModule`,{value:!0}),i.createProxyLanguageService=u;let a=e.n(),o=t(),s=r(),c=n(),l=/\\/g;function u(e){let t=new Map,n;return{initialize(t){n=(n,r)=>{switch(r){case`getNavigationTree`:return d(t,n[r]);case`getOutliningSpans`:return f(t,n[r]);case`getFormattingEditsForDocument`:return p(t,n[r]);case`getFormattingEditsForRange`:return m(t,n[r]);case`getFormattingEditsAfterKeystroke`:return h(t,n[r]);case`getEditsForFileRename`:return g(t,n[r]);case`getLinkedEditingRangeAtPosition`:return _(t,n[r]);case`prepareCallHierarchy`:return v(t,n[r]);case`provideCallHierarchyIncomingCalls`:return y(t,n[r]);case`provideCallHierarchyOutgoingCalls`:return b(t,n[r]);case`organizeImports`:return x(t,n[r]);case`getQuickInfoAtPosition`:return S(t,n[r]);case`getSignatureHelpItems`:return C(t,n[r]);case`getDocumentHighlights`:return w(t,n[r]);case`getApplicableRefactors`:return T(t,n[r]);case`getEditsForRefactor`:return E(t,n[r]);case`getCombinedCodeFix`:return D(t,n[r]);case`getRenameInfo`:return O(t,n[r]);case`getCodeFixesAtPosition`:return k(t,n[r]);case`getEncodedSemanticClassifications`:return A(t,n[r]);case`getSyntacticDiagnostics`:return j(t,e,n[r]);case`getSemanticDiagnostics`:return M(t,e,n[r]);case`getSuggestionDiagnostics`:return N(t,e,n[r]);case`getDefinitionAndBoundSpan`:return P(t,n[r]);case`findReferences`:return F(t,n[r]);case`getDefinitionAtPosition`:return I(t,n[r]);case`getTypeDefinitionAtPosition`:return L(t,n[r]);case`getImplementationAtPosition`:return R(t,n[r]);case`findRenameLocations`:return z(t,n[r]);case`getReferencesAtPosition`:return B(t,n[r]);case`getCompletionsAtPosition`:return V(t,n[r]);case`getCompletionEntryDetails`:return H(t,n[r]);case`provideInlayHints`:return U(t,n[r]);case`getFileReferences`:return W(t,n[r]);case`getNavigateToItems`:return G(t,n[r])}}},proxy:new Proxy(e,{get(e,r,i){if(n){t.has(r)||t.set(r,n(e,r));let i=t.get(r);if(i)return i}return Reflect.get(e,r,i)},set(e,t,n,r){return Reflect.set(e,t,n,r)}})}}function d(e,t){return n=>{let r=n.replace(l,`/`),[i,a]=(0,c.getServiceScript)(e,r);if(i||a?.associatedOnly){let e=t(a.id);return e.childItems=void 0,e}else return t(r)}}function f(e,t){return n=>{let r=n.replace(l,`/`),[i,a]=(0,c.getServiceScript)(e,r);return i||a?.associatedOnly?[]:t(r)}}function p(e,t){return(n,r)=>{let i=n.replace(l,`/`),[o,u,d]=(0,c.getServiceScript)(e,i);return u?.associatedOnly?[]:o?e.maps.get(o.code,u).mappings.some(e=>(0,a.isFormattingEnabled)(e.data))?t(u.id,r).map(t=>(0,s.transformTextChange)(d,e,o,t,!1,a.isFormattingEnabled)?.[1]).filter(e=>!!e):[]:t(i,r)}}function m(e,t){return(n,r,i,o)=>{let u=n.replace(l,`/`),[d,f,p]=(0,c.getServiceScript)(e,u);if(f?.associatedOnly)return[];if(d){let n=(0,s.toGeneratedRange)(e,d,p,r,i,a.isFormattingEnabled);return n===void 0?[]:t(f.id,n[0],n[1],o).map(t=>(0,s.transformTextChange)(p,e,d,t,!1,a.isFormattingEnabled)?.[1]).filter(e=>!!e)}else return t(u,r,i,o)}}function h(e,t){return(n,r,i,o)=>{let u=n.replace(l,`/`),[d,f,p]=(0,c.getServiceScript)(e,u);if(f?.associatedOnly)return[];if(d){let n=(0,s.toGeneratedOffset)(e,d,p,r,a.isFormattingEnabled);return n===void 0?[]:t(f.id,n,i,o).map(t=>(0,s.transformTextChange)(p,e,d,t,!1,a.isFormattingEnabled)?.[1]).filter(e=>!!e)}else return t(u,r,i,o)}}function g(e,t){return(n,r,i,o)=>{let c=t(n,r,i,o);return(0,s.transformFileTextChanges)(e,c,!1,a.isRenameEnabled)}}function _(e,t){return(n,r)=>{let i=n.replace(l,`/`),[o,u,d]=(0,c.getServiceScript)(e,i);if(!u?.associatedOnly)if(o){let n=(0,s.toGeneratedOffset)(e,o,d,r,a.isLinkedEditingEnabled);if(n!==void 0){let r=t(u.id,n);if(r)return{ranges:r.ranges.map(t=>(0,s.transformTextSpan)(d,e,o,t,!1,a.isLinkedEditingEnabled)?.[1]).filter(e=>!!e),wordPattern:r.wordPattern}}}else return t(i,r)}}function v(e,t){return(n,r)=>{let i=n.replace(l,`/`),[o,u,d]=(0,c.getServiceScript)(e,i);if(!u?.associatedOnly)if(o){let n=(0,s.toGeneratedOffset)(e,o,d,r,a.isCallHierarchyEnabled);if(n!==void 0){let r=t(u.id,n);if(Array.isArray(r))return r.map(t=>(0,s.transformCallHierarchyItem)(e,t,!0,a.isCallHierarchyEnabled));if(r)return(0,s.transformCallHierarchyItem)(e,r,!0,a.isCallHierarchyEnabled)}}else return t(i,r)}}function y(e,t){return(n,r)=>{let i=[],o=n.replace(l,`/`),[u,d,f]=(0,c.getServiceScript)(e,o);if(d?.associatedOnly)return[];if(u){let n=(0,s.toGeneratedOffset)(e,u,f,r,a.isCallHierarchyEnabled);n!==void 0&&(i=t(d.id,n))}else i=t(o,r);return i.map(t=>({from:(0,s.transformCallHierarchyItem)(e,t.from,!0,a.isCallHierarchyEnabled),fromSpans:t.fromSpans.map(n=>(0,s.transformSpan)(e,t.from.file,n,!0,a.isCallHierarchyEnabled)?.textSpan).filter(e=>!!e)}))}}function b(e,t){return(n,r)=>{let i=[],o=n.replace(l,`/`),[u,d,f]=(0,c.getServiceScript)(e,o);if(d?.associatedOnly)return[];if(u){let n=(0,s.toGeneratedOffset)(e,u,f,r,a.isCallHierarchyEnabled);n!==void 0&&(i=t(d.id,n))}else i=t(o,r);return i.map(t=>({to:(0,s.transformCallHierarchyItem)(e,t.to,!0,a.isCallHierarchyEnabled),fromSpans:t.fromSpans.map(t=>u?(0,s.transformTextSpan)(f,e,u,t,!0,a.isCallHierarchyEnabled)?.[1]:t).filter(e=>!!e)}))}}function x(e,t){return(n,r,i)=>{let o=t(n,r,i);return(0,s.transformFileTextChanges)(e,o,!1,a.isCodeActionsEnabled)}}function S(e,t){return(n,r,...i)=>{let o=n.replace(l,`/`),[u,d,f]=(0,c.getServiceScript)(e,o);if(!d?.associatedOnly)if(u){let n=[];for(let[o]of(0,s.toGeneratedOffsets)(e,u,f,r,a.isHoverEnabled)){let r=t(d.id,o,...i);if(r){let t=(0,s.transformTextSpan)(f,e,u,r.textSpan,!0,a.isHoverEnabled)?.[1];t&&n.push({...r,textSpan:t})}}if(n.length===1)return n[0];if(n.length>=2){let e={...n[0]};e.displayParts=e.displayParts?.slice(),e.documentation=e.documentation?.slice(),e.tags=e.tags?.slice();let t=new Set([q(n[0].displayParts)]),r=new Set([q(n[0].documentation)]),i=new Set;for(let e of n[0].tags??[])i.add(e.name+`__volar__`+q(e.text));for(let a=1;a<n.length;a++){let{displayParts:o,documentation:s,tags:c}=n[a];o?.length&&!t.has(q(o))&&(t.add(q(o)),e.displayParts??=[],e.displayParts.push({...o[0],text:`
|
|
2
|
+
|
|
3
|
+
`+o[0].text}),e.displayParts.push(...o.slice(1))),s?.length&&!r.has(q(s))&&(r.add(q(s)),e.documentation??=[],e.documentation.push({...s[0],text:`
|
|
4
|
+
|
|
5
|
+
`+s[0].text}),e.documentation.push(...s.slice(1)));for(let t of c??[])i.has(t.name+`__volar__`+q(t.text))||(i.add(t.name+`__volar__`+q(t.text)),e.tags??=[],e.tags.push(t))}return e}}else return t(o,r,...i)}}function C(e,t){return(n,r,i)=>{let o=n.replace(l,`/`),[u,d,f]=(0,c.getServiceScript)(e,o);if(!d?.associatedOnly)if(u){let n=(0,s.toGeneratedOffset)(e,u,f,r,a.isSignatureHelpEnabled);if(n!==void 0){let r=t(d.id,n,i);if(r){let t=(0,s.transformTextSpan)(f,e,u,r.applicableSpan,!0,a.isSignatureHelpEnabled)?.[1];if(t)return{...r,applicableSpan:t}}}}else return t(o,r,i)}}function w(e,t){return(n,r,i)=>K(e,n.replace(l,`/`),r,a.isHighlightEnabled,(e,n)=>t(e,n,i),function*(e){for(let t of e)for(let e of t.highlightSpans)yield[e.fileName??t.fileName,e.textSpan.start]}).flat().map(t=>({...t,highlightSpans:t.highlightSpans.map(n=>{let{textSpan:r}=(0,s.transformSpan)(e,n.fileName??t.fileName,n.textSpan,!1,a.isHighlightEnabled)??{};if(r)return{...n,contextSpan:(0,s.transformSpan)(e,n.fileName??t.fileName,n.contextSpan,!1,a.isHighlightEnabled)?.textSpan,textSpan:r}}).filter(e=>!!e)}))}function T(e,t){return(n,r,i,o,u,d)=>{let f=n.replace(l,`/`),[p,m,h]=(0,c.getServiceScript)(e,f);if(m?.associatedOnly)return[];if(p){if(typeof r==`number`){let n=(0,s.toGeneratedOffset)(e,p,h,r,a.isCodeActionsEnabled);if(n!==void 0)return t(m.id,n,i,o,u,d)}else for(let[n,c]of(0,s.toGeneratedRanges)(e,p,h,r.pos,r.end,a.isCodeActionsEnabled))return t(m.id,{pos:n,end:c},i,o,u,d);return[]}else return t(f,r,i,o,u,d)}}function E(e,t){return(n,r,i,o,u,d,f)=>{let p,m=n.replace(l,`/`),[h,g,_]=(0,c.getServiceScript)(e,m);if(!g?.associatedOnly){if(h)if(typeof i==`number`){let n=(0,s.toGeneratedOffset)(e,h,_,i,a.isCodeActionsEnabled);n!==void 0&&(p=t(g.id,r,n,o,u,d,f))}else for(let[n,c]of(0,s.toGeneratedRanges)(e,h,_,i.pos,i.end,a.isCodeActionsEnabled))p=t(g.id,r,{pos:n,end:c},o,u,d,f);else p=t(m,r,i,o,u,d,f);if(p)return p.edits=(0,s.transformFileTextChanges)(e,p.edits,!1,a.isCodeActionsEnabled),p}}}function D(e,t){return(...n)=>{let r=t(...n);return r.changes=(0,s.transformFileTextChanges)(e,r.changes,!1,a.isCodeActionsEnabled),r}}function O(e,t){return(n,r,i)=>{let o=n.replace(l,`/`),[u,d,f]=(0,c.getServiceScript)(e,o);if(d?.associatedOnly)return{canRename:!1,localizedErrorMessage:`Cannot rename`};if(u){let n;for(let[o]of(0,s.toGeneratedOffsets)(e,u,f,r,a.isRenameEnabled)){let r=t(d.id,o,i);if(r.canRename){let t=(0,s.transformTextSpan)(f,e,u,r.triggerSpan,!1,a.isRenameEnabled)?.[1];if(t)return r.triggerSpan=t,r}else n=r}return n||{canRename:!1,localizedErrorMessage:`Failed to get rename locations`}}else return t(o,r,i)}}function k(e,t){return(n,r,i,o,u,d)=>{let f=[],p=n.replace(l,`/`),[m,h,g]=(0,c.getServiceScript)(e,p);if(h?.associatedOnly)return[];if(m){let n=(0,s.toGeneratedRange)(e,m,g,r,i,a.isCodeActionsEnabled);n!==void 0&&(f=t(h.id,n[0],n[1],o,u,d))}else f=t(p,r,i,o,u,d);return f=f.map(t=>(t.changes=(0,s.transformFileTextChanges)(e,t.changes,!1,a.isCodeActionsEnabled),t)),f}}function A(e,t){return(n,r,i)=>{let o=n.replace(l,`/`),[u,d,f]=(0,c.getServiceScript)(e,o);if(d?.associatedOnly)return{spans:[],endOfLineState:0};if(u){let n=e.maps.get(u.code,d),o=(0,a.findOverlapCodeRange)(r.start,r.start+r.length,n,a.isSemanticTokensEnabled);if(!o)return{spans:[],endOfLineState:0};let c=(0,s.getMappingOffset)(e,u),l=o.start+c,p=o.end+c,m=t(d.id,{start:l,length:p-l},i),h=[];for(let t=0;t<m.spans.length;t+=3)for(let[n,r,i]of(0,s.toSourceRanges)(f,e,u,m.spans[t],m.spans[t]+m.spans[t+1],!1,a.isSemanticTokensEnabled)){h.push(r,i-r,m.spans[t+2]);break}return m.spans=h,m}else return t(o,r,i)}}function j(e,t,n){return r=>{let i=r.replace(l,`/`),[a,o,u]=(0,c.getServiceScript)(e,i);return o?.associatedOnly?[]:n(o?.id??i).map(n=>(0,s.transformDiagnostic)(e,n,t.getProgram(),!1)).filter(e=>!!e).filter(t=>!a||e.scripts.get(t.file.fileName)===u)}}function M(e,t,n){return r=>{let i=r.replace(l,`/`),[a,o,u]=(0,c.getServiceScript)(e,i);return o?.associatedOnly?[]:n(o?.id??i).map(n=>(0,s.transformDiagnostic)(e,n,t.getProgram(),!1)).filter(e=>!!e).filter(t=>!a||!t.file||e.scripts.get(t.file.fileName)===u)}}function N(e,t,n){return r=>{let i=r.replace(l,`/`),[a,o,u]=(0,c.getServiceScript)(e,i);return o?.associatedOnly?[]:n(o?.id??i).map(n=>(0,s.transformDiagnostic)(e,n,t.getProgram(),!1)).filter(e=>!!e).filter(t=>!a||!t.file||e.scripts.get(t.file.fileName)===u)}}function P(e,t){return(n,r)=>{let i=n.replace(l,`/`),c=K(e,i,r,a.isDefinitionEnabled,(e,n)=>t(e,n),function*(e){for(let t of e.definitions??[])yield[t.fileName,t.textSpan.start]}),u=c.map(t=>(0,s.transformSpan)(e,i,t.textSpan,!0,a.isDefinitionEnabled)?.textSpan).filter(e=>!!e)[0];if(!u)return;let d=c.map(t=>t.definitions?.map(t=>(0,s.transformDocumentSpan)(e,t,!0,a.isDefinitionEnabled,t.fileName!==i)).filter(e=>!!e)??[]).flat();return{textSpan:u,definitions:(0,o.dedupeDocumentSpans)(d)}}}function F(e,t){return(n,r)=>K(e,n.replace(l,`/`),r,a.isReferencesEnabled,(e,n)=>t(e,n),function*(e){for(let t of e)for(let e of t.references)yield[e.fileName,e.textSpan.start]}).flat().map(t=>({definition:(0,s.transformDocumentSpan)(e,t.definition,!0,a.isDefinitionEnabled,!0),references:t.references.map(t=>(0,s.transformDocumentSpan)(e,t,!0,a.isReferencesEnabled)).filter(e=>!!e)}))}function I(e,t){return(n,r)=>{let i=n.replace(l,`/`),c=K(e,i,r,a.isDefinitionEnabled,(e,n)=>t(e,n),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(t=>(0,s.transformDocumentSpan)(e,t,!0,a.isDefinitionEnabled,t.fileName!==i)).filter(e=>!!e);return(0,o.dedupeDocumentSpans)(c)}}function L(e,t){return(n,r)=>{let i=K(e,n.replace(l,`/`),r,a.isTypeDefinitionEnabled,(e,n)=>t(e,n),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(t=>(0,s.transformDocumentSpan)(e,t,!0,a.isTypeDefinitionEnabled)).filter(e=>!!e);return(0,o.dedupeDocumentSpans)(i)}}function R(e,t){return(n,r)=>{let i=K(e,n.replace(l,`/`),r,a.isImplementationEnabled,(e,n)=>t(e,n),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(t=>(0,s.transformDocumentSpan)(e,t,!0,a.isImplementationEnabled)).filter(e=>!!e);return(0,o.dedupeDocumentSpans)(i)}}function z(e,t){return(n,r,i,c,u)=>{let d=K(e,n.replace(l,`/`),r,a.isRenameEnabled,(e,n)=>t(e,n,i,c,u),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(t=>(0,s.transformDocumentSpan)(e,t,!1,a.isRenameEnabled)).filter(e=>!!e);return(0,o.dedupeDocumentSpans)(d)}}function B(e,t){return(n,r)=>{let i=K(e,n.replace(l,`/`),r,a.isReferencesEnabled,(e,n)=>t(e,n),function*(e){for(let t of e)yield[t.fileName,t.textSpan.start]}).flat().map(t=>(0,s.transformDocumentSpan)(e,t,!0,a.isReferencesEnabled)).filter(e=>!!e);return(0,o.dedupeDocumentSpans)(i)}}function V(e,t){return(n,r,i,o)=>{let u=n.replace(l,`/`),[d,f,p]=(0,c.getServiceScript)(e,u);if(!f?.associatedOnly)if(d){let n,c=[];for(let[l,u]of(0,s.toGeneratedOffsets)(e,d,p,r,a.isCompletionEnabled)){let r=typeof u.data.completion==`object`&&u.data.completion.isAdditional;if(!r&&n?.entries.length)continue;let m=t(f.id,l,i,o);if(m){typeof u.data.completion==`object`&&u.data.completion.onlyImport&&(m.entries=m.entries.filter(e=>!!e.sourceDisplay));for(let t of m.entries)t.replacementSpan=t.replacementSpan&&(0,s.transformTextSpan)(p,e,d,t.replacementSpan,!1,a.isCompletionEnabled)?.[1];m.optionalReplacementSpan=m.optionalReplacementSpan&&(0,s.transformTextSpan)(p,e,d,m.optionalReplacementSpan,!1,a.isCompletionEnabled)?.[1],r?c.push(m):n=m}}let l=c;if(n&&l.unshift(n),l.length)return{...l[0],entries:l.map(e=>e.entries).flat()}}else return t(u,r,i,o)}}function H(e,t){return(n,r,i,o,u,d,f)=>{let p,m=n.replace(l,`/`),[h,g,_]=(0,c.getServiceScript)(e,m);if(!g?.associatedOnly){if(h){let n=(0,s.toGeneratedOffset)(e,h,_,r,a.isCompletionEnabled);n!==void 0&&(p=t(g.id,n,i,o,u,d,f))}else return t(m,r,i,o,u,d,f);if(p?.codeActions)for(let t of p.codeActions)t.changes=(0,s.transformFileTextChanges)(e,t.changes,!1,a.isCompletionEnabled);return p}}}function U(e,t){return(n,r,i)=>{let o=n.replace(l,`/`),[u,d,f]=(0,c.getServiceScript)(e,o);if(d?.associatedOnly)return[];if(u){let n=e.maps.get(u.code,f),o=(0,a.findOverlapCodeRange)(r.start,r.start+r.length,n,a.isSemanticTokensEnabled);if(!o)return[];let c=(0,s.getMappingOffset)(e,u),l=o.start+c,p=o.end+c,m=t(d.id,{start:l,length:p-l},i),h=[];for(let t of m){let n=(0,s.toSourceOffset)(f,e,u,t.position,a.isInlayHintsEnabled);n!==void 0&&h.push({...t,position:n[1]})}return h}else return t(o,r,i)}}function W(e,t){return n=>{let r=t(n.replace(l,`/`)).map(t=>(0,s.transformDocumentSpan)(e,t,!0,a.isReferencesEnabled)).filter(e=>!!e);return(0,o.dedupeDocumentSpans)(r)}}function G(e,t){return(...n)=>{let r=t(...n).map(t=>(0,s.transformDocumentSpan)(e,t,!0,a.isReferencesEnabled)).filter(e=>!!e);return(0,o.dedupeDocumentSpans)(r)}}function K(e,t,n,r,i,a){let o=[],l=new Set,[u,d,f]=(0,c.getServiceScript)(e,t);if(u)for(let[t]of(0,s.toGeneratedOffsets)(e,u,f,n,r))p(d.id,t);else p(t,n);return o;function p(t,n){if(l.has(t+`:`+n))return;l.add(t+`:`+n);let r=i(t,n);if(r){o.push(r);for(let t of a(r)){l.add(t[0]+`:`+t[1]);let[n]=(0,c.getServiceScript)(e,t[0]);if(!n)continue;let r=e.linkedCodeMaps.get(n.code);if(!r)continue;let i=(0,s.getMappingOffset)(e,n);for(let e of r.getLinkedOffsets(t[1]-i))p(t[0],e+i)}}}}function q(e){return e?e.map(e=>e.text).join(``):``}})),a=e.r((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.resolveFileLanguageId=t;function t(e){switch(e.split(`.`).pop()){case`js`:return`javascript`;case`cjs`:return`javascript`;case`mjs`:return`javascript`;case`ts`:return`typescript`;case`cts`:return`typescript`;case`mts`:return`typescript`;case`jsx`:return`javascriptreact`;case`tsx`:return`typescriptreact`;case`json`:return`json`}}})),o=e.r((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createResolveModuleName=t;function t(e,t,n,r,i){let a=new Map,o={readFile:n.readFile.bind(n),directoryExists:n.directoryExists?.bind(n),realpath:n.realpath?.bind(n),getCurrentDirectory:n.getCurrentDirectory?.bind(n),getDirectories:n.getDirectories?.bind(n),useCaseSensitiveFileNames:typeof n.useCaseSensitiveFileNames==`function`?n.useCaseSensitiveFileNames.bind(n):n.useCaseSensitiveFileNames,fileExists(e){let t=n.fileExists(e);for(let{typescript:n}of r)if(n){if(!t)for(let{extension:t}of n.extraFileExtensions){if(!e.endsWith(`.d.${t}.ts`))continue;let n=e.slice(0,-`.d.${t}.ts`.length)+`.${t}`;if(s(n)){let t=i(n);if(t?.generated){let r=t.generated.languagePlugin.typescript?.getServiceScript(t.generated.root);if(r){let t=n+`.d.ts`;return(r.extension===`.js`||r.extension===`.jsx`)&&s(t)?a.set(e,{sourceFileName:t,extension:`.ts`}):a.set(e,{sourceFileName:n,extension:r.extension}),!0}}}}if(n.resolveHiddenExtensions&&e.endsWith(`.d.ts`))for(let{extension:t}of n.extraFileExtensions){let n=e.slice(0,-5)+`.${t}`;if(s(n)){let t=i(n);if(t?.generated){let r=t.generated.languagePlugin.typescript?.getServiceScript(t.generated.root);if(r)return a.set(e,{sourceFileName:n,extension:r.extension}),!0}}}}return t}};return(t,n,r,i,s,c)=>{let l=e.resolveModuleName(t,n,r,o,i,s,c);if(l.resolvedModule){let e=a.get(l.resolvedModule.resolvedFileName);e&&(l.resolvedModule.resolvedFileName=e.sourceFileName,l.resolvedModule.extension=e.extension)}return a.clear(),l};function s(e){return n.fileExists(e)?(t?.(e)??n.readFile(e)?.length??0)<4*1024*1024:!1}}})),s=e.r((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.decorateLanguageServiceHost=i,e.searchExternalFiles=a;let t=o(),r=n();function i(e,n,i){let a=n.plugins.map(e=>e.typescript?.extraFileExtensions.map(e=>`.`+e.extension)??[]).flat(),o=new Map,s=new Set,c=i.readDirectory?.bind(i),l=i.resolveModuleNameLiterals?.bind(i),u=i.resolveModuleNames?.bind(i),d=i.getScriptSnapshot.bind(i),f=i.getScriptKind?.bind(i);if(c&&(i.readDirectory=(e,t,n,r,i)=>{if(t)for(let e of a)t.includes(e)||(t=[...t,e]);return c(e,t,n,r,i)}),a.length){let o=(0,t.createResolveModuleName)(e,e.sys.getFileSize,i,n.plugins,e=>n.scripts.get(e)),s=i.getModuleResolutionCache?.();l&&(i.resolveModuleNameLiterals=(t,n,c,u,d,...f)=>{let p=(0,r.fixupImpliedNodeFormatForFile)(e,a,d,s?.getPackageJsonInfoCache(),i,u);try{return t.every(e=>!a.some(t=>e.text.endsWith(t)))?l(t,n,c,u,d,...f):t.map(t=>{let r=e.getModeForUsageLocation(d,t,u);return o(t.text,n,u,s,c,r)})}finally{p?.()}}),u&&(i.resolveModuleNames=(e,t,n,r,i,c)=>e.every(e=>!a.some(t=>e.endsWith(t)))?u(e,t,n,r,i,c):e.map(e=>o(e,t,i,s,r).resolvedModule))}i.getScriptSnapshot=e=>{let t=p(e,!0);return t?t.snapshot:d(e)},f&&(i.getScriptKind=e=>{let t=p(e,!1);return t?t.scriptKind:f(e)});function p(t,r){if(s.has(t))return;let a;try{a=i.getScriptVersion(t)}catch{s.add(t)}if(a===void 0)return;let c=o.get(t);if(!c||c[0]!==a){c=[a];let i=n.scripts.get(t,void 0,r);if(i?.generated){let t=i.generated.languagePlugin.typescript?.getServiceScript(i.generated.root);if(t)if(t.preventLeadingOffset)c[1]={extension:t.extension,scriptKind:t.scriptKind,snapshot:t.code.snapshot};else{let n=i.snapshot.getText(0,i.snapshot.getLength()).split(`
|
|
6
|
+
`).map(e=>` `.repeat(e.length)).join(`
|
|
7
|
+
`)+t.code.snapshot.getText(0,t.code.snapshot.getLength());c[1]={extension:t.extension,scriptKind:t.scriptKind,snapshot:e.ScriptSnapshot.fromString(n)}}i.generated.languagePlugin.typescript?.getExtraServiceScripts&&console.warn(`getExtraServiceScripts() is not available in TS plugin.`)}o.set(t,c)}return c[1]}}function a(e,t,n){if(t.projectKind!==e.server.ProjectKind.Configured)return[];let r=t.getProjectName(),i=e.readJsonConfigFile(r,t.readFile.bind(t)),a={useCaseSensitiveFileNames:t.useCaseSensitiveFileNames(),fileExists:t.fileExists.bind(t),readFile:t.readFile.bind(t),readDirectory:(...e)=>(e[1]=n,t.readDirectory(...e))};return e.parseJsonSourceFileConfigFileContent(i,a,t.getCurrentDirectory()).fileNames}})),c=e.r((t=>{Object.defineProperty(t,`__esModule`,{value:!0}),t.makeGetExternalFiles=t.decoratedLanguageServiceHosts=t.decoratedLanguageServices=t.projectExternalFileExtensions=t.externalFiles=void 0,t.makeGetScriptInfoWithLargeFileFailsafe=o,t.createLanguageCommon=c,t.isHasAlreadyDecoratedLanguageService=u;let n=e.n(),r=a(),i=s();t.externalFiles=new WeakMap,t.projectExternalFileExtensions=new WeakMap,t.decoratedLanguageServices=new WeakSet,t.decoratedLanguageServiceHosts=new WeakSet;function o(e){return t=>{try{return e.project.getScriptInfo(t)}catch{}}}function c(e,t,a,s){let c=a.languageServiceHost.getScriptSnapshot.bind(a.languageServiceHost),l=o(a),u=(0,n.createLanguage)([...e.languagePlugins,{getLanguageId:r.resolveFileLanguageId}],new n.FileMap(t.sys.useCaseSensitiveFileNames),(e,t,n)=>{let r;n?r=c(e):(r=l(e)?.getSnapshot(),r||=(a.project.getScriptVersion(e),l(e)?.getSnapshot())),r?u.scripts.set(e,r):u.scripts.delete(e)},e=>{a.session.change({file:e,line:1,offset:1,endLine:1,endOffset:1,insertString:``})});s(u),(0,i.decorateLanguageServiceHost)(t,u,a.languageServiceHost),e.setup?.(u)}t.makeGetExternalFiles=e=>(n,r=0)=>{if(r>=1||!t.externalFiles.has(n)){let r=t.externalFiles.get(n),a=t.projectExternalFileExtensions.get(n),o=a?.length?(0,i.searchExternalFiles)(e,n,a):[];t.externalFiles.set(n,o),r&&!l(r,o)&&n.refreshDiagnostics()}return t.externalFiles.get(n)};function l(e,t){if(e.length!==t.length)return!1;let n=new Set(e);for(let e of t)if(!n.has(e))return!1;return!0}function u(e){return t.decoratedLanguageServices.has(e.languageService)||t.decoratedLanguageServiceHosts.has(e.languageServiceHost)?!0:(t.decoratedLanguageServices.add(e.languageService),t.decoratedLanguageServiceHosts.add(e.languageServiceHost),!1)}})),l=(0,e.r((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.createLanguageServicePlugin=r;let t=i(),n=c();function r(e){return r=>{let{typescript:i}=r;return{create(r){if(!(0,n.isHasAlreadyDecoratedLanguageService)(r)){let a=e(i,r),o=a.languagePlugins.map(e=>e.typescript?.extraFileExtensions.map(e=>`.`+e.extension)??[]).flat();n.projectExternalFileExtensions.set(r.project,o);let{proxy:s,initialize:c}=(0,t.createProxyLanguageService)(r.languageService);r.languageService=s,(0,n.createLanguageCommon)(a,i,r,c)}return r.languageService},getExternalFiles:(0,n.makeGetExternalFiles)(i)}}}}))().createLanguageServicePlugin)(()=>({languagePlugins:[e.t()]}));module.exports=l;
|
|
8
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","names":["getRippleLanguagePlugin"],"sources":["../../../node_modules/.pnpm/@volar+typescript@2.4.28/node_modules/@volar/typescript/lib/node/dedupe.js","../../../node_modules/.pnpm/@volar+typescript@2.4.28/node_modules/@volar/typescript/lib/node/utils.js","../../../node_modules/.pnpm/@volar+typescript@2.4.28/node_modules/@volar/typescript/lib/node/transform.js","../../../node_modules/.pnpm/@volar+typescript@2.4.28/node_modules/@volar/typescript/lib/node/proxyLanguageService.js","../../../node_modules/.pnpm/@volar+typescript@2.4.28/node_modules/@volar/typescript/lib/common.js","../../../node_modules/.pnpm/@volar+typescript@2.4.28/node_modules/@volar/typescript/lib/resolveModuleName.js","../../../node_modules/.pnpm/@volar+typescript@2.4.28/node_modules/@volar/typescript/lib/node/decorateLanguageServiceHost.js","../../../node_modules/.pnpm/@volar+typescript@2.4.28/node_modules/@volar/typescript/lib/quickstart/languageServicePluginCommon.js","../../../node_modules/.pnpm/@volar+typescript@2.4.28/node_modules/@volar/typescript/lib/quickstart/createLanguageServicePlugin.js","../src/index.js"],"sourcesContent":["\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.dedupeDocumentSpans = dedupeDocumentSpans;\nfunction dedupeDocumentSpans(items) {\n return dedupe(items, item => [\n item.fileName,\n item.textSpan.start,\n item.textSpan.length,\n ].join(':'));\n}\nfunction dedupe(items, getKey) {\n const map = new Map();\n for (const item of items.reverse()) {\n map.set(getKey(item), item);\n }\n return [...map.values()];\n}\n//# sourceMappingURL=dedupe.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.getServiceScript = getServiceScript;\nexports.fixupImpliedNodeFormatForFile = fixupImpliedNodeFormatForFile;\nfunction getServiceScript(language, fileName) {\n const sourceScript = language.scripts.get(fileName);\n if (sourceScript?.targetIds.size) {\n for (const targetId of sourceScript.targetIds) {\n const targetScript = language.scripts.get(targetId);\n if (targetScript?.generated) {\n const serviceScript = targetScript.generated.languagePlugin.typescript?.getServiceScript(targetScript.generated.root);\n if (serviceScript) {\n return [serviceScript, targetScript, sourceScript];\n }\n }\n }\n }\n if (sourceScript?.associatedOnly) {\n return [undefined, sourceScript, sourceScript];\n }\n if (sourceScript?.generated) {\n const serviceScript = sourceScript.generated.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root);\n if (serviceScript) {\n return [serviceScript, sourceScript, sourceScript];\n }\n }\n return [undefined, undefined, undefined];\n}\nfunction fixupImpliedNodeFormatForFile(ts, pluginExtensions, sourceFile, packageJsonInfoCache, host, options) {\n if (sourceFile.impliedNodeFormat !== undefined || !pluginExtensions.some(ext => sourceFile.fileName.endsWith(ext))) {\n return;\n }\n // https://github.com/microsoft/TypeScript/blob/669c25c091ad4d32298d0f33b0e4e681d46de3ea/src/compiler/program.ts#L1354\n const validExts = ['.d.ts', '.ts', '.tsx', '.js', '.jsx'];\n if (validExts.some(ext => sourceFile.fileName.endsWith(ext))) {\n return;\n }\n const asTs = sourceFile.fileName + '.ts';\n // Use getImpliedNodeFormatForFileWorker instead of getImpliedNodeFormatForFile for runTsc() compatibility\n const impliedNodeFormat = ts.getImpliedNodeFormatForFileWorker?.(asTs, packageJsonInfoCache, host, options)?.impliedNodeFormat;\n if (impliedNodeFormat === undefined) {\n return;\n }\n sourceFile.impliedNodeFormat = impliedNodeFormat;\n return () => sourceFile.impliedNodeFormat = undefined;\n}\n//# sourceMappingURL=utils.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.transformCallHierarchyItem = transformCallHierarchyItem;\nexports.transformDiagnostic = transformDiagnostic;\nexports.fillSourceFileText = fillSourceFileText;\nexports.transformFileTextChanges = transformFileTextChanges;\nexports.transformDocumentSpan = transformDocumentSpan;\nexports.transformSpan = transformSpan;\nexports.transformTextChange = transformTextChange;\nexports.transformTextSpan = transformTextSpan;\nexports.toSourceOffset = toSourceOffset;\nexports.toSourceRanges = toSourceRanges;\nexports.toSourceOffsets = toSourceOffsets;\nexports.toGeneratedRange = toGeneratedRange;\nexports.toGeneratedRanges = toGeneratedRanges;\nexports.toGeneratedOffset = toGeneratedOffset;\nexports.toGeneratedOffsets = toGeneratedOffsets;\nexports.getMappingOffset = getMappingOffset;\nconst language_core_1 = require(\"@volar/language-core\");\nconst utils_1 = require(\"./utils\");\nconst transformedDiagnostics = new WeakMap();\nconst transformedSourceFile = new WeakSet();\n/**\n * This file contains a number of facilities for transforming `ts.Diagnostic`s returned\n * from the base TypeScript LanguageService, which reference locations in generated\n * TS code (e.g. the TypeScript codegen'd from the script portion of a .vue file) into locations\n * in the script portion of the .vue file.\n */\nfunction transformCallHierarchyItem(language, item, fallbackToAnyMatch, filter) {\n const span = transformSpan(language, item.file, item.span, fallbackToAnyMatch, filter);\n const selectionSpan = transformSpan(language, item.file, item.selectionSpan, fallbackToAnyMatch, filter);\n return {\n ...item,\n file: span?.fileName ?? item.file,\n span: span?.textSpan ?? { start: 0, length: 0 },\n selectionSpan: selectionSpan?.textSpan ?? { start: 0, length: 0 },\n };\n}\nfunction transformDiagnostic(language, diagnostic, program, isTsc) {\n if (!transformedDiagnostics.has(diagnostic)) {\n transformedDiagnostics.set(diagnostic, undefined);\n const { relatedInformation } = diagnostic;\n if (relatedInformation) {\n diagnostic.relatedInformation = relatedInformation\n .map(d => transformDiagnostic(language, d, program, isTsc))\n .filter(d => !!d);\n }\n if (diagnostic.file !== undefined\n && diagnostic.start !== undefined\n && diagnostic.length !== undefined) {\n const [serviceScript] = (0, utils_1.getServiceScript)(language, diagnostic.file.fileName);\n if (serviceScript) {\n const [sourceSpanFileName, sourceSpan] = transformTextSpan(undefined, language, serviceScript, {\n start: diagnostic.start,\n length: diagnostic.length,\n }, true, data => (0, language_core_1.shouldReportDiagnostics)(data, String(diagnostic.source), String(diagnostic.code))) ?? [];\n const actualDiagnosticFile = sourceSpanFileName\n ? diagnostic.file.fileName === sourceSpanFileName\n ? diagnostic.file\n : program?.getSourceFile(sourceSpanFileName)\n : undefined;\n if (sourceSpan && actualDiagnosticFile) {\n if (isTsc) {\n fillSourceFileText(language, diagnostic.file);\n }\n transformedDiagnostics.set(diagnostic, {\n ...diagnostic,\n file: actualDiagnosticFile,\n start: sourceSpan.start,\n length: sourceSpan.length,\n });\n }\n }\n else {\n transformedDiagnostics.set(diagnostic, diagnostic);\n }\n }\n else {\n transformedDiagnostics.set(diagnostic, diagnostic);\n }\n }\n return transformedDiagnostics.get(diagnostic);\n}\n// fix https://github.com/vuejs/language-tools/issues/4099 without `incremental`\nfunction fillSourceFileText(language, sourceFile) {\n if (transformedSourceFile.has(sourceFile)) {\n return;\n }\n transformedSourceFile.add(sourceFile);\n const [serviceScript] = (0, utils_1.getServiceScript)(language, sourceFile.fileName);\n if (serviceScript && !serviceScript.preventLeadingOffset) {\n const sourceScript = language.scripts.fromVirtualCode(serviceScript.code);\n sourceFile.text = sourceScript.snapshot.getText(0, sourceScript.snapshot.getLength())\n + sourceFile.text.substring(sourceScript.snapshot.getLength());\n }\n}\nfunction transformFileTextChanges(language, changes, fallbackToAnyMatch, filter) {\n const changesPerFile = {};\n const newFiles = new Set();\n for (const fileChanges of changes) {\n const [_, source] = (0, utils_1.getServiceScript)(language, fileChanges.fileName);\n if (source) {\n fileChanges.textChanges.forEach(c => {\n const { fileName, textSpan } = transformSpan(language, fileChanges.fileName, c.span, fallbackToAnyMatch, filter)\n ?? {};\n if (fileName && textSpan) {\n (changesPerFile[fileName] ?? (changesPerFile[fileName] = [])).push({ ...c, span: textSpan });\n }\n });\n }\n else {\n const list = changesPerFile[fileChanges.fileName] ?? (changesPerFile[fileChanges.fileName] = []);\n fileChanges.textChanges.forEach(c => {\n list.push(c);\n });\n if (fileChanges.isNewFile) {\n newFiles.add(fileChanges.fileName);\n }\n }\n }\n const result = [];\n for (const fileName in changesPerFile) {\n result.push({\n fileName,\n isNewFile: newFiles.has(fileName),\n textChanges: changesPerFile[fileName],\n });\n }\n return result;\n}\nfunction transformDocumentSpan(language, documentSpan, fallbackToAnyMatch, filter, shouldFallback) {\n let textSpan = transformSpan(language, documentSpan.fileName, documentSpan.textSpan, fallbackToAnyMatch, filter);\n if (!textSpan && shouldFallback) {\n textSpan = {\n fileName: documentSpan.fileName,\n textSpan: { start: 0, length: 0 },\n };\n }\n if (!textSpan) {\n return;\n }\n const contextSpan = transformSpan(language, documentSpan.fileName, documentSpan.contextSpan, fallbackToAnyMatch, filter);\n const originalTextSpan = transformSpan(language, documentSpan.originalFileName, documentSpan.originalTextSpan, fallbackToAnyMatch, filter);\n const originalContextSpan = transformSpan(language, documentSpan.originalFileName, documentSpan.originalContextSpan, fallbackToAnyMatch, filter);\n return {\n ...documentSpan,\n fileName: textSpan.fileName,\n textSpan: textSpan.textSpan,\n contextSpan: contextSpan?.textSpan,\n originalFileName: originalTextSpan?.fileName,\n originalTextSpan: originalTextSpan?.textSpan,\n originalContextSpan: originalContextSpan?.textSpan,\n };\n}\nfunction transformSpan(language, fileName, textSpan, fallbackToAnyMatch, filter) {\n if (!fileName || !textSpan) {\n return;\n }\n const [serviceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (serviceScript) {\n const [sourceSpanFileName, sourceSpan] = transformTextSpan(undefined, language, serviceScript, textSpan, fallbackToAnyMatch, filter) ?? [];\n if (sourceSpan && sourceSpanFileName) {\n return {\n fileName: sourceSpanFileName,\n textSpan: sourceSpan,\n };\n }\n }\n else {\n return {\n fileName,\n textSpan,\n };\n }\n}\nfunction transformTextChange(sourceScript, language, serviceScript, textChange, fallbackToAnyMatch, filter) {\n const [sourceSpanFileName, sourceSpan] = transformTextSpan(sourceScript, language, serviceScript, textChange.span, fallbackToAnyMatch, filter) ?? [];\n if (sourceSpan && sourceSpanFileName) {\n return [sourceSpanFileName, {\n newText: textChange.newText,\n span: sourceSpan,\n }];\n }\n return undefined;\n}\nfunction transformTextSpan(sourceScript, language, serviceScript, textSpan, fallbackToAnyMatch, filter) {\n const start = textSpan.start;\n const end = textSpan.start + textSpan.length;\n for (const [fileName, sourceStart, sourceEnd] of toSourceRanges(sourceScript, language, serviceScript, start, end, fallbackToAnyMatch, filter)) {\n return [fileName, {\n start: sourceStart,\n length: sourceEnd - sourceStart,\n }];\n }\n}\nfunction toSourceOffset(sourceScript, language, serviceScript, position, filter) {\n for (const source of toSourceOffsets(sourceScript, language, serviceScript, position, filter)) {\n return source;\n }\n}\nfunction* toSourceRanges(sourceScript, language, serviceScript, start, end, fallbackToAnyMatch, filter) {\n if (sourceScript) {\n const map = language.maps.get(serviceScript.code, sourceScript);\n for (const [sourceStart, sourceEnd] of map.toSourceRange(start - getMappingOffset(language, serviceScript), end - getMappingOffset(language, serviceScript), fallbackToAnyMatch, filter)) {\n yield [sourceScript.id, sourceStart, sourceEnd];\n }\n }\n else {\n for (const [sourceScript, map] of language.maps.forEach(serviceScript.code)) {\n for (const [sourceStart, sourceEnd] of map.toSourceRange(start - getMappingOffset(language, serviceScript), end - getMappingOffset(language, serviceScript), fallbackToAnyMatch, filter)) {\n yield [sourceScript.id, sourceStart, sourceEnd];\n }\n }\n }\n}\nfunction* toSourceOffsets(sourceScript, language, serviceScript, position, filter) {\n if (sourceScript) {\n const map = language.maps.get(serviceScript.code, sourceScript);\n for (const [sourceOffset, mapping] of map.toSourceLocation(position - getMappingOffset(language, serviceScript))) {\n if (filter(mapping.data)) {\n yield [sourceScript.id, sourceOffset];\n }\n }\n }\n else {\n for (const [sourceScript, map] of language.maps.forEach(serviceScript.code)) {\n for (const [sourceOffset, mapping] of map.toSourceLocation(position - getMappingOffset(language, serviceScript))) {\n if (filter(mapping.data)) {\n yield [sourceScript.id, sourceOffset];\n }\n }\n }\n }\n}\nfunction toGeneratedRange(language, serviceScript, sourceScript, start, end, filter) {\n for (const result of toGeneratedRanges(language, serviceScript, sourceScript, start, end, filter)) {\n return result;\n }\n}\nfunction* toGeneratedRanges(language, serviceScript, sourceScript, start, end, filter) {\n const map = language.maps.get(serviceScript.code, sourceScript);\n for (const [generateStart, generateEnd] of map.toGeneratedRange(start, end, true, filter)) {\n yield [\n generateStart + getMappingOffset(language, serviceScript),\n generateEnd + getMappingOffset(language, serviceScript),\n ];\n }\n}\nfunction toGeneratedOffset(language, serviceScript, sourceScript, position, filter) {\n for (const [generateOffset] of toGeneratedOffsets(language, serviceScript, sourceScript, position, filter)) {\n return generateOffset;\n }\n}\nfunction* toGeneratedOffsets(language, serviceScript, sourceScript, position, filter) {\n const map = language.maps.get(serviceScript.code, sourceScript);\n for (const [generateOffset, mapping] of map.toGeneratedLocation(position)) {\n if (filter(mapping.data)) {\n yield [generateOffset + getMappingOffset(language, serviceScript), mapping];\n }\n }\n}\nfunction getMappingOffset(language, serviceScript) {\n if (serviceScript.preventLeadingOffset) {\n return 0;\n }\n const sourceScript = language.scripts.fromVirtualCode(serviceScript.code);\n return sourceScript.snapshot.getLength();\n}\n//# sourceMappingURL=transform.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createProxyLanguageService = createProxyLanguageService;\nconst language_core_1 = require(\"@volar/language-core\");\nconst dedupe_1 = require(\"./dedupe\");\nconst transform_1 = require(\"./transform\");\nconst utils_1 = require(\"./utils\");\nconst windowsPathReg = /\\\\/g;\n/**\n * Creates and returns a Proxy around the base TypeScript LanguageService.\n *\n * This is used by the Volar TypeScript Plugin (which can be created by `createLanguageServicePlugin`\n * and `createAsyncLanguageServicePlugin`) as an adapter layer between the TypeScript Language Service\n * plugin API (see https://github.com/microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin)\n * and a Volar `Language`.\n *\n * Once the `initialize` method is called, the proxy will begin intercepting requests and\n * enhancing the default behavior of the LanguageService with enhancements based on\n * the Volar `Language` that has been passed to `initialize`.\n */\nfunction createProxyLanguageService(languageService) {\n const proxyCache = new Map();\n let getProxyMethod;\n return {\n initialize(language) {\n getProxyMethod = (target, p) => {\n switch (p) {\n case 'getNavigationTree':\n return getNavigationTree(language, target[p]);\n case 'getOutliningSpans':\n return getOutliningSpans(language, target[p]);\n case 'getFormattingEditsForDocument':\n return getFormattingEditsForDocument(language, target[p]);\n case 'getFormattingEditsForRange':\n return getFormattingEditsForRange(language, target[p]);\n case 'getFormattingEditsAfterKeystroke':\n return getFormattingEditsAfterKeystroke(language, target[p]);\n case 'getEditsForFileRename':\n return getEditsForFileRename(language, target[p]);\n case 'getLinkedEditingRangeAtPosition':\n return getLinkedEditingRangeAtPosition(language, target[p]);\n case 'prepareCallHierarchy':\n return prepareCallHierarchy(language, target[p]);\n case 'provideCallHierarchyIncomingCalls':\n return provideCallHierarchyIncomingCalls(language, target[p]);\n case 'provideCallHierarchyOutgoingCalls':\n return provideCallHierarchyOutgoingCalls(language, target[p]);\n case 'organizeImports':\n return organizeImports(language, target[p]);\n case 'getQuickInfoAtPosition':\n return getQuickInfoAtPosition(language, target[p]);\n case 'getSignatureHelpItems':\n return getSignatureHelpItems(language, target[p]);\n case 'getDocumentHighlights':\n return getDocumentHighlights(language, target[p]);\n case 'getApplicableRefactors':\n return getApplicableRefactors(language, target[p]);\n case 'getEditsForRefactor':\n return getEditsForRefactor(language, target[p]);\n case 'getCombinedCodeFix':\n return getCombinedCodeFix(language, target[p]);\n case 'getRenameInfo':\n return getRenameInfo(language, target[p]);\n case 'getCodeFixesAtPosition':\n return getCodeFixesAtPosition(language, target[p]);\n case 'getEncodedSemanticClassifications':\n return getEncodedSemanticClassifications(language, target[p]);\n case 'getSyntacticDiagnostics':\n return getSyntacticDiagnostics(language, languageService, target[p]);\n case 'getSemanticDiagnostics':\n return getSemanticDiagnostics(language, languageService, target[p]);\n case 'getSuggestionDiagnostics':\n return getSuggestionDiagnostics(language, languageService, target[p]);\n case 'getDefinitionAndBoundSpan':\n return getDefinitionAndBoundSpan(language, target[p]);\n case 'findReferences':\n return findReferences(language, target[p]);\n case 'getDefinitionAtPosition':\n return getDefinitionAtPosition(language, target[p]);\n case 'getTypeDefinitionAtPosition':\n return getTypeDefinitionAtPosition(language, target[p]);\n case 'getImplementationAtPosition':\n return getImplementationAtPosition(language, target[p]);\n case 'findRenameLocations':\n return findRenameLocations(language, target[p]);\n case 'getReferencesAtPosition':\n return getReferencesAtPosition(language, target[p]);\n case 'getCompletionsAtPosition':\n return getCompletionsAtPosition(language, target[p]);\n case 'getCompletionEntryDetails':\n return getCompletionEntryDetails(language, target[p]);\n case 'provideInlayHints':\n return provideInlayHints(language, target[p]);\n case 'getFileReferences':\n return getFileReferences(language, target[p]);\n case 'getNavigateToItems':\n return getNavigateToItems(language, target[p]);\n }\n };\n },\n proxy: new Proxy(languageService, {\n get(target, p, receiver) {\n if (getProxyMethod) {\n if (!proxyCache.has(p)) {\n proxyCache.set(p, getProxyMethod(target, p));\n }\n const proxyMethod = proxyCache.get(p);\n if (proxyMethod) {\n return proxyMethod;\n }\n }\n return Reflect.get(target, p, receiver);\n },\n set(target, p, value, receiver) {\n return Reflect.set(target, p, value, receiver);\n },\n }),\n };\n}\n// ignored methods\nfunction getNavigationTree(language, getNavigationTree) {\n return filePath => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (serviceScript || targetScript?.associatedOnly) {\n const tree = getNavigationTree(targetScript.id);\n tree.childItems = undefined;\n return tree;\n }\n else {\n return getNavigationTree(fileName);\n }\n };\n}\nfunction getOutliningSpans(language, getOutliningSpans) {\n return filePath => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (serviceScript || targetScript?.associatedOnly) {\n return [];\n }\n else {\n return getOutliningSpans(fileName);\n }\n };\n}\n// proxy methods\nfunction getFormattingEditsForDocument(language, getFormattingEditsForDocument) {\n return (filePath, options) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n if (serviceScript) {\n const map = language.maps.get(serviceScript.code, targetScript);\n if (!map.mappings.some(mapping => (0, language_core_1.isFormattingEnabled)(mapping.data))) {\n return [];\n }\n const edits = getFormattingEditsForDocument(targetScript.id, options);\n return edits\n .map(edit => (0, transform_1.transformTextChange)(sourceScript, language, serviceScript, edit, false, language_core_1.isFormattingEnabled)?.[1])\n .filter(edit => !!edit);\n }\n else {\n return getFormattingEditsForDocument(fileName, options);\n }\n };\n}\nfunction getFormattingEditsForRange(language, getFormattingEditsForRange) {\n return (filePath, start, end, options) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n if (serviceScript) {\n const generatedRange = (0, transform_1.toGeneratedRange)(language, serviceScript, sourceScript, start, end, language_core_1.isFormattingEnabled);\n if (generatedRange !== undefined) {\n const edits = getFormattingEditsForRange(targetScript.id, generatedRange[0], generatedRange[1], options);\n return edits\n .map(edit => (0, transform_1.transformTextChange)(sourceScript, language, serviceScript, edit, false, language_core_1.isFormattingEnabled)?.[1])\n .filter(edit => !!edit);\n }\n return [];\n }\n else {\n return getFormattingEditsForRange(fileName, start, end, options);\n }\n };\n}\nfunction getFormattingEditsAfterKeystroke(language, getFormattingEditsAfterKeystroke) {\n return (filePath, position, key, options) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n if (serviceScript) {\n const generatePosition = (0, transform_1.toGeneratedOffset)(language, serviceScript, sourceScript, position, language_core_1.isFormattingEnabled);\n if (generatePosition !== undefined) {\n const edits = getFormattingEditsAfterKeystroke(targetScript.id, generatePosition, key, options);\n return edits\n .map(edit => (0, transform_1.transformTextChange)(sourceScript, language, serviceScript, edit, false, language_core_1.isFormattingEnabled)?.[1])\n .filter(edit => !!edit);\n }\n return [];\n }\n else {\n return getFormattingEditsAfterKeystroke(fileName, position, key, options);\n }\n };\n}\nfunction getEditsForFileRename(language, getEditsForFileRename) {\n return (oldFilePath, newFilePath, formatOptions, preferences) => {\n const edits = getEditsForFileRename(oldFilePath, newFilePath, formatOptions, preferences);\n return (0, transform_1.transformFileTextChanges)(language, edits, false, language_core_1.isRenameEnabled);\n };\n}\nfunction getLinkedEditingRangeAtPosition(language, getLinkedEditingRangeAtPosition) {\n return (filePath, position) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return undefined;\n }\n if (serviceScript) {\n const generatePosition = (0, transform_1.toGeneratedOffset)(language, serviceScript, sourceScript, position, language_core_1.isLinkedEditingEnabled);\n if (generatePosition !== undefined) {\n const info = getLinkedEditingRangeAtPosition(targetScript.id, generatePosition);\n if (info) {\n return {\n ranges: info.ranges\n .map(span => (0, transform_1.transformTextSpan)(sourceScript, language, serviceScript, span, false, language_core_1.isLinkedEditingEnabled)?.[1])\n .filter(span => !!span),\n wordPattern: info.wordPattern,\n };\n }\n }\n }\n else {\n return getLinkedEditingRangeAtPosition(fileName, position);\n }\n };\n}\nfunction prepareCallHierarchy(language, prepareCallHierarchy) {\n return (filePath, position) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return undefined;\n }\n if (serviceScript) {\n const generatePosition = (0, transform_1.toGeneratedOffset)(language, serviceScript, sourceScript, position, language_core_1.isCallHierarchyEnabled);\n if (generatePosition !== undefined) {\n const item = prepareCallHierarchy(targetScript.id, generatePosition);\n if (Array.isArray(item)) {\n return item.map(item => (0, transform_1.transformCallHierarchyItem)(language, item, true, language_core_1.isCallHierarchyEnabled));\n }\n else if (item) {\n return (0, transform_1.transformCallHierarchyItem)(language, item, true, language_core_1.isCallHierarchyEnabled);\n }\n }\n }\n else {\n return prepareCallHierarchy(fileName, position);\n }\n };\n}\nfunction provideCallHierarchyIncomingCalls(language, provideCallHierarchyIncomingCalls) {\n return (filePath, position) => {\n let calls = [];\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n if (serviceScript) {\n const generatePosition = (0, transform_1.toGeneratedOffset)(language, serviceScript, sourceScript, position, language_core_1.isCallHierarchyEnabled);\n if (generatePosition !== undefined) {\n calls = provideCallHierarchyIncomingCalls(targetScript.id, generatePosition);\n }\n }\n else {\n calls = provideCallHierarchyIncomingCalls(fileName, position);\n }\n return calls\n .map(call => {\n const from = (0, transform_1.transformCallHierarchyItem)(language, call.from, true, language_core_1.isCallHierarchyEnabled);\n const fromSpans = call.fromSpans\n .map(span => (0, transform_1.transformSpan)(language, call.from.file, span, true, language_core_1.isCallHierarchyEnabled)?.textSpan)\n .filter(span => !!span);\n return {\n from,\n fromSpans,\n };\n });\n };\n}\nfunction provideCallHierarchyOutgoingCalls(language, provideCallHierarchyOutgoingCalls) {\n return (filePath, position) => {\n let calls = [];\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n if (serviceScript) {\n const generatePosition = (0, transform_1.toGeneratedOffset)(language, serviceScript, sourceScript, position, language_core_1.isCallHierarchyEnabled);\n if (generatePosition !== undefined) {\n calls = provideCallHierarchyOutgoingCalls(targetScript.id, generatePosition);\n }\n }\n else {\n calls = provideCallHierarchyOutgoingCalls(fileName, position);\n }\n return calls\n .map(call => {\n const to = (0, transform_1.transformCallHierarchyItem)(language, call.to, true, language_core_1.isCallHierarchyEnabled);\n const fromSpans = call.fromSpans\n .map(span => serviceScript\n ? (0, transform_1.transformTextSpan)(sourceScript, language, serviceScript, span, true, language_core_1.isCallHierarchyEnabled)?.[1]\n : span)\n .filter(span => !!span);\n return {\n to,\n fromSpans,\n };\n });\n };\n}\nfunction organizeImports(language, organizeImports) {\n return (args, formatOptions, preferences) => {\n const unresolved = organizeImports(args, formatOptions, preferences);\n return (0, transform_1.transformFileTextChanges)(language, unresolved, false, language_core_1.isCodeActionsEnabled);\n };\n}\nfunction getQuickInfoAtPosition(language, getQuickInfoAtPosition) {\n /**\n * Using `...args` for pass through rest params (including internal `verbosityLevel` param).\n * https://github.com/microsoft/TypeScript/blob/dd830711041b7b0cfd3da7937755996b1e1b1c7e/src/services/types.ts#L588\n */\n return (filePath, position, ...args) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return undefined;\n }\n if (serviceScript) {\n const infos = [];\n for (const [generatePosition] of (0, transform_1.toGeneratedOffsets)(language, serviceScript, sourceScript, position, language_core_1.isHoverEnabled)) {\n const info = getQuickInfoAtPosition(targetScript.id, generatePosition, ...args);\n if (info) {\n const textSpan = (0, transform_1.transformTextSpan)(sourceScript, language, serviceScript, info.textSpan, true, language_core_1.isHoverEnabled)?.[1];\n if (textSpan) {\n infos.push({\n ...info,\n textSpan: textSpan,\n });\n }\n }\n }\n if (infos.length === 1) {\n return infos[0];\n }\n else if (infos.length >= 2) {\n const combine = { ...infos[0] };\n combine.displayParts = combine.displayParts?.slice();\n combine.documentation = combine.documentation?.slice();\n combine.tags = combine.tags?.slice();\n const displayPartsStrs = new Set([displayPartsToString(infos[0].displayParts)]);\n const documentationStrs = new Set([displayPartsToString(infos[0].documentation)]);\n const tagsStrs = new Set();\n for (const tag of infos[0].tags ?? []) {\n tagsStrs.add(tag.name + '__volar__' + displayPartsToString(tag.text));\n }\n for (let i = 1; i < infos.length; i++) {\n const { displayParts, documentation, tags } = infos[i];\n if (displayParts?.length && !displayPartsStrs.has(displayPartsToString(displayParts))) {\n displayPartsStrs.add(displayPartsToString(displayParts));\n combine.displayParts ??= [];\n combine.displayParts.push({ ...displayParts[0], text: '\\n\\n' + displayParts[0].text });\n combine.displayParts.push(...displayParts.slice(1));\n }\n if (documentation?.length && !documentationStrs.has(displayPartsToString(documentation))) {\n documentationStrs.add(displayPartsToString(documentation));\n combine.documentation ??= [];\n combine.documentation.push({ ...documentation[0], text: '\\n\\n' + documentation[0].text });\n combine.documentation.push(...documentation.slice(1));\n }\n for (const tag of tags ?? []) {\n if (!tagsStrs.has(tag.name + '__volar__' + displayPartsToString(tag.text))) {\n tagsStrs.add(tag.name + '__volar__' + displayPartsToString(tag.text));\n combine.tags ??= [];\n combine.tags.push(tag);\n }\n }\n }\n return combine;\n }\n }\n else {\n return getQuickInfoAtPosition(fileName, position, ...args);\n }\n };\n}\nfunction getSignatureHelpItems(language, getSignatureHelpItems) {\n return (filePath, position, options) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return undefined;\n }\n if (serviceScript) {\n const generatePosition = (0, transform_1.toGeneratedOffset)(language, serviceScript, sourceScript, position, language_core_1.isSignatureHelpEnabled);\n if (generatePosition !== undefined) {\n const result = getSignatureHelpItems(targetScript.id, generatePosition, options);\n if (result) {\n const applicableSpan = (0, transform_1.transformTextSpan)(sourceScript, language, serviceScript, result.applicableSpan, true, language_core_1.isSignatureHelpEnabled)?.[1];\n if (applicableSpan) {\n return {\n ...result,\n applicableSpan,\n };\n }\n }\n }\n }\n else {\n return getSignatureHelpItems(fileName, position, options);\n }\n };\n}\nfunction getDocumentHighlights(language, getDocumentHighlights) {\n return (filePath, position, filesToSearch) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const unresolved = linkedCodeFeatureWorker(language, fileName, position, language_core_1.isHighlightEnabled, (fileName, position) => getDocumentHighlights(fileName, position, filesToSearch), function* (result) {\n for (const ref of result) {\n for (const reference of ref.highlightSpans) {\n yield [reference.fileName ?? ref.fileName, reference.textSpan.start];\n }\n }\n });\n const resolved = unresolved\n .flat()\n .map(highlights => {\n return {\n ...highlights,\n highlightSpans: highlights.highlightSpans\n .map(span => {\n const { textSpan } = (0, transform_1.transformSpan)(language, span.fileName ?? highlights.fileName, span.textSpan, false, language_core_1.isHighlightEnabled)\n ?? {};\n if (textSpan) {\n return {\n ...span,\n contextSpan: (0, transform_1.transformSpan)(language, span.fileName ?? highlights.fileName, span.contextSpan, false, language_core_1.isHighlightEnabled)?.textSpan,\n textSpan,\n };\n }\n })\n .filter(span => !!span),\n };\n });\n return resolved;\n };\n}\nfunction getApplicableRefactors(language, getApplicableRefactors) {\n return (filePath, positionOrRange, preferences, triggerReason, kind, includeInteractiveActions) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n if (serviceScript) {\n if (typeof positionOrRange === 'number') {\n const generatePosition = (0, transform_1.toGeneratedOffset)(language, serviceScript, sourceScript, positionOrRange, language_core_1.isCodeActionsEnabled);\n if (generatePosition !== undefined) {\n return getApplicableRefactors(targetScript.id, generatePosition, preferences, triggerReason, kind, includeInteractiveActions);\n }\n }\n else {\n for (const [generatedStart, generatedEnd] of (0, transform_1.toGeneratedRanges)(language, serviceScript, sourceScript, positionOrRange.pos, positionOrRange.end, language_core_1.isCodeActionsEnabled)) {\n return getApplicableRefactors(targetScript.id, { pos: generatedStart, end: generatedEnd }, preferences, triggerReason, kind, includeInteractiveActions);\n }\n }\n return [];\n }\n else {\n return getApplicableRefactors(fileName, positionOrRange, preferences, triggerReason, kind, includeInteractiveActions);\n }\n };\n}\nfunction getEditsForRefactor(language, getEditsForRefactor) {\n return (filePath, formatOptions, positionOrRange, refactorName, actionName, preferences, interactiveRefactorArguments) => {\n let edits;\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return undefined;\n }\n if (serviceScript) {\n if (typeof positionOrRange === 'number') {\n const generatePosition = (0, transform_1.toGeneratedOffset)(language, serviceScript, sourceScript, positionOrRange, language_core_1.isCodeActionsEnabled);\n if (generatePosition !== undefined) {\n edits = getEditsForRefactor(targetScript.id, formatOptions, generatePosition, refactorName, actionName, preferences, interactiveRefactorArguments);\n }\n }\n else {\n for (const [generatedStart, generatedEnd] of (0, transform_1.toGeneratedRanges)(language, serviceScript, sourceScript, positionOrRange.pos, positionOrRange.end, language_core_1.isCodeActionsEnabled)) {\n edits = getEditsForRefactor(targetScript.id, formatOptions, { pos: generatedStart, end: generatedEnd }, refactorName, actionName, preferences, interactiveRefactorArguments);\n }\n }\n }\n else {\n edits = getEditsForRefactor(fileName, formatOptions, positionOrRange, refactorName, actionName, preferences, interactiveRefactorArguments);\n }\n if (edits) {\n edits.edits = (0, transform_1.transformFileTextChanges)(language, edits.edits, false, language_core_1.isCodeActionsEnabled);\n return edits;\n }\n };\n}\nfunction getCombinedCodeFix(language, getCombinedCodeFix) {\n return (...args) => {\n const codeActions = getCombinedCodeFix(...args);\n codeActions.changes = (0, transform_1.transformFileTextChanges)(language, codeActions.changes, false, language_core_1.isCodeActionsEnabled);\n return codeActions;\n };\n}\nfunction getRenameInfo(language, getRenameInfo) {\n return (filePath, position, options) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return {\n canRename: false,\n localizedErrorMessage: 'Cannot rename',\n };\n }\n if (serviceScript) {\n let failed;\n for (const [generateOffset] of (0, transform_1.toGeneratedOffsets)(language, serviceScript, sourceScript, position, language_core_1.isRenameEnabled)) {\n const info = getRenameInfo(targetScript.id, generateOffset, options);\n if (info.canRename) {\n const span = (0, transform_1.transformTextSpan)(sourceScript, language, serviceScript, info.triggerSpan, false, language_core_1.isRenameEnabled)?.[1];\n if (span) {\n info.triggerSpan = span;\n return info;\n }\n }\n else {\n failed = info;\n }\n }\n if (failed) {\n return failed;\n }\n return {\n canRename: false,\n localizedErrorMessage: 'Failed to get rename locations',\n };\n }\n else {\n return getRenameInfo(fileName, position, options);\n }\n };\n}\nfunction getCodeFixesAtPosition(language, getCodeFixesAtPosition) {\n return (filePath, start, end, errorCodes, formatOptions, preferences) => {\n let fixes = [];\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n if (serviceScript) {\n const generateRange = (0, transform_1.toGeneratedRange)(language, serviceScript, sourceScript, start, end, language_core_1.isCodeActionsEnabled);\n if (generateRange !== undefined) {\n fixes = getCodeFixesAtPosition(targetScript.id, generateRange[0], generateRange[1], errorCodes, formatOptions, preferences);\n }\n }\n else {\n fixes = getCodeFixesAtPosition(fileName, start, end, errorCodes, formatOptions, preferences);\n }\n fixes = fixes.map(fix => {\n fix.changes = (0, transform_1.transformFileTextChanges)(language, fix.changes, false, language_core_1.isCodeActionsEnabled);\n return fix;\n });\n return fixes;\n };\n}\nfunction getEncodedSemanticClassifications(language, getEncodedSemanticClassifications) {\n return (filePath, span, format) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return {\n spans: [],\n endOfLineState: 0,\n };\n }\n if (serviceScript) {\n const map = language.maps.get(serviceScript.code, targetScript);\n const mapped = (0, language_core_1.findOverlapCodeRange)(span.start, span.start + span.length, map, language_core_1.isSemanticTokensEnabled);\n if (!mapped) {\n return {\n spans: [],\n endOfLineState: 0,\n };\n }\n const mappingOffset = (0, transform_1.getMappingOffset)(language, serviceScript);\n const start = mapped.start + mappingOffset;\n const end = mapped.end + mappingOffset;\n const result = getEncodedSemanticClassifications(targetScript.id, { start, length: end - start }, format);\n const spans = [];\n for (let i = 0; i < result.spans.length; i += 3) {\n for (const [_, sourceStart, sourceEnd] of (0, transform_1.toSourceRanges)(sourceScript, language, serviceScript, result.spans[i], result.spans[i] + result.spans[i + 1], false, language_core_1.isSemanticTokensEnabled)) {\n spans.push(sourceStart, sourceEnd - sourceStart, result.spans[i + 2]);\n break;\n }\n }\n result.spans = spans;\n return result;\n }\n else {\n return getEncodedSemanticClassifications(fileName, span, format);\n }\n };\n}\nfunction getSyntacticDiagnostics(language, languageService, getSyntacticDiagnostics) {\n return filePath => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n return getSyntacticDiagnostics(targetScript?.id ?? fileName)\n .map(d => (0, transform_1.transformDiagnostic)(language, d, languageService.getProgram(), false))\n .filter(d => !!d)\n .filter(d => !serviceScript || language.scripts.get(d.file.fileName) === sourceScript);\n };\n}\nfunction getSemanticDiagnostics(language, languageService, getSemanticDiagnostics) {\n return filePath => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n return getSemanticDiagnostics(targetScript?.id ?? fileName)\n .map(d => (0, transform_1.transformDiagnostic)(language, d, languageService.getProgram(), false))\n .filter(d => !!d)\n .filter(d => !serviceScript || !d.file || language.scripts.get(d.file.fileName) === sourceScript);\n };\n}\nfunction getSuggestionDiagnostics(language, languageService, getSuggestionDiagnostics) {\n return filePath => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n return getSuggestionDiagnostics(targetScript?.id ?? fileName)\n .map(d => (0, transform_1.transformDiagnostic)(language, d, languageService.getProgram(), false))\n .filter(d => !!d)\n .filter(d => !serviceScript || !d.file || language.scripts.get(d.file.fileName) === sourceScript);\n };\n}\nfunction getDefinitionAndBoundSpan(language, getDefinitionAndBoundSpan) {\n return (filePath, position) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const unresolved = linkedCodeFeatureWorker(language, fileName, position, language_core_1.isDefinitionEnabled, (fileName, position) => getDefinitionAndBoundSpan(fileName, position), function* (result) {\n for (const ref of result.definitions ?? []) {\n yield [ref.fileName, ref.textSpan.start];\n }\n });\n const textSpan = unresolved\n .map(s => (0, transform_1.transformSpan)(language, fileName, s.textSpan, true, language_core_1.isDefinitionEnabled)?.textSpan)\n .filter(s => !!s)[0];\n if (!textSpan) {\n return;\n }\n const definitions = unresolved\n .map(s => s.definitions\n ?.map(s => (0, transform_1.transformDocumentSpan)(language, s, true, language_core_1.isDefinitionEnabled, s.fileName !== fileName))\n .filter(s => !!s)\n ?? [])\n .flat();\n return {\n textSpan,\n definitions: (0, dedupe_1.dedupeDocumentSpans)(definitions),\n };\n };\n}\nfunction findReferences(language, findReferences) {\n return (filePath, position) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const unresolved = linkedCodeFeatureWorker(language, fileName, position, language_core_1.isReferencesEnabled, (fileName, position) => findReferences(fileName, position), function* (result) {\n for (const ref of result) {\n for (const reference of ref.references) {\n yield [reference.fileName, reference.textSpan.start];\n }\n }\n });\n const resolved = unresolved\n .flat()\n .map(symbol => {\n const definition = (0, transform_1.transformDocumentSpan)(language, symbol.definition, true, language_core_1.isDefinitionEnabled, true);\n return {\n definition,\n references: symbol.references\n .map(r => (0, transform_1.transformDocumentSpan)(language, r, true, language_core_1.isReferencesEnabled))\n .filter(r => !!r),\n };\n });\n return resolved;\n };\n}\nfunction getDefinitionAtPosition(language, getDefinitionAtPosition) {\n return (filePath, position) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const unresolved = linkedCodeFeatureWorker(language, fileName, position, language_core_1.isDefinitionEnabled, (fileName, position) => getDefinitionAtPosition(fileName, position), function* (result) {\n for (const ref of result) {\n yield [ref.fileName, ref.textSpan.start];\n }\n });\n const resolved = unresolved\n .flat()\n .map(s => (0, transform_1.transformDocumentSpan)(language, s, true, language_core_1.isDefinitionEnabled, s.fileName !== fileName))\n .filter(s => !!s);\n return (0, dedupe_1.dedupeDocumentSpans)(resolved);\n };\n}\nfunction getTypeDefinitionAtPosition(language, getTypeDefinitionAtPosition) {\n return (filePath, position) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const unresolved = linkedCodeFeatureWorker(language, fileName, position, language_core_1.isTypeDefinitionEnabled, (fileName, position) => getTypeDefinitionAtPosition(fileName, position), function* (result) {\n for (const ref of result) {\n yield [ref.fileName, ref.textSpan.start];\n }\n });\n const resolved = unresolved\n .flat()\n .map(s => (0, transform_1.transformDocumentSpan)(language, s, true, language_core_1.isTypeDefinitionEnabled))\n .filter(s => !!s);\n return (0, dedupe_1.dedupeDocumentSpans)(resolved);\n };\n}\nfunction getImplementationAtPosition(language, getImplementationAtPosition) {\n return (filePath, position) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const unresolved = linkedCodeFeatureWorker(language, fileName, position, language_core_1.isImplementationEnabled, (fileName, position) => getImplementationAtPosition(fileName, position), function* (result) {\n for (const ref of result) {\n yield [ref.fileName, ref.textSpan.start];\n }\n });\n const resolved = unresolved\n .flat()\n .map(s => (0, transform_1.transformDocumentSpan)(language, s, true, language_core_1.isImplementationEnabled))\n .filter(s => !!s);\n return (0, dedupe_1.dedupeDocumentSpans)(resolved);\n };\n}\nfunction findRenameLocations(language, findRenameLocations) {\n return (filePath, position, findInStrings, findInComments, preferences) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const unresolved = linkedCodeFeatureWorker(language, fileName, position, language_core_1.isRenameEnabled, (fileName, position) => findRenameLocations(fileName, position, findInStrings, findInComments, preferences), function* (result) {\n for (const ref of result) {\n yield [ref.fileName, ref.textSpan.start];\n }\n });\n const resolved = unresolved\n .flat()\n .map(s => (0, transform_1.transformDocumentSpan)(language, s, false, language_core_1.isRenameEnabled))\n .filter(s => !!s);\n return (0, dedupe_1.dedupeDocumentSpans)(resolved);\n };\n}\nfunction getReferencesAtPosition(language, getReferencesAtPosition) {\n return (filePath, position) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const unresolved = linkedCodeFeatureWorker(language, fileName, position, language_core_1.isReferencesEnabled, (fileName, position) => getReferencesAtPosition(fileName, position), function* (result) {\n for (const ref of result) {\n yield [ref.fileName, ref.textSpan.start];\n }\n });\n const resolved = unresolved\n .flat()\n .map(s => (0, transform_1.transformDocumentSpan)(language, s, true, language_core_1.isReferencesEnabled))\n .filter(s => !!s);\n return (0, dedupe_1.dedupeDocumentSpans)(resolved);\n };\n}\nfunction getCompletionsAtPosition(language, getCompletionsAtPosition) {\n return (filePath, position, options, formattingSettings) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return undefined;\n }\n if (serviceScript) {\n let mainResult;\n const additionalResults = [];\n for (const [generatedOffset, mapping] of (0, transform_1.toGeneratedOffsets)(language, serviceScript, sourceScript, position, language_core_1.isCompletionEnabled)) {\n const isAdditional = typeof mapping.data.completion === 'object' && mapping.data.completion.isAdditional;\n if (!isAdditional && mainResult?.entries.length) {\n continue;\n }\n const result = getCompletionsAtPosition(targetScript.id, generatedOffset, options, formattingSettings);\n if (!result) {\n continue;\n }\n if (typeof mapping.data.completion === 'object' && mapping.data.completion.onlyImport) {\n result.entries = result.entries.filter(entry => !!entry.sourceDisplay);\n }\n for (const entry of result.entries) {\n entry.replacementSpan = entry.replacementSpan\n && (0, transform_1.transformTextSpan)(sourceScript, language, serviceScript, entry.replacementSpan, false, language_core_1.isCompletionEnabled)?.[1];\n }\n result.optionalReplacementSpan = result.optionalReplacementSpan\n && (0, transform_1.transformTextSpan)(sourceScript, language, serviceScript, result.optionalReplacementSpan, false, language_core_1.isCompletionEnabled)?.[1];\n if (isAdditional) {\n additionalResults.push(result);\n }\n else {\n mainResult = result;\n }\n }\n const results = additionalResults;\n if (mainResult) {\n results.unshift(mainResult);\n }\n if (results.length) {\n return {\n ...results[0],\n entries: results\n .map(additionalResult => additionalResult.entries)\n .flat(),\n };\n }\n }\n else {\n return getCompletionsAtPosition(fileName, position, options, formattingSettings);\n }\n };\n}\nfunction getCompletionEntryDetails(language, getCompletionEntryDetails) {\n return (filePath, position, entryName, formatOptions, source, preferences, data) => {\n let details;\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return undefined;\n }\n if (serviceScript) {\n const generatePosition = (0, transform_1.toGeneratedOffset)(language, serviceScript, sourceScript, position, language_core_1.isCompletionEnabled);\n if (generatePosition !== undefined) {\n details = getCompletionEntryDetails(targetScript.id, generatePosition, entryName, formatOptions, source, preferences, data);\n }\n }\n else {\n return getCompletionEntryDetails(fileName, position, entryName, formatOptions, source, preferences, data);\n }\n if (details?.codeActions) {\n for (const codeAction of details.codeActions) {\n codeAction.changes = (0, transform_1.transformFileTextChanges)(language, codeAction.changes, false, language_core_1.isCompletionEnabled);\n }\n }\n return details;\n };\n}\nfunction provideInlayHints(language, provideInlayHints) {\n return (filePath, span, preferences) => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (targetScript?.associatedOnly) {\n return [];\n }\n if (serviceScript) {\n const map = language.maps.get(serviceScript.code, sourceScript);\n const mapped = (0, language_core_1.findOverlapCodeRange)(span.start, span.start + span.length, map, language_core_1.isSemanticTokensEnabled);\n if (!mapped) {\n return [];\n }\n const mappingOffset = (0, transform_1.getMappingOffset)(language, serviceScript);\n const start = mapped.start + mappingOffset;\n const end = mapped.end + mappingOffset;\n const result = provideInlayHints(targetScript.id, { start, length: end - start }, preferences);\n const hints = [];\n for (const hint of result) {\n const sourcePosition = (0, transform_1.toSourceOffset)(sourceScript, language, serviceScript, hint.position, language_core_1.isInlayHintsEnabled);\n if (sourcePosition !== undefined) {\n hints.push({\n ...hint,\n position: sourcePosition[1],\n });\n }\n }\n return hints;\n }\n else {\n return provideInlayHints(fileName, span, preferences);\n }\n };\n}\nfunction getFileReferences(language, getFileReferences) {\n return filePath => {\n const fileName = filePath.replace(windowsPathReg, '/');\n const unresolved = getFileReferences(fileName);\n const resolved = unresolved\n .map(s => (0, transform_1.transformDocumentSpan)(language, s, true, language_core_1.isReferencesEnabled))\n .filter(s => !!s);\n return (0, dedupe_1.dedupeDocumentSpans)(resolved);\n };\n}\nfunction getNavigateToItems(language, getNavigateToItems) {\n return (...args) => {\n const unresolved = getNavigateToItems(...args);\n const resolved = unresolved\n .map(s => (0, transform_1.transformDocumentSpan)(language, s, true, language_core_1.isReferencesEnabled))\n .filter(s => !!s);\n return (0, dedupe_1.dedupeDocumentSpans)(resolved);\n };\n}\nfunction linkedCodeFeatureWorker(language, fileName, position, filter, worker, getLinkedCodes) {\n const results = [];\n const processedFilePositions = new Set();\n const [serviceScript, targetScript, sourceScript] = (0, utils_1.getServiceScript)(language, fileName);\n if (serviceScript) {\n for (const [generatedOffset] of (0, transform_1.toGeneratedOffsets)(language, serviceScript, sourceScript, position, filter)) {\n process(targetScript.id, generatedOffset);\n }\n }\n else {\n process(fileName, position);\n }\n return results;\n function process(fileName, position) {\n if (processedFilePositions.has(fileName + ':' + position)) {\n return;\n }\n processedFilePositions.add(fileName + ':' + position);\n const result = worker(fileName, position);\n if (!result) {\n return;\n }\n results.push(result);\n for (const ref of getLinkedCodes(result)) {\n processedFilePositions.add(ref[0] + ':' + ref[1]);\n const [serviceScript] = (0, utils_1.getServiceScript)(language, ref[0]);\n if (!serviceScript) {\n continue;\n }\n const linkedCodeMap = language.linkedCodeMaps.get(serviceScript.code);\n if (!linkedCodeMap) {\n continue;\n }\n const mappingOffset = (0, transform_1.getMappingOffset)(language, serviceScript);\n for (const linkedCodeOffset of linkedCodeMap.getLinkedOffsets(ref[1] - mappingOffset)) {\n process(ref[0], linkedCodeOffset + mappingOffset);\n }\n }\n }\n}\nfunction displayPartsToString(displayParts) {\n if (displayParts) {\n return displayParts.map(displayPart => displayPart.text).join('');\n }\n return '';\n}\n//# sourceMappingURL=proxyLanguageService.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.resolveFileLanguageId = resolveFileLanguageId;\nfunction resolveFileLanguageId(path) {\n const ext = path.split('.').pop();\n switch (ext) {\n case 'js':\n return 'javascript';\n case 'cjs':\n return 'javascript';\n case 'mjs':\n return 'javascript';\n case 'ts':\n return 'typescript';\n case 'cts':\n return 'typescript';\n case 'mts':\n return 'typescript';\n case 'jsx':\n return 'javascriptreact';\n case 'tsx':\n return 'typescriptreact';\n case 'json':\n return 'json';\n }\n}\n//# sourceMappingURL=common.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createResolveModuleName = createResolveModuleName;\nfunction createResolveModuleName(ts, getFileSize, host, languagePlugins, getSourceScript) {\n const toSourceFileInfo = new Map();\n const moduleResolutionHost = {\n readFile: host.readFile.bind(host),\n directoryExists: host.directoryExists?.bind(host),\n realpath: host.realpath?.bind(host),\n getCurrentDirectory: host.getCurrentDirectory?.bind(host),\n getDirectories: host.getDirectories?.bind(host),\n useCaseSensitiveFileNames: typeof host.useCaseSensitiveFileNames === 'function'\n ? host.useCaseSensitiveFileNames.bind(host)\n : host.useCaseSensitiveFileNames,\n fileExists(fileName) {\n const result = host.fileExists(fileName);\n for (const { typescript } of languagePlugins) {\n if (!typescript) {\n continue;\n }\n if (!result) {\n for (const { extension } of typescript.extraFileExtensions) {\n if (!fileName.endsWith(`.d.${extension}.ts`)) {\n continue;\n }\n const sourceFileName = fileName.slice(0, -`.d.${extension}.ts`.length) + `.${extension}`;\n if (fileExists(sourceFileName)) {\n const sourceScript = getSourceScript(sourceFileName);\n if (sourceScript?.generated) {\n const serviceScript = sourceScript.generated.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root);\n if (serviceScript) {\n const dtsPath = sourceFileName + '.d.ts';\n if ((serviceScript.extension === '.js' || serviceScript.extension === '.jsx') && fileExists(dtsPath)) {\n toSourceFileInfo.set(fileName, {\n sourceFileName: dtsPath,\n extension: '.ts',\n });\n }\n else {\n toSourceFileInfo.set(fileName, {\n sourceFileName,\n extension: serviceScript.extension,\n });\n }\n return true;\n }\n }\n }\n }\n }\n if (typescript.resolveHiddenExtensions && fileName.endsWith(`.d.ts`)) {\n for (const { extension } of typescript.extraFileExtensions) {\n const sourceFileName = fileName.slice(0, -`.d.ts`.length) + `.${extension}`;\n if (fileExists(sourceFileName)) {\n const sourceScript = getSourceScript(sourceFileName);\n if (sourceScript?.generated) {\n const serviceScript = sourceScript.generated.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root);\n if (serviceScript) {\n toSourceFileInfo.set(fileName, {\n sourceFileName,\n extension: serviceScript.extension,\n });\n return true;\n }\n }\n }\n }\n }\n }\n return result;\n },\n };\n return (moduleName, containingFile, compilerOptions, cache, redirectedReference, resolutionMode) => {\n const result = ts.resolveModuleName(moduleName, containingFile, compilerOptions, moduleResolutionHost, cache, redirectedReference, resolutionMode);\n if (result.resolvedModule) {\n const sourceFileInfo = toSourceFileInfo.get(result.resolvedModule.resolvedFileName);\n if (sourceFileInfo) {\n result.resolvedModule.resolvedFileName = sourceFileInfo.sourceFileName;\n result.resolvedModule.extension = sourceFileInfo.extension;\n }\n }\n toSourceFileInfo.clear();\n return result;\n };\n // fix https://github.com/vuejs/language-tools/issues/3332\n function fileExists(fileName) {\n if (host.fileExists(fileName)) {\n const fileSize = getFileSize?.(fileName) ?? host.readFile(fileName)?.length ?? 0;\n return fileSize < 4 * 1024 * 1024;\n }\n return false;\n }\n}\n//# sourceMappingURL=resolveModuleName.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decorateLanguageServiceHost = decorateLanguageServiceHost;\nexports.searchExternalFiles = searchExternalFiles;\nconst resolveModuleName_1 = require(\"../resolveModuleName\");\nconst utils_1 = require(\"./utils\");\nfunction decorateLanguageServiceHost(ts, language, languageServiceHost) {\n const pluginExtensions = language.plugins\n .map(plugin => plugin.typescript?.extraFileExtensions.map(ext => '.' + ext.extension) ?? [])\n .flat();\n const scripts = new Map();\n const crashFileNames = new Set();\n const readDirectory = languageServiceHost.readDirectory?.bind(languageServiceHost);\n const resolveModuleNameLiterals = languageServiceHost.resolveModuleNameLiterals?.bind(languageServiceHost);\n const resolveModuleNames = languageServiceHost.resolveModuleNames?.bind(languageServiceHost);\n const getScriptSnapshot = languageServiceHost.getScriptSnapshot.bind(languageServiceHost);\n const getScriptKind = languageServiceHost.getScriptKind?.bind(languageServiceHost);\n // path completion\n if (readDirectory) {\n languageServiceHost.readDirectory = (path, extensions, exclude, include, depth) => {\n if (extensions) {\n for (const ext of pluginExtensions) {\n if (!extensions.includes(ext)) {\n extensions = [...extensions, ext];\n }\n }\n }\n return readDirectory(path, extensions, exclude, include, depth);\n };\n }\n if (pluginExtensions.length) {\n const resolveModuleName = (0, resolveModuleName_1.createResolveModuleName)(ts, ts.sys.getFileSize, languageServiceHost, language.plugins, fileName => language.scripts.get(fileName));\n const moduleResolutionCache = languageServiceHost.getModuleResolutionCache?.();\n if (resolveModuleNameLiterals) {\n languageServiceHost.resolveModuleNameLiterals = (moduleLiterals, containingFile, redirectedReference, options, containingSourceFile, ...rest) => {\n const disposeFixup = (0, utils_1.fixupImpliedNodeFormatForFile)(ts, pluginExtensions, containingSourceFile, moduleResolutionCache?.getPackageJsonInfoCache(), languageServiceHost, options);\n try {\n if (moduleLiterals.every(name => !pluginExtensions.some(ext => name.text.endsWith(ext)))) {\n return resolveModuleNameLiterals(moduleLiterals, containingFile, redirectedReference, options, containingSourceFile, ...rest);\n }\n return moduleLiterals.map(moduleLiteral => {\n const mode = ts.getModeForUsageLocation(containingSourceFile, moduleLiteral, options);\n return resolveModuleName(moduleLiteral.text, containingFile, options, moduleResolutionCache, redirectedReference, mode);\n });\n }\n finally {\n disposeFixup?.();\n }\n };\n }\n if (resolveModuleNames) {\n languageServiceHost.resolveModuleNames = (moduleNames, containingFile, reusedNames, redirectedReference, options, containingSourceFile) => {\n if (moduleNames.every(name => !pluginExtensions.some(ext => name.endsWith(ext)))) {\n return resolveModuleNames(moduleNames, containingFile, reusedNames, redirectedReference, options, containingSourceFile);\n }\n return moduleNames.map(moduleName => {\n return resolveModuleName(moduleName, containingFile, options, moduleResolutionCache, redirectedReference)\n .resolvedModule;\n });\n };\n }\n }\n languageServiceHost.getScriptSnapshot = fileName => {\n const virtualScript = updateVirtualScript(fileName, true);\n if (virtualScript) {\n return virtualScript.snapshot;\n }\n return getScriptSnapshot(fileName);\n };\n if (getScriptKind) {\n languageServiceHost.getScriptKind = fileName => {\n const virtualScript = updateVirtualScript(fileName, false);\n if (virtualScript) {\n return virtualScript.scriptKind;\n }\n return getScriptKind(fileName);\n };\n }\n function updateVirtualScript(fileName, shouldRegister) {\n if (crashFileNames.has(fileName)) {\n return;\n }\n let version;\n try {\n version = languageServiceHost.getScriptVersion(fileName);\n }\n catch {\n // fix https://github.com/vuejs/language-tools/issues/4278\n crashFileNames.add(fileName);\n }\n if (version === undefined) {\n // somehow getScriptVersion returns undefined\n return;\n }\n let script = scripts.get(fileName);\n if (!script || script[0] !== version) {\n script = [version];\n const sourceScript = language.scripts.get(fileName, undefined, shouldRegister);\n if (sourceScript?.generated) {\n const serviceScript = sourceScript.generated.languagePlugin.typescript?.getServiceScript(sourceScript.generated.root);\n if (serviceScript) {\n if (serviceScript.preventLeadingOffset) {\n script[1] = {\n extension: serviceScript.extension,\n scriptKind: serviceScript.scriptKind,\n snapshot: serviceScript.code.snapshot,\n };\n }\n else {\n const sourceContents = sourceScript.snapshot.getText(0, sourceScript.snapshot.getLength());\n const virtualContents = sourceContents.split('\\n').map(line => ' '.repeat(line.length)).join('\\n')\n + serviceScript.code.snapshot.getText(0, serviceScript.code.snapshot.getLength());\n script[1] = {\n extension: serviceScript.extension,\n scriptKind: serviceScript.scriptKind,\n snapshot: ts.ScriptSnapshot.fromString(virtualContents),\n };\n }\n }\n if (sourceScript.generated.languagePlugin.typescript?.getExtraServiceScripts) {\n console.warn('getExtraServiceScripts() is not available in TS plugin.');\n }\n }\n scripts.set(fileName, script);\n }\n return script[1];\n }\n}\nfunction searchExternalFiles(ts, project, exts) {\n if (project.projectKind !== ts.server.ProjectKind.Configured) {\n return [];\n }\n const configFile = project.getProjectName();\n const config = ts.readJsonConfigFile(configFile, project.readFile.bind(project));\n const parseHost = {\n useCaseSensitiveFileNames: project.useCaseSensitiveFileNames(),\n fileExists: project.fileExists.bind(project),\n readFile: project.readFile.bind(project),\n readDirectory: (...args) => {\n args[1] = exts;\n return project.readDirectory(...args);\n },\n };\n const parsed = ts.parseJsonSourceFileConfigFileContent(config, parseHost, project.getCurrentDirectory());\n return parsed.fileNames;\n}\n//# sourceMappingURL=decorateLanguageServiceHost.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.makeGetExternalFiles = exports.decoratedLanguageServiceHosts = exports.decoratedLanguageServices = exports.projectExternalFileExtensions = exports.externalFiles = void 0;\nexports.makeGetScriptInfoWithLargeFileFailsafe = makeGetScriptInfoWithLargeFileFailsafe;\nexports.createLanguageCommon = createLanguageCommon;\nexports.isHasAlreadyDecoratedLanguageService = isHasAlreadyDecoratedLanguageService;\nconst language_core_1 = require(\"@volar/language-core\");\nconst common_1 = require(\"../common\");\nconst decorateLanguageServiceHost_1 = require(\"../node/decorateLanguageServiceHost\");\nexports.externalFiles = new WeakMap();\nexports.projectExternalFileExtensions = new WeakMap();\nexports.decoratedLanguageServices = new WeakSet();\nexports.decoratedLanguageServiceHosts = new WeakSet();\n/**\n * Wrap `getScriptInfo` to handle large files that may crash the language service.\n *\n * Introduced to fix issues with converting `relatedInformation` (in Diagnostics)\n * when working with large files.\n *\n * https://github.com/volarjs/volar.js/commit/e242709a91e9d2919dc4fa59278dd266fd11e7a3\n */\nfunction makeGetScriptInfoWithLargeFileFailsafe(info) {\n return (fileName) => {\n // getSnapshot could be crashed if the file is too large\n try {\n return info.project.getScriptInfo(fileName);\n }\n catch { }\n };\n}\nfunction createLanguageCommon(createPluginResult, ts, info, initializeProxiedLanguageService) {\n const getScriptSnapshot = info.languageServiceHost.getScriptSnapshot.bind(info.languageServiceHost);\n const getScriptInfo = makeGetScriptInfoWithLargeFileFailsafe(info);\n const language = (0, language_core_1.createLanguage)([\n ...createPluginResult.languagePlugins,\n { getLanguageId: common_1.resolveFileLanguageId },\n ], new language_core_1.FileMap(ts.sys.useCaseSensitiveFileNames), (fileName, _, shouldRegister) => {\n let snapshot;\n if (shouldRegister) {\n // We need to trigger registration of the script file with the project, see #250\n snapshot = getScriptSnapshot(fileName);\n }\n else {\n snapshot = getScriptInfo(fileName)?.getSnapshot();\n if (!snapshot) {\n // trigger projectService.getOrCreateScriptInfoNotOpenedByClient\n info.project.getScriptVersion(fileName);\n snapshot = getScriptInfo(fileName)?.getSnapshot();\n }\n }\n if (snapshot) {\n language.scripts.set(fileName, snapshot);\n }\n else {\n language.scripts.delete(fileName);\n }\n }, targetFileName => {\n // https://github.com/JetBrains/intellij-plugins/blob/6435723ad88fa296b41144162ebe3b8513f4949b/Angular/src-js/angular-service/src/ngCommands.ts#L88\n info.session.change({\n file: targetFileName,\n line: 1,\n offset: 1,\n endLine: 1,\n endOffset: 1,\n insertString: '',\n });\n });\n initializeProxiedLanguageService(language);\n (0, decorateLanguageServiceHost_1.decorateLanguageServiceHost)(ts, language, info.languageServiceHost);\n createPluginResult.setup?.(language);\n}\nconst makeGetExternalFiles = (ts) => (project, updateLevel = 0) => {\n if (updateLevel >= 1\n || !exports.externalFiles.has(project)) {\n const oldFiles = exports.externalFiles.get(project);\n const extensions = exports.projectExternalFileExtensions.get(project);\n const newFiles = extensions?.length ? (0, decorateLanguageServiceHost_1.searchExternalFiles)(ts, project, extensions) : [];\n exports.externalFiles.set(project, newFiles);\n if (oldFiles && !arrayItemsEqual(oldFiles, newFiles)) {\n project.refreshDiagnostics();\n }\n }\n return exports.externalFiles.get(project);\n};\nexports.makeGetExternalFiles = makeGetExternalFiles;\nfunction arrayItemsEqual(a, b) {\n if (a.length !== b.length) {\n return false;\n }\n const set = new Set(a);\n for (const file of b) {\n if (!set.has(file)) {\n return false;\n }\n }\n return true;\n}\nfunction isHasAlreadyDecoratedLanguageService(info) {\n if (exports.decoratedLanguageServices.has(info.languageService)\n || exports.decoratedLanguageServiceHosts.has(info.languageServiceHost)) {\n return true;\n }\n else {\n exports.decoratedLanguageServices.add(info.languageService);\n exports.decoratedLanguageServiceHosts.add(info.languageServiceHost);\n return false;\n }\n}\n//# sourceMappingURL=languageServicePluginCommon.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.createLanguageServicePlugin = createLanguageServicePlugin;\nconst proxyLanguageService_1 = require(\"../node/proxyLanguageService\");\nconst languageServicePluginCommon_1 = require(\"./languageServicePluginCommon\");\n/**\n * Creates and returns a TS Service Plugin using Volar primitives.\n *\n * See https://github.com/microsoft/TypeScript/wiki/Writing-a-Language-Service-Plugin for\n * more information.\n */\nfunction createLanguageServicePlugin(createPluginCallback) {\n return modules => {\n const { typescript: ts } = modules;\n const pluginModule = {\n create(info) {\n if (!(0, languageServicePluginCommon_1.isHasAlreadyDecoratedLanguageService)(info)) {\n const createPluginResult = createPluginCallback(ts, info);\n const extensions = createPluginResult.languagePlugins\n .map(plugin => plugin.typescript?.extraFileExtensions.map(ext => '.' + ext.extension) ?? [])\n .flat();\n // TODO: this logic does not seem to appear in the async variant\n // (createAsyncLanguageServicePlugin)... bug?\n languageServicePluginCommon_1.projectExternalFileExtensions.set(info.project, extensions);\n const { proxy, initialize } = (0, proxyLanguageService_1.createProxyLanguageService)(info.languageService);\n info.languageService = proxy;\n (0, languageServicePluginCommon_1.createLanguageCommon)(createPluginResult, ts, info, initialize);\n }\n return info.languageService;\n },\n getExternalFiles: (0, languageServicePluginCommon_1.makeGetExternalFiles)(ts),\n };\n return pluginModule;\n };\n}\n//# sourceMappingURL=createLanguageServicePlugin.js.map","import { createLanguageServicePlugin } from '@volar/typescript/lib/quickstart/createLanguageServicePlugin.js';\nimport { getRippleLanguagePlugin } from './language.js';\n\n// This TypeScript plugin is loaded by TypeScript's tsserver when configured in tsconfig.json.\n// Note: When using the Ripple VS Code extension, the language server handles everything,\n// so this plugin is redundant but harmless (both instances work independently).\n// This plugin is useful for non-VS Code editors or when not using the language server.\nexport default createLanguageServicePlugin(() => ({\n\tlanguagePlugins: [getRippleLanguagePlugin()],\n}));\n"],"x_google_ignoreList":[0,1,2,3,4,5,6,7,8],"mappings":"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"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),s=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},c=(n,r,a)=>(a=n==null?{}:e(i(n)),s(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));require(`typescript`);let l=require(`fs`);l=c(l);let u=require(`path`);u=c(u);let d=require(`module`),f=require(`url`);var p=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.binarySearch=t;function t(e,t){let n=0,r=e.length-1,i;for(;n<=r;){let a=Math.floor((n+r)/2),o=e[a];if(o<t)n=a+1;else if(o>t)r=a-1;else{n=a,r=a,i=a;break}}return{low:Math.max(Math.min(n,r,e.length-1),0),high:Math.min(Math.max(n,r,0),e.length-1),match:i}}})),m=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.translateOffset=n;let t=!1;function n(e,n,r,i,a=i,o=!1){if(!n.every((e,t)=>t===0||n[t-1]<=e)){for(let t=0;t<n.length;t++){let s=n[t],c=i[t];if(e>=s&&e<=s+c){let n=a[t],i=r[t],l,u=e-s;return l=o&&n>c&&u===c?n:Math.min(u,n),i+l}}t||(t=!0,console.warn(`fromOffsets should be sorted in ascending order`))}let s=0,c=n.length-1;for(;s<=c;){let t=Math.floor((s+c)/2),l=n[t],u=i[t];if(e>=l&&e<=l+u){let n=a[t],i=r[t],s,c=e-l;return s=o&&n>u&&c===u?n:Math.min(c,n),i+s}else e<l?c=t-1:s=t+1}}})),h=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.SourceMap=void 0;let t=p(),n=m();e.SourceMap=class{constructor(e){this.mappings=e}toSourceRange(e,t,n,r){return this.findMatchingStartEnd(e,t,n,`generatedOffsets`,r)}toGeneratedRange(e,t,n,r){return this.findMatchingStartEnd(e,t,n,`sourceOffsets`,r)}toSourceLocation(e,t){return this.findMatchingOffsets(e,`generatedOffsets`,t)}toGeneratedLocation(e,t){return this.findMatchingOffsets(e,`sourceOffsets`,t)}*findMatchingOffsets(e,i,a,o=!1){let s=this.getMemoBasedOnRange(i);if(s.offsets.length===0)return;let{low:c,high:l}=(0,t.binarySearch)(s.offsets,e),u=new Set,d=i===`sourceOffsets`?`generatedOffsets`:`sourceOffsets`;for(let t=c;t<=l;t++)for(let c of s.mappings[t]){if(u.has(c)||(u.add(c),a&&!a(c.data)))continue;let t=(0,n.translateOffset)(e,c[i],c[d],r(c,i),r(c,d),o);t!==void 0&&(yield[t,c])}}*findMatchingStartEnd(e,t,i,a,o){let s=a===`sourceOffsets`?`generatedOffsets`:`sourceOffsets`,c=s===`sourceOffsets`,l=[],u=!1;for(let[i,d]of this.findMatchingOffsets(e,a)){if(o&&!o(d.data))continue;l.push([i,d]);let e=(0,n.translateOffset)(t,d[a],d[s],r(d,a),r(d,s),c);e!==void 0&&(u=!0,yield[i,e,d,d])}if(!u&&i){for(let[e,n]of l)for(let[r,i]of this.findMatchingOffsets(t,a,void 0,c))if(!(o&&!o(i.data)||r<e)){yield[e,r,n,i];break}}}getMemoBasedOnRange(e){return e===`sourceOffsets`?this.sourceCodeOffsetsMemo??=this.createMemo(`sourceOffsets`):this.generatedCodeOffsetsMemo??=this.createMemo(`generatedOffsets`)}createMemo(e){let n=new Set;for(let t of this.mappings)for(let i=0;i<t[e].length;i++)n.add(t[e][i]),n.add(t[e][i]+r(t,e)[i]);let i=[...n].sort((e,t)=>e-t),a=i.map(()=>new Set);for(let n of this.mappings)for(let o=0;o<n[e].length;o++){let s=(0,t.binarySearch)(i,n[e][o]).match,c=(0,t.binarySearch)(i,n[e][o]+r(n,e)[o]).match;for(let e=s;e<=c;e++)a[e].add(n)}return{offsets:i,mappings:a}}};function r(e,t){return t===`sourceOffsets`?e.lengths:e.generatedLengths??e.lengths}})),g=o((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,`__esModule`,{value:!0}),n(h(),e),n(m(),e)})),_=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.isHoverEnabled=t,e.isInlayHintsEnabled=n,e.isCodeLensEnabled=r,e.isMonikerEnabled=i,e.isInlineValueEnabled=a,e.isSemanticTokensEnabled=o,e.isCallHierarchyEnabled=s,e.isTypeHierarchyEnabled=c,e.isRenameEnabled=l,e.isDefinitionEnabled=u,e.isTypeDefinitionEnabled=d,e.isReferencesEnabled=f,e.isImplementationEnabled=p,e.isHighlightEnabled=m,e.isSymbolsEnabled=h,e.isFoldingRangesEnabled=g,e.isSelectionRangesEnabled=_,e.isLinkedEditingEnabled=v,e.isColorEnabled=y,e.isDocumentLinkEnabled=b,e.isDiagnosticsEnabled=x,e.isCodeActionsEnabled=S,e.isFormattingEnabled=C,e.isCompletionEnabled=w,e.isAutoInsertEnabled=T,e.isSignatureHelpEnabled=E,e.shouldReportDiagnostics=D,e.resolveRenameNewName=O,e.resolveRenameEditText=k,e.findOverlapCodeRange=A;function t(e){return!!e.semantic}function n(e){return!!e.semantic}function r(e){return!!e.semantic}function i(e){return!!e.semantic}function a(e){return!!e.semantic}function o(e){return typeof e.semantic==`object`?e.semantic.shouldHighlight?.()??!0:!!e.semantic}function s(e){return!!e.navigation}function c(e){return!!e.navigation}function l(e){return typeof e.navigation==`object`?e.navigation.shouldRename?.()??!0:!!e.navigation}function u(e){return!!e.navigation}function d(e){return!!e.navigation}function f(e){return!!e.navigation}function p(e){return!!e.navigation}function m(e){return typeof e.navigation==`object`?e.navigation.shouldHighlight?.()??!0:!!e.navigation}function h(e){return!!e.structure}function g(e){return!!e.structure}function _(e){return!!e.structure}function v(e){return!!e.structure}function y(e){return!!e.structure}function b(e){return!!e.structure}function x(e){return!!e.verification}function S(e){return!!e.verification}function C(e){return!!e.format}function w(e){return!!e.completion}function T(e){return!!e.completion}function E(e){return!!e.completion}function D(e,t,n){return typeof e.verification==`object`?e.verification.shouldReport?.(t,n)??!0:!!e.verification}function O(e,t){return typeof t.navigation==`object`?t.navigation.resolveRenameNewName?.(e)??e:e}function k(e,t){return typeof t.navigation==`object`?t.navigation.resolveRenameEditText?.(e)??e:e}function A(e,t,n,r){let i,a;for(let[t,a]of n.toGeneratedLocation(e))if(r(a.data)){i=t;break}for(let[e,i]of n.toGeneratedLocation(t))if(r(i.data)){a=e;break}if(i===void 0||a===void 0){for(let o of n.mappings)if(r(o.data)){let n=o.sourceOffsets[0],r=j(e,t,n,o.sourceOffsets[o.sourceOffsets.length-1]+o.lengths[o.lengths.length-1]);if(r){let e=r.start-n+o.generatedOffsets[0],t=(o.generatedLengths??o.lengths)[o.generatedOffsets.length-1],s=Math.min(r.end-o.sourceOffsets[o.sourceOffsets.length-1],t),c=o.generatedOffsets[o.generatedOffsets.length-1]+s;i=i===void 0?e:Math.min(i,e),a=a===void 0?c:Math.max(a,c)}}}if(i!==void 0&&a!==void 0)return{start:i,end:a}}function j(e,t,n,r){let i=Math.max(e,n),a=Math.min(t,r);if(!(i>a))return{start:i,end:a}}})),v=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.LinkedCodeMap=void 0;let t=g();e.LinkedCodeMap=class extends t.SourceMap{*getLinkedOffsets(e){for(let t of this.toGeneratedLocation(e))yield t[0];for(let t of this.toSourceLocation(e))yield t[0]}}})),y=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0})})),b=o((e=>{Object.defineProperty(e,`__esModule`,{value:!0}),e.FileMap=void 0,e.FileMap=class extends Map{constructor(e){super(),this.caseSensitive=e,this.originalFileNames=new Map}keys(){return this.originalFileNames.values()}get(e){return super.get(this.normalizeId(e))}has(e){return super.has(this.normalizeId(e))}set(e,t){return this.originalFileNames.set(this.normalizeId(e),e),super.set(this.normalizeId(e),t)}delete(e){return this.originalFileNames.delete(this.normalizeId(e)),super.delete(this.normalizeId(e))}clear(){return this.originalFileNames.clear(),super.clear()}normalizeId(e){return this.caseSensitive?e:e.toLowerCase()}}})),x=o((e=>{var t=e&&e.__createBinding||(Object.create?(function(e,t,n,r){r===void 0&&(r=n);var i=Object.getOwnPropertyDescriptor(t,n);(!i||(`get`in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[n]}}),Object.defineProperty(e,r,i)}):(function(e,t,n,r){r===void 0&&(r=n),e[r]=t[n]})),n=e&&e.__exportStar||function(e,n){for(var r in e)r!==`default`&&!Object.prototype.hasOwnProperty.call(n,r)&&t(n,e,r)};Object.defineProperty(e,`__esModule`,{value:!0}),e.defaultMapperFactory=e.SourceMap=void 0,e.createLanguage=o,e.forEachEmbeddedCode=s;var r=g();Object.defineProperty(e,`SourceMap`,{enumerable:!0,get:function(){return r.SourceMap}}),n(_(),e),n(v(),e),n(y(),e),n(b(),e);let i=g(),a=v();e.defaultMapperFactory=e=>new i.SourceMap(e);function o(t,n,r,i){let o=new WeakMap,c=new WeakMap,l=new WeakMap,u={mapperFactory:e.defaultMapperFactory,plugins:t,scripts:{fromVirtualCode(e){return o.get(e)},get(e,t=!0,i=!1){r(e,t,i);let a=n.get(e);return a?.isAssociationDirty&&this.set(e,a.snapshot,a.languageId),n.get(e)},set(e,r,i,a=t){if(!i){for(let n of t)if(i=n.getLanguageId?.(e),i)break}if(!i){console.warn(`languageId not found for ${String(e)}`);return}let c=!1;for(let n of t)if(n.isAssociatedFileOnly?.(e,i)){c=!0;break}if(n.has(e)){let t=n.get(e);if(t.languageId!==i||t.associatedOnly!==c)return this.delete(e),d(t),this.set(e,r,i);if(c)t.snapshot!==r&&(t.snapshot=r,d(t));else if(t.isAssociationDirty||t.snapshot!==r){t.snapshot!==r&&(t.snapshot=r,d(t));let n=f(t);if(t.generated){let{updateVirtualCode:a,createVirtualCode:c}=t.generated.languagePlugin,l=a?a(e,t.generated.root,r,n):c?.(e,i,r,n);if(l){t.generated.root=l,t.generated.embeddedCodes.clear();for(let e of s(t.generated.root))o.set(e,t),t.generated.embeddedCodes.set(e.id,e);return t}else{this.delete(e);return}}}else return t}else{let t={id:e,languageId:i,snapshot:r,associatedIds:new Set,targetIds:new Set,associatedOnly:c};if(n.set(e,t),c)return t;for(let n of a){let a=n.createVirtualCode?.(e,i,r,f(t));if(a){t.generated={root:a,languagePlugin:n,embeddedCodes:new Map};for(let e of s(a))o.set(e,t),t.generated.embeddedCodes.set(e.id,e);break}}return t}},delete(e){let t=n.get(e);t&&(t.generated?.languagePlugin.disposeVirtualCode?.(e,t.generated.root),n.delete(e),d(t))}},maps:{get(e,t){let n=c.get(e.snapshot);if(n||c.set(e.snapshot,n=new WeakMap),!n.has(t.snapshot)){let r=e.associatedScriptMappings?.get(t.id)??e.mappings;n.set(t.snapshot,u.mapperFactory(r))}return n.get(t.snapshot)},*forEach(e){let t=o.get(e);if(yield[t,this.get(e,t)],e.associatedScriptMappings)for(let[t]of e.associatedScriptMappings){let r=n.get(t);r&&(yield[r,this.get(e,r)])}}},linkedCodeMaps:{get(e){let t=o.get(e),n=l.get(e.snapshot);return n?.[0]!==t.snapshot&&l.set(e.snapshot,n=[t.snapshot,e.linkedCodeMappings?new a.LinkedCodeMap(e.linkedCodeMappings):void 0]),n[1]}}};return u;function d(e){e.targetIds.forEach(e=>{let t=n.get(e);t&&(t.isAssociationDirty=!0,i?.(t.id))})}function f(e){for(let t of e.associatedIds)n.get(t)?.targetIds.delete(e.id);return e.associatedIds.clear(),e.isAssociationDirty=!1,{getAssociatedScript(t){r(t,!0,!0);let i=n.get(t);return i&&(i.targetIds.add(e.id),e.associatedIds.add(i.id)),i}}}}function*s(e){if(yield e,e.embeddedCodes)for(let t of e.embeddedCodes)yield*s(t)}}));const S=process.env.RIPPLE_DEBUG===`true`;function C(e){return{log(...t){S&&console.log(e,...t)},logError(...t){S&&console.error(e,...t)},logWarning(...t){S&&console.warn(e,...t)}}}var w=x();const T=(0,d.createRequire)(require(`url`).pathToFileURL(__filename).href),E=u.default.dirname((0,f.fileURLToPath)(require(`url`).pathToFileURL(__filename).href)),{log:D,logWarning:O,logError:k}=C(`[Ripple Language]`),A=new Set,j=[`.tsrx`],M=[[`@tsrx/ripple`,[`node_modules`,`@tsrx`,`ripple`],[`.tsrx`],[`@tsrx/ripple`,`ripple`,`@ripple-ts/vite-plugin`,`@ripple-ts/compat-react`]],[`@tsrx/react`,[`node_modules`,`@tsrx`,`react`],[`.tsrx`],[`@tsrx/react`,`@tsrx/vite-plugin-react`]],[`@tsrx/solid`,[`node_modules`,`@tsrx`,`solid`],[`.tsrx`],[`@tsrx/solid`,`@tsrx/vite-plugin-solid`]],[`@tsrx/preact`,[`node_modules`,`@tsrx`,`preact`],[`.tsrx`],[`@tsrx/preact`,`@tsrx/vite-plugin-preact`]]];function N(e){return j.some(t=>e.endsWith(t))}function P(){return D(`Creating Ripple language plugin...`),{getLanguageId(e){let t=typeof e==`string`?e:e.fsPath.replace(/\\/g,`/`);if(N(t))return D(`Identified Ripple file:`,t),`ripple`},createVirtualCode(e,t,n){if(t===`ripple`){let t=H(e),r=G(t);if(!r){k(`Ripple compiler not found for file: ${t}`);return}D(`Creating virtual code for:`,t);try{return new F(t,n,r)}catch(e){throw k(`Failed to create virtual code for:`,t,`:`,e),e}}},updateVirtualCode(e,t,n){if(t instanceof F)return D(`Updating existing virtual code for:`,t.fileName),t.update(n),t},typescript:{extraFileExtensions:j.map(e=>({extension:e.slice(1),isMixedContent:!1,scriptKind:7})),getServiceScript(e){for(let t of(0,w.forEachEmbeddedCode)(e))if(t.languageId===`ripple`)return{code:t,extension:`.tsx`,scriptKind:4}}}}}var F=class{id=`root`;languageId=`ripple`;codegenStacks=[];tsrx;generatedCode=``;embeddedCodes=[];mappings=[];fatalErrors=[];usageErrors=[];snapshot;sourceSnapshot;originalCode=``;diagnostics=[];#e=null;#t=null;constructor(e,t,n){if(D(`Initializing TSRXVirtualCode for:`,e),this.fileName=e,this.tsrx=n,this.snapshot=t,this.sourceSnapshot=t,this.originalCode=t.getText(0,t.getLength()),!n||typeof n.compile_to_volar_mappings!=`function`)throw k(`Invalid ripple compiler - missing compile_to_volar_mappings method`),Error(`Invalid ripple compiler`);this.update(t)}update(e){D(`Updating virtual code for:`,this.fileName);let t=e.getText(0,e.getLength()),n=e.getChangeRange(this.sourceSnapshot);this.sourceSnapshot=e,this.#e=null,this.#t=null,this.fatalErrors=[],this.usageErrors=[];let r,i=!1,a=-1;if(D(`changeRange:`,JSON.stringify(n)),n){let e=n.span.start,r=e+n.span.length,o=e+n.newLength,s=this.originalCode.substring(e,r),c=t.substring(e,o);if(D(`Change details:`),D(` Position:`,e,`-`,r,`(length:`,n.span.length,`)`),D(` Old text:`,JSON.stringify(s)),D(` New text:`,JSON.stringify(c),`(length:`,n.newLength,`)`),c.endsWith(`.`)){let e=o>1?t[o-2]:``;D(` Char before dot:`,JSON.stringify(e)),/[$#_\u200C\u200D\p{ID_Continue}\)\]\}]/u.test(e)&&(i=!0,a=o-1,D(`ChangeRange detected dot typed at position`,a))}}try{if(i&&a>=0){let e=t.substring(0,a)+t.substring(a+1);if(D(`Compiling without typed dot at position`,a),r=this.tsrx.compile_to_volar_mappings(e,this.fileName,{loose:!0}),D(`Compilation without dot successful`),r&&r.code&&r.mappings.length>0){let e=z(r,a);e===null?O(`Failed to restore typed dot into transpiled output`):D(`Inserted typed dot at generated position`,e)}}else D(`Compiling Ripple code...`),r=this.tsrx.compile_to_volar_mappings(t,this.fileName,{loose:!0}),D(`Compilation successful, generated code length:`,r?.code?.length||0)}catch(e){let n=e;if(k(`Ripple compilation failed for`,this.fileName,`:`,n),process.env.TSRX_TSC===`true`){I(this.fileName,[n]);let e=L(this.tsrx,t,this.fileName);e!==void 0&&(I(this.fileName,e.errors),r={code:e.code,mappings:[{sourceOffsets:[0],generatedOffsets:[0],lengths:[t.length],generatedLengths:[e.code.length],data:{verification:!1,customData:{}}}],errors:e.errors,cssMappings:[]})}n.type=`fatal`,this.fatalErrors.push(n)}if(r&&r.code){this.originalCode=t,this.generatedCode=r.code,this.mappings=r.mappings??[],this.usageErrors=r.errors,process.env.TSRX_TSC===`true`&&r.errors.length>0&&I(this.fileName,r.errors);let e=r.cssMappings;if(e.length>0?(D(`Creating`,e.length,`CSS embedded codes`),this.embeddedCodes=e.map((e,t)=>{let n=e.data?.customData?.content;return D(`CSS region ${t}: \
|
|
2
|
+
offset ${e.sourceOffsets[0]}-${e.sourceOffsets[0]+e.lengths[0]}, \
|
|
3
|
+
length ${e.lengths[0]}`),{id:e.data?.customData?.embeddedId,languageId:`css`,snapshot:{getText:(e,t)=>n.substring(e,t),getLength:()=>e.lengths[0],getChangeRange:()=>void 0},mappings:[e],embeddedCodes:[]}})):this.embeddedCodes=[],S){D(`CSS embedded codes:`,(this.embeddedCodes||[]).length),D(`Using transpiled code, mapping count:`,this.mappings.length),D(`Original code length:`,t.length),D(`Generated code length:`,this.generatedCode.length),D(`Last 100 chars of original:`,JSON.stringify(t.slice(-100))),D(`Last 200 chars of generated:`,JSON.stringify(this.generatedCode.slice(-200))),D(`Last few mappings:`);let e=Math.max(0,this.mappings.length-5);for(let t=e;t<this.mappings.length;t++){let e=this.mappings[t];D(` Mapping ${t}: source[${e.sourceOffsets[0]}:${e.sourceOffsets[0]+e.lengths[0]}] -> gen[${e.generatedOffsets[0]}:${e.generatedOffsets[0]+e.lengths[0]}], len=${e.lengths[0]}, completion=${e.data?.completion}`)}}this.snapshot={getText:(e,t)=>this.generatedCode.substring(e,t),getLength:()=>this.generatedCode.length,getChangeRange:()=>void 0}}else D(`Compilation failed, only display where the compilation error occurred.`),this.originalCode=t,this.generatedCode=t,this.mappings=[{sourceOffsets:[0],generatedOffsets:[0],lengths:[t.length],generatedLengths:[t.length],data:{verification:!0,customData:{}}}],this.embeddedCodes=R(t),this.snapshot={getText:(e,t)=>this.generatedCode.substring(e,t),getLength:()=>this.generatedCode.length,getChangeRange:()=>void 0}}#n(){if(!(this.#e||this.#t)){this.#e=new Map,this.#t=new Map;for(var e,t,n,r,i,a,o,s,c,l=0;l<this.mappings.length;l++)e=this.mappings[l],t=e.generatedOffsets[0],n=e.generatedLengths[0],r=t+n,i=`${t}-${r}`,this.#e.set(i,e),a=e.sourceOffsets[0],o=e.lengths[0],s=a+o,c=`${a}-${s}`,this.#t.set(c,e)}}findMappingByGeneratedRange(e,t){return this.#n(),this.#e.get(`${e}-${t}`)??null}findMappingBySourceRange(e,t){return this.#n(),this.#t.get(`${e}-${t}`)??null}};function I(e,t){for(let n of t){let t=n&&typeof n==`object`&&`message`in n?String(n.message):String(n),r=`${e}\0${t}`;A.has(r)||(A.add(r),console.error(`[tsrx-tsc] ${e}: ${t}`))}}function L(e,t,n){if(typeof e.compile==`function`)try{let r=e.compile(t,n,{loose:!0}),i=typeof r?.code==`string`?r.code:typeof r?.js?.code==`string`?r.js.code:void 0;if(i!==void 0)return{code:i,errors:r?.errors??[]}}catch(e){k(`Fallback compilation failed for`,n,`:`,e)}}function R(e){let t=[],n=/<style\b[^>]*>([\s\S]*?)<\/style>/gi,r,i=0;for(;(r=n.exec(e))!==null;){let e=r[0],n=r[1],a=r.index+(e.indexOf(`>`)+1),o=n.length;D(`Extracted CSS region ${i}: offset ${a}, length ${o}`);let s={sourceOffsets:[a],generatedOffsets:[0],lengths:[o],generatedLengths:[o],data:{verification:!0,completion:!0,semantic:!0,navigation:!0,structure:!0,format:!1,customData:{content:n,embeddedId:`style_${i}`}}};t.push({id:`style_${i}`,languageId:`css`,snapshot:{getText:(e,t)=>n.substring(e,t),getLength:()=>o,getChangeRange:()=>void 0},mappings:[s],embeddedCodes:[]}),i++}return t.length>0&&D(`Extracted ${t.length} CSS embedded codes from style tags`),t}function z(e,t){let n=null;for(let r of e.mappings)if(r.sourceOffsets[0]+r.lengths[0]===t){n=r;break}if(!n)return null;let r=n.generatedLengths[0],i=n.generatedOffsets[0]+r;e.code=e.code.substring(0,i)+`.`+e.code.substring(i);let a={sourceOffsets:[t],generatedOffsets:[i],lengths:[1],generatedLengths:[1],data:{...n.data}},o=e.mappings.indexOf(n);e.mappings.splice(o+1,0,a);for(let r of e.mappings)r!==n&&r!==a&&r.generatedOffsets[0]>=i&&(r.generatedOffsets[0]+=1),r!==n&&r!==a&&r.sourceOffsets[0]>=t&&(r.sourceOffsets[0]+=1);return i}const B=new Map,V=new Map;function H(e){return typeof e==`string`?e:e.fsPath.replace(/\\/g,`/`)}function U(e,t=l.default.existsSync){let n=e,r=[];for(;n;){if(V.has(n)){let e=V.get(n)??null;for(let t of r)V.set(t,e);return e}r.push(n);let e=u.default.join(n,`package.json`);if(t(e))try{let t=JSON.parse(l.default.readFileSync(e,`utf8`)),n=new Set([...Object.keys(t.dependencies??{}),...Object.keys(t.devDependencies??{}),...Object.keys(t.peerDependencies??{}),...Object.keys(t.optionalDependencies??{})]),i={name:typeof t.name==`string`?t.name:null,dependencies:n};for(let e of r)V.set(e,i);return i}catch{for(let e of r)V.set(e,null);return null}let i=u.default.dirname(n);if(i===n)break;n=i}for(let e of r)V.set(e,null);return null}function W(e,t,n){if(!e)return!1;if(e.name===t||n.includes(e.name??``)||e.dependencies.has(t))return!0;for(let t of n)if(e.dependencies.has(t))return!0;return!1}function G(e){let t=q(e);if(t)return T(t)}function K(e,t=l.default.existsSync,n=B){let r=e.split(`/`),i=u.default.extname(e);for(let e=r.length-2;e>=0;e--){let a=r.slice(0,e+1).join(`/`),o=a+`\0`+i;if(!n.has(o)){let e=[];for(let[n,r,o,s]of M){if(!o.includes(i))continue;let c=[a,...r,`src`,`index.js`].join(`/`);t(c)&&e.push([n,c,s])}let r=null;if(e.length>0){let n=U(a,t);r=e.find(([e,,t])=>W(n,e,t))?.[1]??e[0][1],D(`Found tsrx compiler at:`,r,`for extension:`,i)}n.set(o,r)}let s=n.get(o);if(s)return s}}function q(e){let t=u.default.extname(e),n=U(u.default.dirname(e)),r=K(e);if(r)return r;let i=`No supported tsrx compiler found in workspace for ${e}.`,a=E;for(;a;){let e=[];for(let[n,r,i,o]of M){if(!i.includes(t))continue;let s=u.default.join(a,...r),c=u.default.join(s,`src`,`index.js`);l.default.existsSync(c)&&e.push([n,c,o])}if(e.length>0){let t=e.find(([e,,t])=>W(n,e,t))?.[1]??e[0][1];return O(`${i} Using packaged version at ${t}`),t}let r=u.default.dirname(a);if(r===a)break;a=r}}Object.defineProperty(exports,`i`,{enumerable:!0,get:function(){return c}}),Object.defineProperty(exports,`n`,{enumerable:!0,get:function(){return x}}),Object.defineProperty(exports,`r`,{enumerable:!0,get:function(){return o}}),Object.defineProperty(exports,`t`,{enumerable:!0,get:function(){return P}});
|
|
4
|
+
//# sourceMappingURL=language-CK5RucYm.js.map
|