在盖茨比插件中检测当前项目是否使用typescript?

在盖茨比插件中检测当前项目是否使用typescript?,typescript,gatsby,Typescript,Gatsby,可能吗?也许用类似的东西 提前感谢Hhhm也许您可以连接到onCreateWebpackConfig&检查那里的扩展: //gatsby-node.js exports.onCreateWebpackConfig=({getConfig})=>{ const{extensions}=getConfig().resolve const hasTs=extensions.find(ext=>['.ts','.tsx'].includes(ext)) console.log(hasTs)//如果没有t

可能吗?也许用类似的东西


提前感谢

Hhhm也许您可以连接到
onCreateWebpackConfig
&检查那里的扩展:

//gatsby-node.js
exports.onCreateWebpackConfig=({getConfig})=>{
const{extensions}=getConfig().resolve
const hasTs=extensions.find(ext=>['.ts','.tsx'].includes(ext))
console.log(hasTs)//如果没有ts,则未定义
}
但是如果您需要这些信息,最可靠的方法是检查
src
目录中是否有类似
glob
的ts文件

const path=require(`path`)
常量glob=require(`glob`)
常量checkTs=({directory})=>{
const srcFolder=path.join(目录“src”)
const tsFiles=glob.sync(`${srcFolder}/***.ts{,x}`)
返回(tsFiles.length>0)
}
exports.onPreInit=({store})=>{
const{directory}=store.getState().program
const hasTs=checkTs({directory})
console.log({hasTs})
}

我很好奇你为什么需要这些信息?如果我正在实现一个特定于typescript的功能,我相信用户只有在使用typescript时才会使用它。

谢谢@Derek,我正在构建一个插件,在project/src中寻找默认模板,假设使用一些传统的文件夹结构。我没有检查多个扩展(js、jsx、tsx),而是想知道是否有办法确定盖茨比项目是否使用了typescript。谢谢你的帮助!