From dd2f7edf924b358958856ca649b6eb4d71cb13eb Mon Sep 17 00:00:00 2001 From: abhishekbhakat Date: Sat, 10 May 2025 19:51:51 +0000 Subject: [PATCH] fix: Update URL prefix for Airflow 3 compatibility and adjust base path in Vite config --- .../markdown_view_plugin/markdown_view_plugin.py | 15 +-------------- .../markdown_view_plugin/ui/vite.config.ts | 3 ++- markdown_view_plugin/pyproject.toml | 2 +- 3 files changed, 4 insertions(+), 16 deletions(-) diff --git a/markdown_view_plugin/markdown_view_plugin/markdown_view_plugin.py b/markdown_view_plugin/markdown_view_plugin/markdown_view_plugin.py index 192ec08..2a5b988 100644 --- a/markdown_view_plugin/markdown_view_plugin/markdown_view_plugin.py +++ b/markdown_view_plugin/markdown_view_plugin/markdown_view_plugin.py @@ -71,19 +71,6 @@ class MarkdownViewPlugin(AirflowPlugin): { "app": markdown_fastapi_app, "name": "markdown_view_app", # A unique name for this FastAPI app - "url_prefix": "/markdown_view_plugin", # Required for Airflow 3 FastAPI plugins + "url_prefix": "/plugins", # Required for Airflow 3 FastAPI plugins } ] - # Airflow 3+ UI compatibility: use appbuilder_menu_items instead of menu_links - appbuilder_menu_items = [ - { - "name": "Markdown Viewer", - "href": "/markdown_view_plugin/markdown_view", # This should match the url_prefix + @markdown_fastapi_app.get path for the UI - "category": "Plugins", - } - ] - - -# For Airflow to pick up the plugin, the class name must match the filename (snake_case to PascalCase) -# or be explicitly defined in an __init__.py in the plugin\'s root directory. -# Assuming filename is markdown_view_plugin.py, class MarkdownViewPlugin is correct. diff --git a/markdown_view_plugin/markdown_view_plugin/ui/vite.config.ts b/markdown_view_plugin/markdown_view_plugin/ui/vite.config.ts index 001afb1..1b6ef45 100644 --- a/markdown_view_plugin/markdown_view_plugin/ui/vite.config.ts +++ b/markdown_view_plugin/markdown_view_plugin/ui/vite.config.ts @@ -4,7 +4,8 @@ import react from '@vitejs/plugin-react' // https://vitejs.dev/config/ export default defineConfig({ plugins: [react()], - base: '/markdown_view_plugin_mount/static/markdown_view_plugin/', // Important for Airflow to find assets + // The base must match the FastAPI static mount: //static/markdown_view_plugin/ + base: '/plugins/static/markdown_view_plugin/', build: { outDir: 'dist', rollupOptions: { diff --git a/markdown_view_plugin/pyproject.toml b/markdown_view_plugin/pyproject.toml index 1f30d48..6976c9e 100644 --- a/markdown_view_plugin/pyproject.toml +++ b/markdown_view_plugin/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "markdown-view-plugin" -version = "0.1.8" +version = "0.1.13" description = "Airflow UI plugin to render Markdown content using FastAPI and React." readme = "README.md" requires-python = ">=3.9"