Skip to content

chore: [hca dcp] clean up unused dev/cc-ma-dev site-configs, relocate makeconfig to ma-dev (#4820)#4826

Open
frano-m wants to merge 5 commits into
mainfrom
fran/4820-hca-dcp-config
Open

chore: [hca dcp] clean up unused dev/cc-ma-dev site-configs, relocate makeconfig to ma-dev (#4820)#4826
frano-m wants to merge 5 commits into
mainfrom
fran/4820-hca-dcp-config

Conversation

@frano-m
Copy link
Copy Markdown
Contributor

@frano-m frano-m commented May 13, 2026

Summary

  • Delete unused site-config/hca-dcp/{dev,cc-ma-dev,prod}/; promote ma-dev as the canonical HCA dev config and relocate makeConfig there with a new explicit authentication parameter so each env builds its own auth without a wasted call.
  • Restructure HCA into entities/{projects,samples,files}/ with a nested entities/projects/entity/tab/* layout for per-tab MA configs; bake the managed-access overlay (warning row + content wrappers) directly into the EXPORT config and getExportMethodMainColumn helper so no runtime overlay function is needed.
  • Migrate lungmap off the standalone CategoryConfig exports onto the shared CATEGORY_CONFIG in hca-dcp/ma-dev/categoryGroup/categoryGroupConfig.ts (new site-config/lungmap/dev/categoryGroup/categoryGroupConfig.ts); move lungmap's buildHero to its own viewModelBuilder; repoint CC preview deploy scripts and update the README cellxgene path.

Closes #4820

Test plan

  • npm run build-ma-dev:hca-dcp succeeds; sitemap renders all expected routes (verified locally pre-PR).
  • npm run build-ma-prod:hca-dcp succeeds.
  • npm run build-dev:lungmap succeeds; category facets render in the correct group order (Project, Donor, Sample, Protocol, File) with the expected facet entries.
  • npm run build-prod:lungmap succeeds.
  • Spot-check HCA dev: project detail tabs (Overview, Metadata, Matrices, Download, Export) render correctly for both an accessible and an inaccessible project; access-warning banner appears where expected.
  • Spot-check HCA dev: /export chooser page and each /export/<method> route render with the warning + main + side column layout.
  • Spot-check lungmap dev: project detail still renders without MA logic.
  • Confirm .gitlab/sites/{dev,prod}/hca/base.yaml build scripts still resolve (build-ma-dev:hca-dcp, build-ma-prod:hca-dcp).

🤖 Generated with Claude Code

@frano-m frano-m requested a review from Copilot May 13, 2026 02:31
@frano-m frano-m marked this pull request as ready for review May 13, 2026 02:35
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR consolidates and refactors the HCA DCP site configuration by removing deprecated environments, promoting ma-dev/ma-prod as the canonical configs, and reshaping entities/export configuration to bake managed-access layout directly into config (rather than runtime overlays). It also updates LungMAP to consume shared HCA category config and adjusts build/deploy scripts to use the new environment structure.

Changes:

  • Removed unused HCA DCP dev/, cc-ma-dev/, and prod/ site-configs and relocated/expanded configuration logic into hca-dcp/ma-dev (including explicit authentication parameterization).
  • Restructured HCA entities into entities/{projects,samples,files} and embedded the managed-access warning + main/side layout directly into export and project-detail tab configs.
  • Migrated LungMAP category grouping to a shared CATEGORY_CONFIG, moved LungMAP hero view builder, and updated build/deploy scripts + docs to point to the new locations.

Reviewed changes

Copilot reviewed 90 out of 94 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
site-config/lungmap/prod/config.ts Switch HCA URL imports to hca-dcp/ma-prod.
site-config/lungmap/dev/index/projectsEntityConfig.ts Update project detail top to use LungMAP-local hero config.
site-config/lungmap/dev/index/common/category.ts Removed old LungMAP category-group wiring that depended on deleted HCA dev config.
site-config/lungmap/dev/export/exportConfig.ts Rebuild LungMAP export config using ma-dev export routes/side-column helpers.
site-config/lungmap/dev/detail/project/top.ts Use LungMAP viewModelBuilder for hero props (decouples from HCA hero builder).
site-config/lungmap/dev/detail/project/projectFilesSideColumn.ts Point side-column helper import at hca-dcp/ma-dev.
site-config/lungmap/dev/detail/project/metadataSideColumn.ts Point side-column helper import at hca-dcp/ma-dev.
site-config/lungmap/dev/detail/project/exportSideColumn.ts Point side-column helper import at hca-dcp/ma-dev.
site-config/lungmap/dev/config.ts Use shared category-group config and update HCA URL imports.
site-config/lungmap/dev/categoryGroup/categoryGroupConfig.ts New LungMAP category-group config built from shared HCA CATEGORY_CONFIG.
site-config/hca-dcp/prod/config.ts Deleted legacy non-managed-access prod config.
site-config/hca-dcp/prod/.env Deleted legacy non-managed-access prod env file.
site-config/hca-dcp/ma-prod/config.ts Build prod config via ma-dev makeConfig and set analytics explicitly.
site-config/hca-dcp/ma-prod/authentication/authentication.ts Replace “mutate existing auth config” with explicit getAuthentication() builder.
site-config/hca-dcp/ma-dev/themeOptions/themeOptions.ts New ma-dev theme options module extracted from former config.
site-config/hca-dcp/ma-dev/summary/viewModelBuilder.ts New summary response mapper (including estimated cell count summation).
site-config/hca-dcp/ma-dev/summary/summary.ts New summary config wrapper for ma-dev.
site-config/hca-dcp/ma-dev/scripts/out/cellxgene-projects.json Move cellxgene mapping JSON under canonical ma-dev scripts output.
site-config/hca-dcp/ma-dev/scripts/get-cellxgene-projects.ts Update output path for generated cellxgene mapping.
site-config/hca-dcp/ma-dev/layout/layout.ts New layout builder extracted into ma-dev/layout.
site-config/hca-dcp/ma-dev/layout/header.ts New header builder (auth-enabled) extracted into ma-dev/layout.
site-config/hca-dcp/ma-dev/layout/footer.ts New footer builder extracted into ma-dev/layout.
site-config/hca-dcp/ma-dev/layout/floating.ts Rename/retarget floating config typing to SiteConfig layout typing.
site-config/hca-dcp/ma-dev/layout/announcements.ts Rename/retarget announcements typing to SiteConfig header typing.
site-config/hca-dcp/ma-dev/export/sideColumn.ts New shared export side-column builders (query/summary + policy).
site-config/hca-dcp/ma-dev/export/routes.ts New canonical export route constants.
site-config/hca-dcp/ma-dev/export/exportMethodMainColumn.ts New helper to build MA export-method mainColumn including warning + side column wrappers.
site-config/hca-dcp/ma-dev/export/export.ts Rename/export canonical EXPORT config and bake MA layout directly into export config.
site-config/hca-dcp/ma-dev/export/accessWarning.ts New reusable export access-warning component config.
site-config/hca-dcp/ma-dev/entities/samples/tableOptions.ts New extracted samples table options for MA entities structure.
site-config/hca-dcp/ma-dev/entities/samples/samplesEntityConfig.ts New samples entity config in new entities layout.
site-config/hca-dcp/ma-dev/entities/samples/columns.ts New extracted samples columns for MA entities structure.
site-config/hca-dcp/ma-dev/entities/projects/ui/ui.ts New projects UI config module.
site-config/hca-dcp/ma-dev/entities/projects/ui/slots.ts New projects UI slot wiring for login reminder banner.
site-config/hca-dcp/ma-dev/entities/projects/tableOptions.ts New extracted projects table options.
site-config/hca-dcp/ma-dev/entities/projects/projectsEntityConfig.ts New projects entity config in new entities layout.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/top.ts New MA project detail hero config module.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/projectFilesSideColumn.ts Update import paths to new export side-column module location.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/projectFilesMainColumn.ts Fix import paths after entities refactor.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/projectFiles.ts New MA “Download” tab wrapper including access warning + conditional main/side layout.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/overviewSideColumn.ts Fix import paths after entities refactor.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/overviewMainColumn.ts Fix import paths after entities refactor.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/metadataSideColumn.ts Update import paths to new export side-column module location.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/metadataMainColumn.ts Fix import paths after entities refactor.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/metadata.ts New MA “Metadata” tab wrapper including access warning + conditional main/side layout.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/matricesMainColumn.ts Update import paths to new export side-column module location.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/exportSideColumn.ts Update import paths to new export side-column module location.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/exportMainColumn.ts Fix import paths after entities refactor.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/export.ts New MA “Export” tab wrapper including access warning + conditional main/side layout.
site-config/hca-dcp/ma-dev/entities/projects/entity/tab/accessWarning.ts New reusable per-project access-warning config for detail tabs.
site-config/hca-dcp/ma-dev/entities/projects/entity/routes.ts New per-project detail tab route constants.
site-config/hca-dcp/ma-dev/entities/projects/entity/detail.ts New project detail config pointing at new per-tab modules.
site-config/hca-dcp/ma-dev/entities/projects/columns.ts New extracted projects columns (including MA-specific columns like Access + DUR).
site-config/hca-dcp/ma-dev/entities/files/tableOptions.ts New extracted files table options.
site-config/hca-dcp/ma-dev/entities/files/filesEntityConfig.ts New files entity config in new entities layout.
site-config/hca-dcp/ma-dev/entities/files/columns.ts New extracted files columns (including DUR).
site-config/hca-dcp/ma-dev/entities/entities.ts New centralized entities array export for ma-dev.
site-config/hca-dcp/ma-dev/entities/common/ui/ui.ts New shared entity UI config module.
site-config/hca-dcp/ma-dev/entities/common/ui/slots.ts New shared entity view slot config (Terra setup form).
site-config/hca-dcp/ma-dev/entities/common/detail/detail.ts New shared “empty detail” config for non-project entities.
site-config/hca-dcp/ma-dev/config.ts New canonical HCA makeConfig + env default config; wires category groups, entities, export, layout, theme, summary, status.
site-config/hca-dcp/ma-dev/categoryGroup/utils.ts New category value mapping helpers for MA-specific category presentation.
site-config/hca-dcp/ma-dev/categoryGroup/categoryGroupConfig.ts New canonical category config + grouping (including Access + Data Use Restriction).
site-config/hca-dcp/ma-dev/authentication/constants.ts Adjust authorization endpoint construction.
site-config/hca-dcp/ma-dev/authentication/authentication.ts Replace “mutate existing auth config” with explicit getAuthentication(dataSourceUrl) builder.
site-config/hca-dcp/dev/ui/entityView.ts Deleted old shared entity-view slot wiring from deprecated env.
site-config/hca-dcp/dev/index/samplesEntityConfig.ts Deleted deprecated samples entity config (moved under ma-dev/entities).
site-config/hca-dcp/dev/index/projectsEntityConfig.ts Deleted deprecated projects entity config (moved under ma-dev/entities).
site-config/hca-dcp/dev/index/filesEntityConfig.ts Deleted deprecated files entity config (moved under ma-dev/entities).
site-config/hca-dcp/dev/index/common/category.ts Deleted deprecated category-group config (replaced under ma-dev/categoryGroup).
site-config/hca-dcp/dev/export/constants.ts Deleted deprecated export route constants (replaced by ma-dev/export/routes).
site-config/hca-dcp/dev/config.ts Deleted deprecated base config factory (replaced by ma-dev/config.ts).
site-config/hca-dcp/dev/.env Deleted deprecated env file.
site-config/hca-dcp/cc-ma-dev/ui/projectsEntityList.ts Deleted deprecated CC managed-access UI overlay.
site-config/hca-dcp/cc-ma-dev/index/projectsEntityConfig.ts Deleted deprecated managed-access overlay functions (now baked into ma-dev).
site-config/hca-dcp/cc-ma-dev/index/projects/column.ts Deleted deprecated column overlay.
site-config/hca-dcp/cc-ma-dev/index/filesEntityConfig.ts Deleted deprecated files overlay.
site-config/hca-dcp/cc-ma-dev/index/common/column.ts Deleted deprecated shared overlay columns.
site-config/hca-dcp/cc-ma-dev/index/common/category.ts Deleted deprecated managed-access category overlay.
site-config/hca-dcp/cc-ma-dev/export/export.ts Deleted deprecated runtime export overlay (now in config).
site-config/hca-dcp/cc-ma-dev/detail/project/top.ts Deleted deprecated runtime detail-top overlay (now in config).
site-config/hca-dcp/cc-ma-dev/detail/project/mainColumn.ts Deleted deprecated runtime detail overlay for per-tab MA layout (now in config).
site-config/hca-dcp/cc-ma-dev/config.ts Deleted deprecated managed-access config wrapper (now in ma-dev/config.ts).
site-config/hca-dcp/cc-ma-dev/authentication/constants.ts Deleted deprecated CC auth constants.
site-config/hca-dcp/cc-ma-dev/authentication/authentication.ts Deleted deprecated CC auth builder.
site-config/hca-dcp/cc-ma-dev/.env Deleted deprecated env file.
README.md Update documented cellxgene output path to ma-dev.
package.json Remove deprecated HCA scripts and repoint dev/build scripts + cellxgene script path.
cc-ma-pilot.explore.data.humancellatlas.dev.clevercanary.com-deploy.sh Update deploy build script to build-ma-dev:hca-dcp.
cc-explore.data.humancellatlas.dev.clevercanary.com-deploy.sh Update deploy build script to build-ma-dev:hca-dcp.
app/viewModelBuilders/azul/lungmap/common/viewModelBuilders.ts Add LungMAP hero builder and reuse exported HCA helper functions.
app/viewModelBuilders/azul/hca-dcp/common/viewModelBuilders.ts Switch export routes to new EXPORT_ROUTE; export getProjectCallToAction; remove generic buildHero.
app/viewModelBuilders/azul/hca-dcp/common/projectMapper/projectEdits/projectEdits.ts Update cellxgene JSON import path to new ma-dev location.
app/config/config.ts Remove deleted HCA configs from runtime config registry; keep MA envs only.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@@ -9,7 +9,7 @@ n 22.12.0
npm ci

# Build
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for catching this. Good observation, but the mismatch is pre-existing rather than a regression from this PR. On main this script invokes npm run build-dev:hca-dcp, which doesn't exist in package.json — the script was already broken. The PR repointed it to the surviving build-ma-dev:hca-dcp so it actually runs; the UCSC sitemap-domain quirk surfaces only because the script is now functional. cc @NoopDog — happy to handle in a follow-up (either a per-deploy NEXT_PUBLIC_SITEMAP_DOMAIN=... override in the .sh, or a CC-specific site-config env) if you'd like, but flagging that this isn't strictly introduced here.

@@ -9,7 +9,7 @@ n 22.12.0
npm ci

# Build
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same shape as the cc-explore comment: on main this script invokes npm run build-cc-ma-dev:hca-dcp, which also doesn't exist in package.json (the cc-ma-dev config is what this PR deletes). The PR repointed it to build-ma-dev:hca-dcp. The sitemap-domain mismatch you flagged isn't a regression — it just becomes visible now that the script runs. cc @NoopDog for the same call: per-deploy .env override, dedicated site-config, or accept the mismatch since these are CC dev previews.

Comment thread site-config/hca-dcp/ma-prod/config.ts
@frano-m frano-m force-pushed the fran/4820-hca-dcp-config branch from 1bba810 to 54c19d7 Compare May 13, 2026 04:55
frano-m and others added 5 commits May 14, 2026 17:16
… makeconfig to ma-dev (#4820)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
…readme path (#4820)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@frano-m frano-m force-pushed the fran/4820-hca-dcp-config branch from 594a671 to be87edf Compare May 14, 2026 07:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[HCA DCP] Clean up unused dev and cc-ma-dev site-configs, relocate makeConfig to ma-dev

3 participants