UNPKG

siegel

Version:

Web application development ecosystem

33 lines (32 loc) 1.23 kB
import { join } from 'path'; import { LOC_NAMES } from '../constants.js'; import requireJSON from './require_json.js'; function tsToWebpackAliases(tsConfigDirPath, tsConfigFileName = LOC_NAMES.TS_JSON) { const tsConfigPath = join(tsConfigDirPath, tsConfigFileName); let paths = {}; try { const tsConfig = requireJSON(tsConfigPath); const compilerOptions = tsConfig?.compilerOptions; if (compilerOptions) { if (compilerOptions?.paths) { paths = compilerOptions.paths; } else console.error('Field [paths] is not exist in [compilerOptions]\nin %s', tsConfigPath); } else console.error('Field [compilerOptions] is not exist\nin %s', tsConfigPath); } catch (e) { console.error('Can`t process %s located at:\n%s\n%s', LOC_NAMES.TS_JSON, tsConfigPath, e); } const aliases = {}; Object.entries(paths) .forEach(([tsAlias, tsAliasPaths]) => { const WPAlias = tsAlias.replace('/*', ''); const WPPath = tsAliasPaths[0].replace('/*', ''); aliases[WPAlias] = join(tsConfigDirPath, WPPath); }); return aliases; } export default tsToWebpackAliases;