chore: [hca dcp] clean up unused dev/cc-ma-dev site-configs, relocate makeconfig to ma-dev (#4820)#4826
chore: [hca dcp] clean up unused dev/cc-ma-dev site-configs, relocate makeconfig to ma-dev (#4820)#4826frano-m wants to merge 5 commits into
Conversation
There was a problem hiding this comment.
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/, andprod/site-configs and relocated/expanded configuration logic intohca-dcp/ma-dev(including explicitauthenticationparameterization). - 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 | |||
There was a problem hiding this comment.
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 | |||
There was a problem hiding this comment.
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.
1bba810 to
54c19d7
Compare
594a671 to
be87edf
Compare
Summary
site-config/hca-dcp/{dev,cc-ma-dev,prod}/; promotema-devas the canonical HCA dev config and relocatemakeConfigthere with a new explicitauthenticationparameter so each env builds its own auth without a wasted call.entities/{projects,samples,files}/with a nestedentities/projects/entity/tab/*layout for per-tab MA configs; bake the managed-access overlay (warning row + content wrappers) directly into theEXPORTconfig andgetExportMethodMainColumnhelper so no runtime overlay function is needed.CategoryConfigexports onto the sharedCATEGORY_CONFIGinhca-dcp/ma-dev/categoryGroup/categoryGroupConfig.ts(newsite-config/lungmap/dev/categoryGroup/categoryGroupConfig.ts); move lungmap'sbuildHeroto its own viewModelBuilder; repoint CC preview deploy scripts and update the README cellxgene path.Closes #4820
Test plan
npm run build-ma-dev:hca-dcpsucceeds; sitemap renders all expected routes (verified locally pre-PR).npm run build-ma-prod:hca-dcpsucceeds.npm run build-dev:lungmapsucceeds; category facets render in the correct group order (Project, Donor, Sample, Protocol, File) with the expected facet entries.npm run build-prod:lungmapsucceeds./exportchooser page and each/export/<method>route render with the warning + main + side column layout..gitlab/sites/{dev,prod}/hca/base.yamlbuild scripts still resolve (build-ma-dev:hca-dcp,build-ma-prod:hca-dcp).🤖 Generated with Claude Code