contentlayerdev / contentlayerdev/contentlayer
Enum values are not validated
- 主要言語
- TypeScript
- スター
- 3.5k
- フォーク
- 192
- PR マージ指標
- 30日以内にマージされた PR はありません
説明
I've seen some examples on issues of people using a field of type `enum` to specify the page locale.
```
---
locale: 'en'
---
(...)
```
```ts
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'
---
(...)
```
```sh
$ 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)
コントリビューションガイド
評価
この issue はまだ評価されていません。