import path from 'path'; import { APP_NAME, COMPANY_NAME } from '../../src/constants'; const idSeparator = '_'; const ID_PREFIX = `${COMPANY_NAME}_${APP_NAME}_${process.env.NODE_ENV}`; /** * get a usable id for name and id field. Can be used multiple times to * create namespaces of sorts. */ export const getId = (...fields: string[]) => { if (fields[0]?.startsWith(ID_PREFIX)) { return fields.join(idSeparator); } return `${ID_PREFIX}${fields.length > 0 ? idSeparator : ''}${fields.join( idSeparator )}`; }; // @NOTE HACK: This is sensitive to moves and tsconfig build changes const REPO_ROOT_DIR = path.join(__dirname, '../../..'); /** * Joins with the root dir to return an absolute path to a file or directory */ export const getPathFromRoot = (location?: string): string => { return path.join(REPO_ROOT_DIR, location ?? ''); };