pub struct TypescriptPlugin;Expand description
The TypeScript language plugin (handles .ts / .tsx / .mts / .cts).
Trait Implementations§
Source§impl LanguagePlugin for TypescriptPlugin
impl LanguagePlugin for TypescriptPlugin
Source§fn name(&self) -> &str
fn name(&self) -> &str
Canonical name, e.g.
"rust". Used by --plugin and recorded in the
snapshot. Each plugin has exactly one name (js and ts are separate).Source§fn detect(&self, workspace: &Path, _input: &PluginInput) -> bool
fn detect(&self, workspace: &Path, _input: &PluginInput) -> bool
Can this plugin parse
workspace (honoring input)?Source§fn levels(&self) -> Vec<Level>
fn levels(&self) -> Vec<Level>
Levels this plugin can produce, each carrying its edge-kind / attribute /
node-kind / cycle-kind semantics.
Source§fn analyze(
&self,
workspace: &Path,
_level: &str,
input: &PluginInput,
) -> Result<Graph>
fn analyze( &self, workspace: &Path, _level: &str, input: &PluginInput, ) -> Result<Graph>
Parse the workspace into a graph AT
level (by name). Structure only:
nodes (with their structural attributes) + edges. Metrics are added
downstream. When input.ignore_tests is set, the plugin must drop its
own test files here (it knows the language’s conventions; see
is_test_path).Source§fn is_test_path(&self, rel_path: &str) -> bool
fn is_test_path(&self, rel_path: &str) -> bool
Does this workspace-relative path (forward-slashed, no leading
./) name
a test file in this language? Used to drop tests during the walk when
PluginInput::ignore_tests is set. Default: nothing is a test.Source§fn versions(
&self,
_workspace: &Path,
_input: &PluginInput,
) -> Vec<(String, String)>
fn versions( &self, _workspace: &Path, _input: &PluginInput, ) -> Vec<(String, String)>
Toolchain versions to record in the snapshot, e.g.
[("rustc", "1.88.0")].Source§fn presets(&self, defaults: Vec<Preset>, _input: &PluginInput) -> Vec<Preset>
fn presets(&self, defaults: Vec<Preset>, _input: &PluginInput) -> Vec<Preset>
Transform the orchestrator’s generic default presets for this language.
Default: pass them through unchanged. A plugin may reword a
prompt,
change a sort_metric, drop a preset, or add language-specific ones.Source§fn thresholds(&self) -> BTreeMap<String, Thresholds>
fn thresholds(&self) -> BTreeMap<String, Thresholds>
Language-calibrated per-metric thresholds (attribute key → tiers). The
orchestrator overlays these onto the attribute specs. Default: none.
Auto Trait Implementations§
impl Freeze for TypescriptPlugin
impl RefUnwindSafe for TypescriptPlugin
impl Send for TypescriptPlugin
impl Sync for TypescriptPlugin
impl Unpin for TypescriptPlugin
impl UnsafeUnpin for TypescriptPlugin
impl UnwindSafe for TypescriptPlugin
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more