UNPKG

1.31 kBJavaScriptView Raw
1"use strict";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
2// project.
3const 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
4// project for the user when we detect TypeScript files. So, we need to check
5// the `pages/` directory for a TypeScript file.
6// Checking all directories is too slow, so this is a happy medium.
7const typescriptFiles=await(0,_recursiveReaddir.recursiveReadDir)(pagesDir,/.*\.(ts|tsx)$/,/(node_modules|.*\.d\.ts)/);if(typescriptFiles.length){return{firstTimeSetup:true};}return false;}
8//# sourceMappingURL=getTypeScriptIntent.js.map
\No newline at end of file