agentPluginParser.ts ×1
Frontier kind: Code frontier
unlabeled · c_654d7f60a7ab
54 tests · 20161 LOC · 66 files · introduces 0 tests · 2 LOC · 1 file
Introduces — evidence that enters the hierarchy at this concept
Code
1 range 2 lines · 1 files
Tests
0 tests
Contains — complete concept membership
Neighbourhood graph
The orange circle is the focus. Violet and green circles are every ancestor and descendant, broader and narrower, at any distance; blue squares and pink diamonds are the introduced files and exact introduced tests of every visible concept, not only the focus's. Arrows point from broader to narrower concepts and bridge only concepts omitted from this view. Undirected links show source or test introduction. Concept and file size follows LOC; exact test nodes use test-count units.
Focus concept
Ancestors (broader)
Descendants (narrower)
Introduced files
Introduced tests
Introduced files, introduced tests, and structurally relevant concept specialization
In the embedded map, ordinary wheel input scrolls the page; use the visible controls to zoom and drag to pan. Open the full-screen map for canvas navigation: wheel pans, Ctrl/Command plus wheel zooms, and arrow keys pan when this region is focused. On touch screens, open the full-screen map to pan or pinch. If JavaScript or WebGL is unavailable, use the native relationship evidence on this page.
Graph controls are ready.
Interactive rendering requires JavaScript and WebGL. Use the native relationship evidence on this page while the interactive map is unavailable.
JavaScript is disabled; use the native relationship evidence on this page to explore the same evidence.
Native relationship evidence
Every exact file and test below is linked only from the concept that introduces it.
agentPluginParser.ts ×1 — Focused concept
Introduced files:
claudeAgentSession.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeAgent.test|title=ClaudeAgent — Phase 11 customizations getSessionCustomizations surfaces a native plugin captured from the live SDK init.plugins (path filter)|occurrence=1 — Ancestor (broader)
Introduced tests:
copilotAgent.ts ×4 — Ancestor (broader)
Introduced files:
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest skills field with exclusive mode skips default directory|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest skills field adds supplemental skill directories|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginServiceImpl.ts ×4 — Ancestor (broader)
Introduced files:
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection reads MCP from custom path in manifest|occurrence=1, agentPluginFormatDetection.test|title=AgentPlugin format detection manifest mcpServers field pointing to a specific file|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest rules field with exclusive mode skips default directory|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest commands field with string array scans multiple directories|occurrence=1 — Ancestor (broader)
Introduced tests:
has content|occurrence=1, subdirectories|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection reads hooks from custom path in manifest|occurrence=1, agentPluginFormatDetection.test|title=AgentPlugin format detection manifest hooks field pointing to a specific file|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest agents field adds supplemental agent directories|occurrence=1, agentPluginFormatDetection.test|title=AgentPlugin format detection duplicate names across directories deduplicate (first wins)|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest agents field pointing to a specific file|occurrence=1, agentPluginFormatDetection.test|title=AgentPlugin format detection manifest commands field pointing to a specific file|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection CLAUDE_PLUGIN_ROOT expansion in MCP server definitions from .mcp.json|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection Open Plugin reads MCP definitions from standalone .mcp.json|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection deduplicates rules with the same base name|occurrence=1, agentPluginFormatDetection.test|title=AgentPlugin format detection manifest rules field adds supplemental rule directories|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection manifest commands field with array of specific files|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection Open Plugin format takes priority over Claude format|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginServiceImpl.ts ×3 — Ancestor (broader)
Introduced files:
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection PLUGIN_ROOT expansion in inline MCP server definitions|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection inline MCP in manifest takes priority over standalone .mcp.json|occurrence=1 — Ancestor (broader)
Introduced tests:
plugin.json inline|occurrence=1 — Ancestor (broader)
Introduced tests:
plugin.json exists|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
directory|occurrence=1, plugin.json exists|occurrence=1 — Ancestor (broader)
Introduced tests:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
agentPluginFormatDetection.test|title=AgentPlugin format detection PLUGIN_ROOT expansion in hook commands|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection reads inline hooks from manifest|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginServiceImpl.ts ×1 — Ancestor (broader)
Introduced files:
directory with .mdc extension|occurrence=1, agentPluginFormatDetection.test|title=AgentPlugin format detection rule name strips longest matching suffix first|occurrence=1, +1 — Ancestor (broader)
Introduced tests:
pluginParsers.ts ×5 — Ancestor (broader)
Introduced files:
agentPluginFormatDetection.test|title=AgentPlugin format detection path traversal in manifest is rejected|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginFormatDetection.test|title=AgentPlugin format detection discovers components without a manifest|occurrence=1 — Ancestor (broader)
Introduced tests:
agentPluginServiceImpl.ts ×2 — Ancestor (broader)
Introduced files:
agentPluginServiceImpl.ts ×1 — Ancestor (broader)
Introduced files:
agentPluginServiceImpl.ts ×6 — Ancestor (broader)
Introduced files:
commands → slash completion (end-to-end) a skill wins over a same-named command (no duplicate completion)|occurrence=1 — Ancestor (broader)
Introduced tests:
MCP) with real URIs|occurrence=1 — Ancestor (broader)
Introduced tests:
object values as enabled, only `false` disables|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeNativePluginScan.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
plugin.json), not just the Claude layout|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeNativePluginScan.test|title=claudeNativePluginScan with no workspace, only the user-home settings are read (skills-dir skips the workspace candidate)|occurrence=1 — Ancestor (broader)
Introduced tests:
<version>) with its real root|occurrence=1, claudeNativePluginScan.test|title=claudeNativePluginScan picks the newest-mtime version dir when several are cached|occurrence=1, +1 — Ancestor (broader)
Introduced tests:
claudeNativePluginScan.ts ×2 — Ancestor (broader)
Introduced files:
Introduced tests:
claudeNativePluginScan.ts ×6 — Ancestor (broader)
Introduced files:
claudeAgentSkillScan.test|title=claudeAgentSkillScan scans agents, skills, and commands (commands folded into skills) with real URIs|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeAgentSkillScan.test|title=claudeAgentSkillScan a skill wins over a same-named command (spec §3 priority)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeNativePluginScan.ts ×1 — Ancestor (broader)
Introduced files:
Introduced tests:
<name>` dir that is a native plugin is not surfaced as a standalone skill (PB-8)|occurrence=1 — Ancestor (broader)
Introduced tests:
claudeNativePluginScan.ts ×3 — Ancestor (broader)
Introduced files:
claudeNativePluginScan.ts ×9 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×3 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×1 — Ancestor (broader)
Introduced files:
pluginParsers.ts ×1 — Descendant (narrower)
Introduced files:
pluginParsers.ts ×1 — Descendant (narrower)
Introduced files:
pluginParsers.ts ×5 — Descendant (narrower)
Introduced files:
pluginParsers.ts ×1 — Descendant (narrower)
Introduced files:
pluginParsers.ts ×9 — Descendant (narrower)
Introduced files:
pluginParsers.ts ×3 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×2 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×8 — Descendant (narrower)
Introduced files:
fileService.ts ×4 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×3 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×17 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×6 — Descendant (narrower)
Introduced files:
fileService.ts ×5 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×4 — Descendant (narrower)
Introduced files:
fileService.ts ×6 — Descendant (narrower)
Introduced files:
fileService.ts ×3 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×11 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×10 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×4 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×4 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
agentPluginParser.ts ×3 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
inMemoryFilesystemProvider.ts ×20 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×6 — Descendant (narrower)
Introduced files:
fileService.ts ×1 — Descendant (narrower)
Introduced files:
fileService.ts ×2 — Descendant (narrower)
Introduced files:
fileService.ts ×5 — Descendant (narrower)
Introduced files:
log.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
log.ts ×72 — Descendant (narrower)
Introduced files:
files.ts ×3 — Descendant (narrower)
Introduced files:
files.ts ×3 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
stream.test|title=Stream WriteableStream - end with error works|occurrence=1, stream.test|title=Stream WriteableStream - end with empty string works|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer concat|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer fromString|occurrence=1, buffer.test|title=Buffer issue #251527 - VSBuffer#toString preserves BOM character in filenames|occurrence=1 — Descendant (narrower)
Introduced tests:
buffer.test|title=Buffer Performance issue with VSBuffer#slice #76076|occurrence=1 — Descendant (narrower)
Introduced tests:
pluginParsers.ts ×47 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
async.ts ×202 — Descendant (narrower)
Introduced files:
contextkey.ts ×1 — Descendant (narrower)
Introduced files:
contextkey.ts ×1 — Descendant (narrower)
Introduced files:
contextkey.ts ×1 — Descendant (narrower)
Introduced files:
mcpAppDefaults.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×6 — Descendant (narrower)
Introduced files:
agentPluginParser.ts ×5 — Descendant (narrower)
Introduced files:
stream.ts ×2 — Descendant (narrower)
Introduced files:
stream.ts ×2 — Descendant (narrower)
Introduced files:
stream.ts ×3 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
files.ts ×41 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×3 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×2 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
stream.ts ×2 — Descendant (narrower)
Introduced files:
stream.ts ×2 — Descendant (narrower)
Introduced files:
stream.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×1 — Descendant (narrower)
Introduced files:
resources.ts ×3 — Descendant (narrower)
Introduced files:
ternarySearchTree.ts ×60 — Descendant (narrower)
Introduced files:
resources.ts ×23 — Descendant (narrower)
Introduced files:
network.ts ×20 — Descendant (narrower)
Introduced files:
strings.test|title=Strings trimWhitespace|occurrence=1 — Descendant (narrower)
Introduced tests:
extpath.ts ×17 — Descendant (narrower)
Introduced files:
strings.ts ×101 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
sessionState.ts ×57 — Descendant (narrower)
Introduced files:
event.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×5 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
cancellation.ts ×1 — Descendant (narrower)
Introduced files:
cancellation.ts ×4 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
cancellation.test|title=CancellationToken None|occurrence=1 — Descendant (narrower)
Introduced tests:
cancellation.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×1 — Descendant (narrower)
Introduced files:
event.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.test|title=No Leakage Utilities ensureNoDisposablesAreLeakedInTest Basic Test|occurrence=1 — Descendant (narrower)
Introduced tests:
event.ts ×8 — Descendant (narrower)
Introduced files:
event.ts ×3 — Descendant (narrower)
Introduced files:
cancellation.ts ×18 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.test|title=Lifecycle dispose disposable array|occurrence=1, lifecycle.test|title=Lifecycle Action bar has broken accessibility #100273|occurrence=1 — Descendant (narrower)
Introduced tests:
event.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×3 — Descendant (narrower)
Introduced files:
event.ts ×4 — Descendant (narrower)
Introduced files:
event.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
Introduced tests:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×2 — Descendant (narrower)
Introduced files:
event.ts ×93 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×2 — Descendant (narrower)
Introduced files:
buffer.ts ×1 — Descendant (narrower)
Introduced files:
buffer.ts ×42 — Descendant (narrower)
Introduced files:
uri.ts ×3 — Descendant (narrower)
Introduced files:
yaml.ts ×54 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×2 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×14 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×3 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
json.ts ×14 — Descendant (narrower)
Introduced files:
languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication disposes entries no longer in model|occurrence=1 — Descendant (narrower)
Introduced tests:
path.ts ×1 — Descendant (narrower)
Introduced files:
uri.ts ×10 — Descendant (narrower)
Introduced files:
languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication mixed unique and duplicate IDs|occurrence=1, languageStatusDedupe.test|title=LanguageStatus - Dedicated Entry Deduplication creates new entry when none exists|occurrence=1, +4 — Descendant (narrower)
Introduced tests:
path.ts ×2 — Descendant (narrower)
Introduced files:
path.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×5 — Descendant (narrower)
Introduced files:
uri.ts ×2 — Descendant (narrower)
Introduced files:
uri.ts ×3 — Descendant (narrower)
Introduced files:
mcpPlatformTypes.ts ×1 — Descendant (narrower)
Introduced files:
uri.test|title=URI URI#file, win-speciale|occurrence=1, charCode.test|title=CharCode has good values|occurrence=1, +2 — Descendant (narrower)
Introduced tests:
uri.ts ×2 — Descendant (narrower)
Introduced files:
utils.ts ×3 — Descendant (narrower)
Introduced files:
nls.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×3 — Descendant (narrower)
Introduced files:
uri.ts ×1 — Descendant (narrower)
Introduced files:
instantiation.ts ×4 — Descendant (narrower)
Introduced files:
nls.ts ×3 — Descendant (narrower)
Introduced files:
uri.ts ×9 — Descendant (narrower)
Introduced files:
path.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
linkedList.ts ×13 — Descendant (narrower)
Introduced files:
nls.ts ×6 — Descendant (narrower)
Introduced files:
objects.ts ×13 — Descendant (narrower)
Introduced files:
performance.ts ×6 — Descendant (narrower)
Introduced files:
instantiation.ts ×5 — Descendant (narrower)
Introduced files:
path.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×3 — Descendant (narrower)
Introduced files:
path.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×3 — Descendant (narrower)
Introduced files:
path.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
path.ts ×6 — Descendant (narrower)
Introduced files:
lifecycle.ts ×4 — Descendant (narrower)
Introduced files:
lifecycle.ts ×6 — Descendant (narrower)
Introduced files:
lifecycle.ts ×2 — Descendant (narrower)
Introduced files:
lazy.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lazy.ts ×3 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
path.ts ×2 — Descendant (narrower)
Introduced files:
lifecycle.ts ×1 — Descendant (narrower)
Introduced files:
map.ts ×97 — Descendant (narrower)
Introduced files:
Introduced tests
Every collected test enters the hierarchy at exactly one concept.
No tests are introduced at this concept. Its intent tests are introduced by other concepts.
Introduced code
Every collected source range enters the hierarchy at exactly one concept.
1 file ranked by introduced lines: 2 introduced LOC across 1 ranges.
Expand a file to inspect source; the > gutter marks introduced lines.
src/vs/platform/agentPlugins/common/agentPluginParser.ts 2 introduced LOC · 1 range
Open complete file
24
const manifestUri = joinPath ( pluginUri , 'plugin.json' );
25
if ( ! await fileService . exists ( manifestUri )) {
27
>
}
28
let parsed : unknown ;
29
try {