next
Version:
The React Framework
8 lines • 1.31 kB
JavaScript
exports.__esModule=true;exports.getTypeScriptIntent=getTypeScriptIntent;var _fs=require("fs");var _path=_interopRequireDefault(require("path"));var _fileExists=require("../file-exists");var _recursiveReaddir=require("../recursive-readdir");function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}async function getTypeScriptIntent(baseDir,pagesDir){const tsConfigPath=_path.default.join(baseDir,'tsconfig.json');// The integration turns on if we find a `tsconfig.json` in the user's
// project.
const hasTypeScriptConfiguration=await(0,_fileExists.fileExists)(tsConfigPath);if(hasTypeScriptConfiguration){const content=await _fs.promises.readFile(tsConfigPath,{encoding:'utf8'}).then(txt=>txt.trim(),()=>null);return{firstTimeSetup:content===''||content==='{}'};}// Next.js also offers a friendly setup mode that bootstraps a TypeScript
// project for the user when we detect TypeScript files. So, we need to check
// the `pages/` directory for a TypeScript file.
// Checking all directories is too slow, so this is a happy medium.
const typescriptFiles=await(0,_recursiveReaddir.recursiveReadDir)(pagesDir,/.*\.(ts|tsx)$/,/(node_modules|.*\.d\.ts)/);if(typescriptFiles.length){return{firstTimeSetup:true};}return false;}
//# sourceMappingURL=getTypeScriptIntent.js.map
;