Files
ss-tools/frontend
busya befa03e34f feat(migration): dashboard-first dry-run review, compact logs, second timestamps
Backend:
- dashboard_outcomes module: per-dashboard new/overwrite/identical outcome,
  composite-key drift prediction with desired-vs-live values, read-only
- dry-run: single cached live dataset-contract fetch (was O(dashboards)),
  literal_find/literal_replace reach every transform_zip call
- catalog read failures degrade to warnings (target_database/dataset_catalog_
  unavailable, risk_analysis_unavailable) instead of fabricated blockers
- MigrationDryRunResult + dashboards[]; MigrationRiskItem + dataset_uuid

Frontend:
- MigrationReviewPanel: sorted outcomes (blocked -> overwrite -> new ->
  identical), show-all toggle, risk assessment separated from technical
  details, full en/ru localization
- execute failure preserves dry-run and returns to step 3; submit guard
  hides Back while POST is in flight; confirm dialog before migration start
- task logs: dense one-line rows with expand chevron, compact toolbar
  (filters/debug/errors/autoscroll/count in one row)
- migration dashboard grid timestamps truncated to seconds via
  formatDateTimeSeconds

Tests: +6 backend regression (literal kwargs, outcomes, drift severity,
missing-db blocker, catalog degradation, single live fetch), +4 frontend
(sorting, legacy fallback, execute recovery). 116 pytest + 261 vitest passed.
2026-09-10 16:34:02 +03:00
..
2026-01-22 23:18:48 +03:00

Superset Tools Frontend (SvelteKit)

This is the frontend for the Superset Tools application, built with SvelteKit in SPA mode.

Development

  1. Install dependencies:

    npm install
    
  2. Run development server:

    npm run dev
    

    The frontend will be available at http://localhost:5173. It is configured to proxy API requests to http://localhost:8000.

Production Build

  1. Build the static SPA:

    npm run build
    

    This generates a static SPA in the build/ directory.

  2. 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: load functions in +page.ts for efficient data fetching.
  • API Client: Centralized API logic in src/lib/api.js.
  • Styling: Tailwind CSS.