pathpida
Version:
TypeScript friendly pages and static path generator for Next.js
42 lines • 1.94 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const fs_1 = __importDefault(require("fs"));
const path_1 = __importDefault(require("path"));
exports.default = async (enableStatic, output, igPath, dir = process.cwd()) => {
const ignorePath = igPath && path_1.default.join(dir, igPath);
let config;
try {
// >= v11.1.0
config = await require('next/dist/server/config').default(require('next/constants').PHASE_PRODUCTION_BUILD, dir);
}
catch (_) {
// < v11.1.0
config = await require('next/dist/next-server/server/config').default(require('next/constants').PHASE_PRODUCTION_BUILD, dir);
}
const srcDir = fs_1.default.existsSync(path_1.default.posix.join(dir, 'src/pages')) ||
fs_1.default.existsSync(path_1.default.posix.join(dir, 'src/app'))
? path_1.default.posix.join(dir, 'src')
: dir;
const isAppDirUsed = fs_1.default.existsSync(path_1.default.posix.join(srcDir, 'app'));
let outDir = output;
if (!outDir) {
const utilsPath = path_1.default.join(srcDir, 'utils');
outDir = fs_1.default.existsSync(utilsPath) ? utilsPath : path_1.default.join(srcDir, 'lib');
}
if (!fs_1.default.existsSync(outDir))
fs_1.default.mkdirSync(outDir);
const inputDir = path_1.default.posix.join(srcDir, 'pages');
return {
input: fs_1.default.existsSync(inputDir) ? inputDir : undefined,
staticDir: enableStatic ? path_1.default.posix.join(dir, 'public') : undefined,
output: outDir,
ignorePath,
appDir: isAppDirUsed ? { input: path_1.default.posix.join(srcDir, 'app') } : undefined,
pageExtensions: config.pageExtensions,
basepath: config.basePath,
};
};
//# sourceMappingURL=getConfig.js.map