teqo-backup/scripts/lib/importMapContract.mjs
Francisco Solla fea6c64514 fix(admin): restaura S3ClientUploadHandler no importMap — admin em branco em prod (4ª recorrência da classe OPS69)
O importMap commitado perdeu a entrada do handler S3 no 1c865bd8
(regenerado sem as envs S3_*): com S3_* em prod, getFromImportMap
retorna undefined e a raiz do Payload não monta — tela branca, zero
erros de console, invisível no loop local (storage local em dev/test).

Fix da causa: regeneração com S3_* dummy (+2 linhas). Prevenção no
mesmo PR — o guard planejado no OPS69 (depends #77/#87) que nunca
existiu: pin unit, guard CI+deploy que regenera com envs dummy e falha
em divergência, wrapper do generate:importmap que injeta as envs, e
contrato compartilhado da chave. Post-mortem + changelog incluídos.
2026-08-26 20:27:22 -03:00

20 lines
705 B
JavaScript

/**
* Contract shared by the importMap unit pin and the CI guard. The admin goes
* blank in production when the importMap loses the S3 upload handler entry
* (class OPS69/OPS72/OPS73 — the importMap regenerated without the S3_* envs).
*/
export const S3_UPLOAD_HANDLER_KEY = '@payloadcms/storage-s3/client#S3ClientUploadHandler'
export const S3_UPLOAD_HANDLER_IMPORT_PREFIX =
'import { S3ClientUploadHandler as S3ClientUploadHandler_'
/**
* Env keys that gate the s3Storage plugin (see src/utilities/mediaStorage.ts).
* Kept in sync by the `importMapContract` unit pin.
*/
export const S3_STORAGE_ENV_KEYS = [
'S3_BUCKET',
'S3_ENDPOINT',
'S3_ACCESS_KEY_ID',
'S3_SECRET_ACCESS_KEY',
]