overwrite `field` data with `computedFields` values
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 3/5
- Tempo estimado
- 1-2 dias
- Facilidade para iniciantes
- 32/100
- Tipo de issue
- Bug
- Clareza
- Razoavelmente clara
- Status de atividade
- Estagnada
- Stack de tecnologia
- typescript
- Domínio
- content
Direção de pesquisa
A issue não nomeia nenhum arquivo-fonte ou teste; comece com a reprodução de Blog defineDocumentType e rastreie como os campos e computedFields se tornam tipos gerados. Verifique se um campo computado substitui a descrição e o tipo originais e se os tipos de lista são compatíveis. A tarefa estará concluída quando o tipo gerado contiver o único campo tags pretendido, com cobertura de regressão para este exemplo.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
When defining a document with a field and computedFields child item with the same name, the computedFields field seems to be appended onto the generated type. Resulting in undesired types for the field.
I would have expected the computedFields data to overwrite the field data, both the description and the type.
For reference, I am converting a comma separated string of tags into a parsed array via the computedFields. Here is an example of my document definition:
export const Blog = defineDocumentType(() => ({
name: "Blog",
filePathPattern: `blog/**/*.md`,
fields: {
tags: {
type: "string",
description: "Comma separated listing of tags",
required: false,
},
},
computedFields: {
tags: {
description: "new description",
type: "list",
of: { type: "string" },
resolve: (item) =>
item?.tags?.split(",")?.map((tag) => tag.trim()) ?? undefined,
},
},
}));
Generates these types (simplified for the example):
/** Document types */
export type Blog = {
/** Comma separated listing of tags */
tags?: string | undefined
/** new description */
tags: list
}
Extra note: It also seems like the computedFields children do not support list types, or it may be a bug?
- Linguagem predominante
- TypeScript
- Estrelas
- 3.5k
- Forks
- 192
- Métricas de merge de PRs
- Nenhum PR com merge em 30d
Guia de contribuição
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de contentlayerdev/contentlayer
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 25/100
contentlayerdev/contentlayer#506 · 84 comentários · 47 reações ·
-
Poor/broken monorepo DX: can't specify .contentlayer/ output path, no docs for custom config path Abertahelp wanted meta: never-stale needs-research
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 38/100
contentlayerdev/contentlayer#464 · 4 comentários · 9 reações ·
-
State of the project Abertameta: never-stale
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 10/100
contentlayerdev/contentlayer#429 · 49 comentários · 83 reações ·
-
meta: never-stale topic: markdown/mdx
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
contentlayerdev/contentlayer#421 · 4 reações ·
-
meta: never-stale needs-research topic: schema
Dificuldade 5/5 Mais de uma semana Facilidade para iniciantes 25/100
contentlayerdev/contentlayer#420 ·
Todas as issues de contentlayerdev/contentlayer
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
vercel-labs/just-bash#464 ·
-
looksLikeSlug() is ASCII-only, so non-Latin entity slugs (e.g. Korean) skip exact match and collapse Aberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 65/100
-
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 90/100
TanStack/tanstack.com#1293 ·