Skip to content

Refactor : Software types unification#498

Open
JeromeBu wants to merge 18 commits intomainfrom
uniform-software-shape
Open

Refactor : Software types unification#498
JeromeBu wants to merge 18 commits intomainfrom
uniform-software-shape

Conversation

@JeromeBu
Copy link
Collaborator

No description provided.

@JeromeBu JeromeBu self-assigned this Feb 20, 2026
@JeromeBu JeromeBu changed the title docs: add roadmap for software types unification Refactor : Software types unification Feb 20, 2026
@JeromeBu JeromeBu linked an issue Feb 20, 2026 that may be closed by this pull request
83 tasks
JeromeBu and others added 16 commits March 6, 2026 13:55
- Rename Os -> LegacyOs in existing types
- Rename SimilarSoftware -> LegacySimilarSoftware in Software namespace
- Create new types in api/src/core/types/SoftwareTypes.ts:
  Os, RuntimePlatform, Dereferencing, SimilarSoftware,
  SoftwareData, SoftwareInternal, SoftwareExternal, SoftwarePublic
- Export new types from api/src/lib/index.ts and ApiTypes.ts
- Legacy types preserved for backward compatibility
Rename software_external_datas columns to match canonical Software type
(label→name, developers→authors, websiteUrl→url, sourceUrl→codeRepositoryUrl,
documentationUrl→softwareHelp, logoUrl→image, publicationTime→dateCreated,
softwareVersion→latestVersion as jsonb). Add operatingSystems and
runtimePlatforms columns. Update all adapters, queries, mappers, and tests.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Migrate softwares DB columns: referencedSinceTime→addedTime (text ISO),
updateTime→text ISO, description→jsonb LocalizedString,
categories→applicationCategories, softwareType→operatingSystems+runtimePlatforms.
Drop workshopUrls and generalInfoMd. Legacy output reconstructed for web compat.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
… and runtimePlatforms

Remove discriminated SoftwareType union (Desktop/Cloud/Stack) across API and web.
Replace with canonical operatingSystems (Record<Os, boolean>) and runtimePlatforms
(RuntimePlatform[]) fields throughout domain types, DB ports, usecases, router,
autofill adapters, form state, selectors, and UI components.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…veSoftwareType

Remove CanonicalSoftware alias and unused type re-exports (SoftwareVariant,
Dereferencing, SimilarSoftware, SoftwareData, SoftwareInternal, SoftwareExternal,
SoftwarePublic). Rename resolveSoftwareType → resolveOsAndPlatforms. Update docs
to reflect phases 2–5 completion.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Rename all legacy field names to canonical schema across both API and web:
- SoftwareExternalData fields (label→name, developers→authors, etc.)
- Web usecases, UI pages, selectors aligned with canonical types
- Remove GetServiceProviders port (providers now from external data)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…ename logoUrl to image

Remove legacy mapper layer (toLegacySoftwareExternalData, castToSoftwareExternalData),
delete SoftwareExternalData type, simplify DB repo to accept only canonical types,
rename softwares.logoUrl column to image with migration.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…eData types, fix zenodo fixture

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…for all softwares

Bulk version of getDetails — 5 parallel queries, enriched similar
softwares, merged external data into flat Software shape. Own 2h
memoized handler, no change to v1 or tRPC paths.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@JeromeBu JeromeBu force-pushed the uniform-software-shape branch from 237e138 to 09960ff Compare March 6, 2026 13:03
…eType

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@JeromeBu JeromeBu marked this pull request as ready for review March 6, 2026 13:57
Rename sameAs to similarSoftwares, use LocalizedString for name/description,
ISO date strings instead of timestamps, canonical latestVersion fields
(version/releaseDate), simplify DB repository mapping.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@JeromeBu JeromeBu force-pushed the uniform-software-shape branch from bc8c8fb to eaed03a Compare March 6, 2026 15:37
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.

Unification des types Software basée sur Schema.org/CodeMeta

1 participant