File tree Expand file tree Collapse file tree 4 files changed +39
-8
lines changed
Expand file tree Collapse file tree 4 files changed +39
-8
lines changed Original file line number Diff line number Diff line change @@ -33,6 +33,9 @@ const allImports: PresetImport[] = [
3333 ...allImportsWithStyle . map ( ( name ) => {
3434 return [ name , getComponentPath ( name ) ] as PresetImport
3535 } ) ,
36+ ]
37+
38+ const allBaseImports : PresetImport [ ] = [
3639 [ 'ID_INJECTION_KEY' , 'es/hooks/use-id/index.mjs' ] ,
3740 [ 'ZINDEX_INJECTION_KEY' , 'es/hooks/use-z-index/index.mjs' ] ,
3841 [ 'provideGlobalConfig' , 'es/components/config-provider/src/hooks/use-global-config.mjs' ]
@@ -103,6 +106,7 @@ export const defaults: ModuleOptions = {
103106 subComponents : allSubComponents ,
104107 directives : allDirectives ,
105108 imports : allImports ,
109+ baseImports : allBaseImports ,
106110 importStyle : 'css' ,
107111 themes : [ ] ,
108112 noStylesComponents : allNoStylesComponents ,
Original file line number Diff line number Diff line change 11import { addImportsSources } from '@nuxt/kit'
22import { iconLibraryName , libraryName } from '../config'
33import { genIconPresets , resolvePath , toArray } from '../utils'
4- import type { ModuleOptions } from '../types'
4+ import type { ModuleOptions , PresetImport } from '../types'
5+
6+ function _resolveImports ( ...imports : PresetImport [ ] ) {
7+ imports . forEach ( async ( [ name , path ] ) => {
8+ addImportsSources ( {
9+ from : await resolvePath ( `${ libraryName } /${ path } ` ) ,
10+ imports : toArray ( name )
11+ } )
12+ } )
13+ }
514
615export async function resolveImports ( config : ModuleOptions ) {
716 const { imports, icon } = config
817 const icons = icon !== false ? genIconPresets ( icon ) : [ ]
918 const allImports = new Set ( imports )
1019 const allIcons = new Set ( icons )
1120
12- allImports . forEach ( async ( [ name , path ] ) => {
13- addImportsSources ( {
14- from : await resolvePath ( `${ libraryName } /${ path } ` ) ,
15- imports : toArray ( name )
16- } )
17- } )
21+ _resolveImports ( ...allImports )
1822
1923 addImportsSources ( {
2024 from : await resolvePath ( iconLibraryName ) ,
2125 imports : [ ...allIcons ]
2226 } )
2327}
28+
29+ export function resolveBaseImports ( config : ModuleOptions ) {
30+ const { baseImports } = config
31+
32+ _resolveImports ( ...baseImports )
33+ }
34+
Original file line number Diff line number Diff line change @@ -11,7 +11,8 @@ import {
1111 resolveTeleports ,
1212 resolveThemes ,
1313 transformPlugin ,
14- localePlugin
14+ localePlugin ,
15+ resolveBaseImports ,
1516} from './core/index'
1617import type { ModuleOptions } from './types'
1718export type { ModuleOptions } from './types'
@@ -30,6 +31,7 @@ export default defineNuxtModule<ModuleOptions>({
3031
3132 resolveOptions ( )
3233 resolveThemes ( options )
34+ resolveBaseImports ( options )
3335 nuxt . options . imports . autoImport !== false && resolveImports ( options )
3436 nuxt . options . components !== false && resolveComponents ( options )
3537
Original file line number Diff line number Diff line change @@ -71,6 +71,20 @@ export interface ModuleOptions extends TransformOptions {
7171 * ```
7272 */
7373 imports : PresetImport [ ]
74+ /**
75+ *
76+ * List of imports that will be imported whether if autoImports is disabled.
77+ *
78+ * @default
79+ * ```ts
80+ * [
81+ * ["ID_INJECTION_KEY", "es/hooks/use-id/index.mjs"],
82+ * ["ZINDEX_INJECTION_KEY", "es/hooks/use-z-index/index.mjs"],
83+ * ["provideGlobalConfig", "es/components/config-provider/src/hooks/use-global-config.mjs"],
84+ * ]
85+ * ```
86+ */
87+ baseImports : PresetImport [ ]
7488 /**
7589 * import style css or sass(scss) with components
7690 *
You can’t perform that action at this time.
0 commit comments