@@ -3,12 +3,7 @@ import { extname } from 'pathe'
33import { name , version } from '../package.json'
44import { defineNuxtModule , hasNuxtModule , installModule } from '@nuxt/kit'
55import { ModuleHelper } from './build/classes/ModuleHelper'
6- import adminToolbar from './build/features/adminToolbar'
7- import devMode from './build/features/devMode'
8- import drupalRoute from './build/features/drupalRoute'
9- import frontendRouting from './build/features/frontendRouting'
10- import localTasks from './build/features/localTasks'
11- import trustedOrigins from './build/features/trustedOrigins'
6+ import { FEATURE_KEYS , FEATURES } from './build/features'
127import { logger } from './build/helpers'
138import {
149 COMPONENTS ,
@@ -57,37 +52,21 @@ export default defineNuxtModule<ModuleOptions>({
5752 } )
5853 }
5954
60- const helper = new ModuleHelper ( nuxt , import . meta. url , {
55+ const helper = new ModuleHelper ( nuxt , options , import . meta. url , {
6156 debug : true ,
6257 isModuleBuild,
6358 } )
6459
6560 // Each feature can throw an error, for example when types or fields are
6661 // missing from the GraphQL schema.
6762 try {
68- if ( options . adminToolbar ?. enabled || helper . isModuleBuild ) {
69- adminToolbar . setup ( helper , options . adminToolbar )
70- }
71-
72- if ( options . devMode ?. enabled || helper . isModuleBuild ) {
73- devMode . setup ( helper , options . devMode )
74- }
75-
76- if ( options . drupalRoute ?. enabled || helper . isModuleBuild ) {
77- drupalRoute . setup ( helper , options . drupalRoute )
78- }
79-
80- if ( options . frontendRouting ?. enabled || helper . isModuleBuild ) {
81- frontendRouting . setup ( helper , options . frontendRouting )
82- }
83-
84- if ( options . localTasks ?. enabled || helper . isModuleBuild ) {
85- localTasks . setup ( helper , options . localTasks )
86- }
87-
88- if ( options . trustedOrigins ?. enabled || helper . isModuleBuild ) {
89- trustedOrigins . setup ( helper , options . trustedOrigins )
90- }
63+ FEATURE_KEYS . forEach ( ( key ) => {
64+ const featureOptions = options [ key ]
65+ if ( featureOptions ?. enabled || helper . isModuleBuild ) {
66+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
67+ FEATURES [ key ] . setup ( helper , featureOptions as any )
68+ }
69+ } )
9170 } catch ( e ) {
9271 if ( e instanceof Error ) {
9372 logger . box ( e . message )
0 commit comments