Хм, возможно, вы можете подключиться к onCreateWebpackConfig
и проверить расширения там:
// gatsby-node.js
exports.onCreateWebpackConfig = ({ getConfig }) => {
const { extensions } = getConfig().resolve
const hasTs = extensions.find(ext => ['.ts', '.tsx'].includes(ext))
console.log(hasTs) // undefined if no ts
}
Но если вам нужна эта информация заранее, самый верный способ - проверить, есть ли в каталоге src
какие-либо ts-файлы с чем-то вроде glob
const path = require(`path`)
const glob = require(`glob`)
const checkTs = ({ directory }) => {
const srcFolder = path.join(directory, 'src')
const tsFiles = glob.sync(`${srcFolder}/**/*.ts{,x}`)
return (tsFiles.length > 0)
}
exports.onPreInit = ({ store }) => {
const { directory } = store.getState().program
const hasTs = checkTs({ directory })
console.log({ hasTs })
}
Мне любопытно, зачем вам эта информация? Если бы я реализовывал функцию, специфичную для машинописного текста, я бы доверил пользователям использовать ее, только если они используют машинописный текст.