mirror of
https://github.com/apache/superset.git
synced 2026-05-12 19:35:17 +00:00
chore(extensions): simplify backend package structure by removing superset_extensions namespace (#38476)
This commit is contained in:
committed by
GitHub
parent
5fb9e17721
commit
a6c0d6321f
@@ -167,7 +167,7 @@ def build_manifest(cwd: Path, remote_entry: str | None) -> Manifest:
|
||||
# Generate conventional entry point
|
||||
publisher_snake = kebab_to_snake_case(extension.publisher)
|
||||
name_snake = kebab_to_snake_case(extension.name)
|
||||
entrypoint = f"superset_extensions.{publisher_snake}.{name_snake}.entrypoint"
|
||||
entrypoint = f"{publisher_snake}.{name_snake}.entrypoint"
|
||||
backend = ManifestBackend(entrypoint=entrypoint)
|
||||
|
||||
return Manifest(
|
||||
@@ -344,12 +344,7 @@ def validate() -> None:
|
||||
publisher_snake = kebab_to_snake_case(extension.publisher)
|
||||
name_snake = kebab_to_snake_case(extension.name)
|
||||
expected_entry_file = (
|
||||
backend_dir
|
||||
/ "src"
|
||||
/ "superset_extensions"
|
||||
/ publisher_snake
|
||||
/ name_snake
|
||||
/ "entrypoint.py"
|
||||
backend_dir / "src" / publisher_snake / name_snake / "entrypoint.py"
|
||||
)
|
||||
|
||||
if not expected_entry_file.exists():
|
||||
@@ -359,7 +354,7 @@ def validate() -> None:
|
||||
fg="red",
|
||||
)
|
||||
click.secho(
|
||||
f" Convention requires: backend/src/superset_extensions/{publisher_snake}/{name_snake}/entrypoint.py",
|
||||
f" Convention requires: backend/src/{publisher_snake}/{name_snake}/entrypoint.py",
|
||||
fg="yellow",
|
||||
)
|
||||
sys.exit(1)
|
||||
@@ -713,23 +708,19 @@ def init(
|
||||
(frontend_src_dir / "index.tsx").write_text(index_tsx)
|
||||
click.secho("✅ Created frontend folder structure", fg="green")
|
||||
|
||||
# Initialize backend files with superset_extensions.publisher.name structure
|
||||
# Initialize backend files with publisher.name structure
|
||||
if include_backend:
|
||||
backend_dir = target_dir / "backend"
|
||||
backend_dir.mkdir()
|
||||
backend_src_dir = backend_dir / "src"
|
||||
backend_src_dir.mkdir()
|
||||
|
||||
# Create superset_extensions namespace directory
|
||||
namespace_dir = backend_src_dir / "superset_extensions"
|
||||
namespace_dir.mkdir()
|
||||
|
||||
# Create publisher directory (e.g., superset_extensions/my_org)
|
||||
# Create publisher directory (e.g., my_org)
|
||||
publisher_snake = kebab_to_snake_case(names["publisher"])
|
||||
publisher_dir = namespace_dir / publisher_snake
|
||||
publisher_dir = backend_src_dir / publisher_snake
|
||||
publisher_dir.mkdir()
|
||||
|
||||
# Create extension package directory (e.g., superset_extensions/my_org/dashboard_widgets)
|
||||
# Create extension package directory (e.g., my_org/dashboard_widgets)
|
||||
name_snake = kebab_to_snake_case(names["name"])
|
||||
extension_package_dir = publisher_dir / name_snake
|
||||
extension_package_dir.mkdir()
|
||||
|
||||
@@ -42,8 +42,8 @@ class ExtensionNames(TypedDict):
|
||||
# Backend package name with hyphens for distribution (e.g., "my_org-dashboard_widgets")
|
||||
backend_package: str
|
||||
|
||||
# Full backend import path (e.g., "superset_extensions.my_org.dashboard_widgets")
|
||||
# Full backend import path (e.g., "my_org.dashboard_widgets")
|
||||
backend_path: str
|
||||
|
||||
# Backend entry point (e.g., "superset_extensions.my_org.dashboard_widgets.entrypoint")
|
||||
# Backend entry point (e.g., "my_org.dashboard_widgets.entrypoint")
|
||||
backend_entry: str
|
||||
|
||||
@@ -361,7 +361,7 @@ def generate_extension_names(
|
||||
publisher_snake = kebab_to_snake_case(publisher)
|
||||
name_snake = kebab_to_snake_case(technical_name)
|
||||
backend_package = f"{publisher_snake}-{name_snake}"
|
||||
backend_path = f"superset_extensions.{publisher_snake}.{name_snake}"
|
||||
backend_path = f"{publisher_snake}.{name_snake}"
|
||||
backend_entry = f"{backend_path}.entrypoint"
|
||||
|
||||
# Validate the generated names
|
||||
|
||||
Reference in New Issue
Block a user