no-mistakes 0.34.0 → 0.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -126,6 +126,18 @@ aliases isolated while shared code can still select all importing tests. Pass
126
126
  `tsconfig` explicitly to force one config for a whole invocation when debugging
127
127
  or preserving a legacy single-config workflow.
128
128
 
129
+ Graph queries also support `relationships: ["workflow"]` for canonical local
130
+ GitHub Actions traversal: workflow file -> virtual job -> virtual step,
131
+ `needs`, local reusable workflows/actions, supported literal `run:` targets and
132
+ package scripts, and same-run artifact handoffs. Virtual IDs are
133
+ `workflow.yml#job:<job>` and `workflow.yml#job:<job>/step:<zero-based-index>`.
134
+ Use the precise `workflow-job`, `workflow-step`, `workflow-needs`,
135
+ `workflow-uses`, `workflow-run`, or `workflow-artifact` filters to select a
136
+ semantic while retaining its required structural bridge edges. The legacy `ci`
137
+ relationship stays separate: it covers only workflow-file-to-Rust-binary Cargo
138
+ invocations. Remote actions/workflows, `workflow_run`, dynamic shell commands,
139
+ and paths outside the tracked graph are intentionally excluded.
140
+
129
141
  External `no-mistakes-*` executables on `PATH` can be invoked as subcommands.
130
142
  For example, after installing `no-mistakes-scripts`:
131
143
 
package/flow-types.d.ts CHANGED
@@ -15,13 +15,18 @@ export interface FlowOptions {
15
15
 
16
16
  export interface FlowNode {
17
17
  id: string;
18
- kind: "file" | "symbol" | "module" | "queue-job";
18
+ kind: "file" | "symbol" | "module" | "queue-job" | "workflow-job" | "workflow-step";
19
19
  depth: number;
20
20
  file?: string;
21
21
  symbol?: string;
22
22
  module?: string;
23
23
  queueFile?: string;
24
+ /** Workflow file for a virtual GitHub Actions job or step node. */
25
+ workflowFile?: string;
26
+ /** GitHub Actions job identifier for a virtual workflow job or step node. */
24
27
  job?: string;
28
+ /** Zero-based step index for a virtual GitHub Actions workflow step node. */
29
+ step?: number;
25
30
  }
26
31
 
27
32
  export interface FlowEdge {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "no-mistakes",
3
- "version": "0.34.0",
3
+ "version": "0.35.0",
4
4
  "description": "Static codebase analysis tools for TS/JS dependencies, dependents, and symbols",
5
5
  "license": "MIT",
6
6
  "repository": {
package/test-types.d.ts CHANGED
@@ -66,6 +66,8 @@ export interface SelectedTest {
66
66
  export interface TestExecutionTarget {
67
67
  runner: "vitest" | "playwright" | "dotnet" | "swift";
68
68
  config?: string | null;
69
+ /** True when config is a Vitest workspace/project-array source rendered with --workspace. */
70
+ workspace?: boolean;
69
71
  project?: string | null;
70
72
  base_command: string[];
71
73
  runner_args: string[];
@@ -79,7 +81,7 @@ export interface ImpactReason {
79
81
  via_details?: Array<ImpactEdgeDetail | null>;
80
82
  }
81
83
 
82
- export type ImpactEdgeDetail = ResourceImpactEdgeDetail;
84
+ export type ImpactEdgeDetail = ResourceImpactEdgeDetail | VitestSetupImpactEdgeDetail;
83
85
 
84
86
  export interface ResourceImpactEdgeDetail {
85
87
  type: "resource";
@@ -87,6 +89,11 @@ export interface ResourceImpactEdgeDetail {
87
89
  call_sites: ResourceCallSite[];
88
90
  }
89
91
 
92
+ export interface VitestSetupImpactEdgeDetail {
93
+ type: "vitest-setup";
94
+ field: "setupFiles" | "globalSetup";
95
+ }
96
+
90
97
  export interface ResourceCallSite {
91
98
  call_kind: ResourceCallKind;
92
99
  line: number;
@@ -12,6 +12,13 @@ export type Relationship =
12
12
  | "queue"
13
13
  | "md"
14
14
  | "ci"
15
+ | "workflow"
16
+ | "workflow-job"
17
+ | "workflow-step"
18
+ | "workflow-needs"
19
+ | "workflow-uses"
20
+ | "workflow-run"
21
+ | "workflow-artifact"
15
22
  | "http"
16
23
  | "process"
17
24
  | "asset"
@@ -41,7 +48,12 @@ export interface DependencyFile {
41
48
  file?: string;
42
49
  symbol?: string;
43
50
  queueFile?: string;
51
+ /** Workflow file for a virtual GitHub Actions job or step node. */
52
+ workflowFile?: string;
53
+ /** GitHub Actions job identifier for a virtual workflow job or step node. */
44
54
  job?: string;
55
+ /** Zero-based step index for a virtual GitHub Actions workflow step node. */
56
+ step?: number;
45
57
  module?: string;
46
58
  depth: number;
47
59
  via?: string[];