Close the 041 frontend/opt-in gaps found in the audit: no /lineage UI existed and lineage_index stayed opt-in without documented rationale. T045 - bind the existing Datasets.LineagePanel (T031) onto /datasets/[id] (blast-radius dependents + stale_index notice); deleted my transient duplicate to respect component reuse. T046 - DatasetsLineageModel.markDeprecated()/recordMigration() + LineagePanel deprecation lifecycle section (grace window, successor, migration uuid); consumes existing api/lineage.ts + lineage.json i18n keys. T047 - DatasetsLineageModel.loadFleetReport() for fan-out fleet report. T048 - config_models.py: lineage_index_enabled default stays FALSE with an explicit rationale (post-sync Superset detail-call cost; flip after live indexer stability proof); consumers treat disabled index as empty read-model. Verification: lineage + api vitest = 236 passed; vite build OK; eslint clean for changed code (pre-existing ruff/require-each-key warnings untouched).
Superset Tools Frontend (SvelteKit)
This is the frontend for the Superset Tools application, built with SvelteKit in SPA mode.
Development
-
Install dependencies:
npm install -
Run development server:
npm run devThe frontend will be available at
http://localhost:5173. It is configured to proxy API requests tohttp://localhost:8000.
Production Build
-
Build the static SPA:
npm run buildThis generates a static SPA in the
build/directory. -
Serve with Backend: The Python backend is configured to serve the files from
frontend/build/. Ensure the backend is running:cd ../backend python src/app.py
Architecture
- Routing: File-based routing in
src/routes/. - Layouts: Shared UI in
src/routes/+layout.svelte. - Data Loading:
loadfunctions in+page.tsfor efficient data fetching. - API Client: Centralized API logic in
src/lib/api.js. - Styling: Tailwind CSS.