fix(appkit): exclude lakebase postgres.project from the bundle - #554
Merged
Conversation
Contributor
🤖 AppKit PR bot🔬 Run evalsStart an eval for this PR from the evals-monitor app: Go to Evals Monitor → 📦 Try this PR's app templateScaffolds a new app from this PR's SDK build. Run it in any folder (requires the GitHub CLI — gh run download 32965605615 -R databricks/appkit -n appkit-template-0.65.0-pr.4e05986-fix-generate-app-templates-lakebase-project-554 -D appkit-pr-554 \
&& unzip -o "appkit-pr-554/appkit-template-0.65.0-pr.4e05986-fix-generate-app-templates-lakebase-project-554.zip" -d "appkit-pr-554" \
&& databricks apps init --template "appkit-pr-554"The template pins |
The lakebase `postgres` resource's `project` field is a discovery-only navigation input: appkit's discovery walks project -> branch -> database (`databricks postgres list-branches` requires a project), but the selected `branch`/`database` are already fully-qualified names that embed the project. So `project` never needs to be written to the app bundle. `databricks apps init` ignores the manifest `discovery` blocks and treated `project` as a plain bundle field, which (a) declared an unused `postgres_project` bundle variable and (b) made non-interactive generation via `--set` fail with "incomplete resource postgres: missing fields [postgres.project]" (the CLI requires all non-ignored fields of a multi-field resource to be set together). Mark `project` as `bundleIgnore` (like `endpointPath`) so it stays available for discovery but is excluded from the bundle. Regenerating the appkit-* app templates now works with just `branch`/`database` and no stray variable. Signed-off-by: Pawel Kosiec <pawel.kosiec@databricks.com>
pkosiec
force-pushed
the
fix/generate-app-templates-lakebase-project
branch
from
August 26, 2026 11:52
8cde689 to
806055a
Compare
pkosiec
marked this pull request as ready for review
August 26, 2026 11:54
Contributor
📦 Bundle size reportCompared against
|
| dist | raw | gzip |
|---|---|---|
| JS (runtime) | 1011 KB (-86 KB) | 351 KB (-30 KB) |
| Type declarations | 379 KB (-24 KB) | 133 KB (-11 KB) |
| Source maps | 2.0 MB (-184 KB) | 662 KB (-60 KB) |
| Other | 11 KB | 3.7 KB |
| Total | 3.3 MB (-294 KB) | 1.1 MB (-102 KB) |
Per-entry composition (own code — deps external (as shipped))
| Entry | Initial (gz) | Lazy (gz) | Total (gz) | node_modules (min) | Own code (min) |
|---|---|---|---|---|---|
. |
95 KB (+11 B) | 2.5 KB | 97 KB (+11 B) | external | 311 KB (+16 B) |
./beta |
65 KB (+2 B) | 457 B | 65 KB (+2 B) | external | 196 KB |
./testing |
17 KB | 0 B | 17 KB | external | 50 KB |
./tsdown |
520 B | 0 B | 520 B | external | 813 B |
./type-generator |
22 KB | 0 B | 22 KB | external | 65 KB |
Chunks:
| Entry | Chunk | Load | Size (gz) |
|---|---|---|---|
. |
index.js |
initial | 91 KB |
. |
utils.js |
initial | 4.0 KB |
. |
remote-tunnel-manager.js |
lazy | 2.5 KB |
./beta |
beta.js |
initial | 49 KB |
./beta |
stream-manager.js |
initial | 5.8 KB |
./beta |
wide-event-emitter.js |
initial | 3.2 KB |
./beta |
databricks.js |
initial | 3.0 KB |
./beta |
configuration.js |
initial | 2.1 KB |
./beta |
service-context.js |
initial | 1.3 KB |
./beta |
client.js |
initial | 434 B |
./beta |
client-options.js |
initial | 220 B |
./beta |
supervisor-api.js |
lazy | 192 B |
./beta |
databricks.js |
lazy | 142 B |
./beta |
index.js |
lazy | 123 B |
./testing |
index.js |
initial | 17 KB |
./tsdown |
index.js |
initial | 520 B |
./type-generator |
index.js |
initial | 22 KB |
@databricks/appkit-ui
npm tarball (packed): 348 KB (-8.1 KB) — gzipped download (dist + bin; excludes release-only docs/NOTICE).
| dist | raw | gzip |
|---|---|---|
| JS (runtime) | 394 KB (-17 KB) | 132 KB (-5.4 KB) |
| Type declarations | 228 KB (-4.2 KB) | 83 KB (-1.3 KB) |
| Source maps | 764 KB (-16 KB) | 252 KB (-5.0 KB) |
| CSS | 16 KB | 3.2 KB |
| Total | 1.4 MB (-37 KB) | 471 KB (-12 KB) |
Per-entry composition (consumer bundle — deps bundled, peerDeps external)
| Entry | Initial (gz) | Lazy (gz) | Total (gz) | node_modules (min) | Own code (min) |
|---|---|---|---|---|---|
./js |
5.3 KB | 49 KB | 55 KB | 208 KB | 14 KB |
./js/beta |
20 B | 0 B | 20 B | 0 B | 0 B |
./react |
432 KB | 49 KB | 481 KB | 1.3 MB | 177 KB |
./react/beta |
1.0 KB | 0 B | 1.0 KB | 0 B | 1.9 KB |
Chunks:
| Entry | Chunk | Load | Size (gz) |
|---|---|---|---|
./js |
index.js |
initial | 5.2 KB |
./js |
chunk |
initial | 120 B |
./js |
apache-arrow |
lazy | 49 KB |
./js/beta |
beta.js |
initial | 20 B |
./react |
index.js |
initial | 430 KB |
./react |
tslib |
initial | 2.1 KB |
./react |
apache-arrow |
lazy | 49 KB |
./react/beta |
beta.js |
initial | 1.0 KB |
ditadi
approved these changes
Aug 26, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
projecton the lakebasepostgresresource is a discovery-only field. AppKit'sdiscovery walks project → branch → database (listing branches needs a project),
but the
branch/databasevalues it picks are already fully-qualified names thatembed the project — so
projectnever needs to go into the app bundle.databricks apps initignores the manifest'sdiscoveryblocks, so it treatedprojectas a normal bundle field: it declared an unusedpostgres_projectvariable, and non-interactive generation (
--set) failed withMarking
projectasbundleIgnore(likeendpointPath) keeps it available fordiscovery but drops it from the bundle. Regenerating the
appkit-*app templatesnow works with just
branch/databaseand no stray variable.This pull request and its description were written by Isaac.