@@ -60,15 +60,30 @@ export async function spliceConfig({
60
60
return fs . writeFile ( fileName , out )
61
61
}
62
62
63
- function loadGatsbyConfig ( { gatsbyRoot } ) : GatsbyConfig {
64
- const gatsbyConfigFile = resolve ( gatsbyRoot , 'gatsby-config.js' )
63
+ function loadGatsbyConfig ( { gatsbyRoot } ) {
64
+ const gatsbyConfigFileJS = resolve ( gatsbyRoot , 'gatsby-config.js' ) ;
65
+ const gatsbyConfigFileTS = resolve ( gatsbyRoot , 'gatsby-config.ts' ) ;
65
66
66
- if ( ! existsSync ( gatsbyConfigFile ) ) {
67
- return { }
67
+ let gatsbyConfigFile = '' ;
68
+
69
+ if ( existsSync ( gatsbyConfigFileJS ) ) {
70
+ gatsbyConfigFile = gatsbyConfigFileJS ;
71
+ } else if ( existsSync ( gatsbyConfigFileTS ) ) {
72
+ gatsbyConfigFile = gatsbyConfigFileTS ;
73
+ } else {
74
+ return { } ;
75
+ }
76
+
77
+ const resolvedGatsbyConfigFile = resolveModule . sync ( gatsbyConfigFile , {
78
+ extensions : [ '.js' , '.ts' ] ,
79
+ } ) ;
80
+
81
+ if ( ! resolvedGatsbyConfigFile ) {
82
+ return { } ;
68
83
}
69
84
70
85
// eslint-disable-next-line n/global-require, import/no-dynamic-require, @typescript-eslint/no-var-requires
71
- return require ( gatsbyConfigFile ) as GatsbyConfig
86
+ return require ( resolvedGatsbyConfigFile ) ;
72
87
}
73
88
74
89
function hasPlugin ( plugins : PluginRef [ ] , pluginName : string ) : boolean {
0 commit comments