strapi/packages/core/admin/utils/get-custom-app-config-file.js

34 lines
824 B
JavaScript
Raw Normal View History

'use strict';
const { join } = require('path');
const fse = require('fs-extra');
const { isUsingTypeScript } = require('@strapi/typescript-utils');
/**
* Retrieve the custom admin entry file name
* @param {String} dir - Directory of the admin panel
* @returns String
*/
2022-08-08 23:33:39 +02:00
const getCustomAppConfigFile = async (dir) => {
const adminSrcPath = join(dir, 'src', 'admin');
if (!fse.pathExistsSync(adminSrcPath)) {
return undefined;
}
const useTypeScript = await isUsingTypeScript(adminSrcPath, 'tsconfig.json');
const files = await fse.readdir(adminSrcPath);
2022-08-08 23:33:39 +02:00
const appJsx = files.find((file) => /^app.jsx?$/.test(file));
const appTsx = files.find((file) => /^app.tsx?$/.test(file));
2022-06-07 17:33:20 +02:00
if (useTypeScript) {
return appTsx || appJsx;
}
return appJsx;
};
module.exports = getCustomAppConfigFile;