Skip to content

Commit 8a127db

Browse files
authored
feat(module): metaFields option to exclude fields from output (#55)
1 parent bfd4592 commit 8a127db

File tree

3 files changed

+22
-6
lines changed

3 files changed

+22
-6
lines changed

src/module.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,12 @@ export default defineNuxtModule<ModuleOptions>({
2828
components: [],
2929
silent: true,
3030
exclude: ['nuxt/dist/app/components/client-only', 'nuxt/dist/app/components/dev-only'],
31+
metaFields: {
32+
props: true,
33+
slots: true,
34+
events: true,
35+
exposed: true
36+
},
3137
transformers: [
3238
// @nuxt/content support
3339
(component, code) => {

src/options.ts

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,16 @@ export interface ModuleOptions {
4646
/**
4747
* Filter all components that are not global.
4848
*/
49-
globalsOnly?: boolean
49+
globalsOnly?: boolean,
50+
/**
51+
* Filter meta properties to be included in the output.
52+
*/
53+
metaFields: {
54+
props: boolean,
55+
slots: boolean,
56+
events: boolean,
57+
exposed: boolean
58+
},
5059
}
5160

5261
export interface ModuleHooks {

src/parser.ts

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,8 @@ export function useComponentMetaParser (
1616
checkerOptions,
1717
exclude = [],
1818
transformers = [],
19-
debug = false
19+
debug = false,
20+
metaFields
2021
}: ModuleOptions
2122
) {
2223
const logger = consola.withScope('nuxt-component-meta')
@@ -159,10 +160,10 @@ export function useComponentMetaParser (
159160

160161
const { props, slots, events, exposed } = checker.getComponentMeta(component.fullPath)
161162

162-
component.meta.slots = slots
163-
component.meta.events = events
164-
component.meta.exposed = exposed
165-
component.meta.props = props
163+
component.meta.slots = metaFields.slots ? slots : []
164+
component.meta.events = metaFields.events ? events : []
165+
component.meta.exposed = metaFields.exposed ? exposed : []
166+
component.meta.props = (metaFields.props ? props : [])
166167
.filter(prop => !prop.global)
167168
.sort((a, b) => {
168169
// sort required properties first

0 commit comments

Comments
 (0)