Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Enum values are not validated

Aperta
#374 1 commento 5 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
3/5
Tempo stimato
1-2 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Ferma
Stack tecnologico
typescript
Ambito
tooling

Direzione di ricerca

Inizia riproducendo il problema con un campo enum il cui valore di frontmatter è assente dal relativo array options, quindi traccia i punti di ingresso della build di Contentlayer e della convalida dello schema. Il lavoro è completato quando la build rifiuta il valore non valido, mentre i valori enum validi continuano a generare documenti e tipi TypeScript.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

feature meta: never-stale topic: data validation

I've seen some examples on issues of people using a field of type enum to specify the page locale.

---
locale: 'en'
---
(...)
defineDocumentType(() => ({
    [...],
    fields: {
        locale: {
            type: 'enum',
            options: ['en', 'es', 'de'],
            required: true
        }
    }
}));

I've just seen on contentlayer@0.3.0 that if you have a file with an invalid enum value (not in the options array), then the build will complete successfully.

---
locale: 'not in the options array'
---
(...)
$ yarn contentlayer build
yarn run v1.22.19
$ /(...)/node_modules/.bin/contentlayer build
Generated 2 documents in .contentlayer
Done in 1.32s.

I understand that even if it does not validate values, the enum type field is really useful once it automatically generates TS types, but given that we can validate fields with required, shouldn't we also be able to validate the if the field value matches what we defined on the schema? (In the case of enum fields)

Lingua principale
TypeScript
Stelle
3.5k
Fork
192
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di contentlayerdev/contentlayer

Tutte le issue di contentlayerdev/contentlayer

Issue simili

Altre issue su TypeScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.