@strapi/strapi
Version:
An open source headless CMS solution to create and manage your own API. It provides a powerful dashboard and features to make your life easier. Databases supported: MySQL, MariaDB, PostgreSQL, SQLite
33 lines (30 loc) • 977 B
JavaScript
import os from 'os';
// Lazy: defer `typescript` (~115 ms) until a CLI command actually loads tsconfig
let lazyTs;
const tsLib = ()=>{
if (!lazyTs) {
// eslint-disable-next-line @typescript-eslint/no-var-requires
lazyTs = require('typescript');
}
return lazyTs;
};
/**
* @description Load a tsconfig.json file and return the parsed config.
*
* @internal
*/ const loadTsConfig = ({ cwd, path, logger })=>{
const tsApi = tsLib();
const configPath = tsApi.findConfigFile(cwd, tsApi.sys.fileExists, path);
if (!configPath) {
return undefined;
}
const configFile = tsApi.readConfigFile(configPath, tsApi.sys.readFile);
const parsedConfig = tsApi.parseJsonConfigFileContent(configFile.config, tsApi.sys, cwd);
logger.debug(`Loaded user TS config:`, os.EOL, parsedConfig);
return {
config: parsedConfig,
path: configPath
};
};
export { loadTsConfig };
//# sourceMappingURL=tsconfig.mjs.map