You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CHANGELOG.md
+9-1Lines changed: 9 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,13 @@
2
2
3
3
All notable changes to the **Databricks Bundle Inspector** extension are documented in this file.
4
4
5
+
## [0.1.1] - 2026-05-04
6
+
7
+
### Changed
8
+
9
+
- Simplified README to focus on structural DAG visualization and removed development/testing documentation.
10
+
- Disabled target selection dropdown in the panel. The extension now displays "structural preview" only, removing the ability to switch between targets. This aligns with the focus on structural inspection.
11
+
5
12
## [0.1.0] - 2026-05-04
6
13
7
14
Initial public release. The extension is a read-only inspector for Declarative Automation Bundles (previously known as Databricks Asset Bundles). It runs `databricks bundle validate --output json`, renders the resolved bundle as an interactive graph, and surfaces bundle issues in VS Code's native Problems panel. Everything operates on the CLI-resolved bundle. The extension does not modify YAML and does not call Databricks workspace APIs.
@@ -91,5 +98,6 @@ Initial public release. The extension is a read-only inspector for Declarative A
A VS Code extension for inspecting Declarative Automation Bundles (previously known as Databricks Asset Bundles) before you deploy or review them. It runs `databricks bundle validate --output json`, turns the CLI-resolved bundle into an interactive job graph, and surfaces bundle issues in context.
3
+
A VS Code extension that visualizes Databricks Bundles as interactive job dependency graphs. See the actual structure of your bundle jobs, task dependencies, and configurations at a glance.
4
4
5
5
## What it does
6
6
7
-
Declarative Automation Bundles (previously known as Databricks Asset Bundles) (DABs) describe jobs, tasks, dependencies, and compute in YAML that can span many files and layers of variable substitution. Reading the raw YAML rarely tells you what will actually run. This extension closes that gap inside your editor.
7
+
Open a `databricks.yml` file and run**Inspect Databricks Bundle** to see:
8
8
9
-
Open a `databricks.yml` file, run **Inspect Databricks Bundle**, and you get:
9
+
-**Visual DAG**: Interactive graph of jobs and `depends_on` relationships with pan, zoom, and search.
10
+
-**Task details**: Type, source file, parameters, compute, and dependencies.
The [Databricks CLI](https://docs.databricks.com/dev-tools/cli/index.html) must be installed. The extension looks for it in this order:
21
-
22
-
1. The VS Code setting `databricksBundleInspector.cliPath`, if configured.
23
-
2.`databricks` on the system `PATH`.
24
-
25
-
Databricks authentication is not strictly required for structural inspection. The extension uses a probe target by default so it can often read the CLI-resolved bundle even when workspace credentials are not configured. Validation runs with a 30 second timeout.
25
+
The [Databricks CLI](https://docs.databricks.com/dev-tools/cli/index.html) must be installed and available on your `PATH`, or configured via the `databricksBundleInspector.cliPath` VS Code setting.
26
26
27
27
## Usage
28
28
29
-
1. Open a folder that contains a `databricks.yml` or `databricks.yaml` file.
29
+
1. Open a folder containing a `databricks.yml` or `databricks.yaml` file.
30
30
2. Open the bundle file in the editor.
31
-
3. Run a command from one of these entry points:
32
-
* The **Inspect Databricks Bundle** button in the editor title bar (only shown for bundle files).
33
-
* Right-click in the editor and choose **Inspect Databricks Bundle**.
34
-
* The Command Palette.
31
+
3. Click **Inspect Databricks Bundle** (editor title bar button) or right-click and select the command.
35
32
36
-
The webview opens in a new editor column. After a bundle has been inspected, saving the bundle file or a tracked related file refreshes diagnostics and updates the active inspector panel.
33
+
The graph opens in a new editor panel. It refreshes automatically when you save the bundle file or related configurations.
37
34
38
-
## Commands
35
+
## Command
39
36
40
37
| Command ID | Title | When available |
41
38
| --- | --- | --- |
@@ -44,191 +41,11 @@ The webview opens in a new editor column. After a bundle has been inspected, sav
44
41
45
42
## How it works
46
43
47
-
The extension is split into two halves that talk over VS Code's webview message channel:
48
-
49
-
The **extension host** (`src/extension.ts`) resolves the Databricks CLI, invokes `databricks bundle validate --output json` in the bundle directory, builds diagnostics/issues, enriches the graph from local task files, and passes the parsed result to the webview. Validation warnings, auth failures, and timeouts are surfaced as VS Code notifications or Problems panel diagnostics.
50
-
51
-
The **webview** (`src/webview/`) is a React 19 + Vite + Tailwind v4 app that receives the parsed bundle graph and renders it with `@xyflow/react`. Layout is computed with a topological level assignment and a row-packing heuristic so parallel branches stay visually separated.
52
-
53
-
The bundle graph model lives in `src/bundle/graph/`. Issue building, semantic graph export, source location handling, target resolution, and task file detection live under `src/bundle/`.
54
-
55
-
## Development
56
-
57
-
```bash
58
-
npm install
59
-
npm run build # builds the extension and the webview
60
-
npm run watch:esbuild # rebuild the extension on change
61
-
npm run watch:tsc # type-check the extension on change
62
-
npm run verify # unit tests, semantic baselines, typecheck, lint
63
-
```
64
-
65
-
Press `F5` in VS Code to launch an Extension Development Host with the extension loaded. Fixture bundles for tests and manual smoke checks live under `src/test/fixtures/`.
66
-
67
-
## Testing
68
-
69
-
The test suite is split by confidence layer:
70
-
71
-
| Command | Purpose |
72
-
| --- | --- |
73
-
|`npm run test:unit`| Pure unit tests for parsers, graph extraction, issue building, documentation policy, and file-content detection. |
74
-
|`npm run test:semantic`| Golden semantic graph baseline tests from committed Databricks CLI-shaped JSON fixtures. |
75
-
|`npm run test:semantic:cli`| Live Databricks CLI compatibility check. Runs the configured CLI against a fixture and compares the resulting semantic graph to the committed baseline. |
76
-
|`npm run test:semantic:cli:matrix`| Runs the live CLI compatibility check across the CLI/fixture pairs in `semantic-cli-matrix.config.json`. |
77
-
|`npm run test`| Runs unit tests and semantic graph baselines. |
78
-
|`npm run typecheck`| Runs TypeScript without emitting build output. |
79
-
|`npm run lint`| Runs ESLint over `src`. |
80
-
|`npm run verify`| Local pre-PR check: tests, semantic baselines, typecheck, and lint. |
81
-
82
-
Semantic graph baselines intentionally use committed `validated-bundle.json`
83
-
fixtures that represent `databricks bundle validate --output json` output. They
84
-
do not parse raw YAML directly and normal tests do not overwrite fixture files.
85
-
86
-
To check a real Databricks CLI version without overwriting committed fixtures:
87
-
88
-
```bash
89
-
npm run test:semantic:cli
90
-
```
91
-
92
-
By default this runs `databricks` against
93
-
`src/test/fixtures/secret-scope-example` and compares the resulting semantic
94
-
graph with `src/test/fixtures/baselines/secret-scope-example.semantic.json`.
95
-
Use environment variables to point it at another CLI or fixture:
This command writes both `validated-bundle.json` and
177
-
`validated-bundle.meta.json`. The metadata includes the CLI version, generation
178
-
timestamp, target, and a canonical SHA-256 of the JSON payload so formatting-only
179
-
changes do not invalidate provenance.
180
-
181
-
## Dev Container
182
-
183
-
The repository includes a VS Code dev container for repeatable local checks. It
184
-
uses Node 22, installs project dependencies with `npm ci`, and installs the
185
-
Databricks CLI inside the container.
186
-
187
-
Recommended workflow:
188
-
189
-
1. Open the repository in VS Code.
190
-
2. Run **Dev Containers: Reopen in Container**.
191
-
3. Run deterministic checks:
192
-
193
-
```bash
194
-
npm run verify
195
-
```
196
-
197
-
4. Run the live CLI semantic compatibility check inside the container:
198
-
199
-
```bash
200
-
npm run test:semantic:cli
201
-
```
202
-
203
-
The dev container sets `databricksBundleInspector.cliPath` to
204
-
`/usr/local/bin/databricks` for extension development hosts launched from the
205
-
container.
206
-
207
-
## Release process
208
-
209
-
Releases are tag-driven. After merging a release PR with `package.json`,
210
-
`package-lock.json`, `CHANGELOG.md`, and `README.md` ready for the target
211
-
version, create and push a matching version tag:
212
-
213
-
```bash
214
-
git tag v0.1.0
215
-
git push origin v0.1.0
216
-
```
217
-
218
-
The release workflow verifies, builds, packages a VSIX, writes a SHA-256
219
-
checksum, verifies that checksum, and publishes both files to a GitHub Release.
220
-
The Marketplace publish job then waits for approval on the `vscode-marketplace`
221
-
GitHub Environment. After approval, it downloads the same VSIX artifact, verifies
222
-
the checksum again, and publishes that exact package to the VS Code Marketplace.
223
-
224
-
Maintainers need to configure the `vscode-marketplace` environment in GitHub
225
-
with required reviewers and a `VSCE_PAT` environment secret. The token must be an
226
-
Azure DevOps Personal Access Token with Marketplace Manage scope for the
227
-
`UncoverTheStack` publisher.
44
+
The extension runs `databricks bundle validate --output json` to resolve your bundle structure, builds a dependency graph from the jobs and their `depends_on` relationships, and renders it as an interactive visual DAG using React Flow.
228
45
229
46
## Project status
230
47
231
-
Version 0.1.0. Active development. Feedback, bug reports, and feature requests are welcome on the [issue tracker](https://github.com/uncoverthestack/databricks-bundle-inspector/issues).
48
+
Version 0.1.1. Active development. Feedback, bug reports, and feature requests are welcome on the [issue tracker](https://github.com/uncoverthestack/databricks-bundle-inspector/issues).
0 commit comments