/* eslint-disable @typescript-eslint/no-explicit-any */ import * as dotenv from 'dotenv-flow' import * as ts from 'typescript' import { Env } from '@diia-inhouse/env' import ActionVisitor from './actionVisitor.js' dotenv.config({ silent: true }) const defaultActionsDir = 'src/actions/' function before(program: ts.Program): ts.Transformer { return (ctx: ts.TransformationContext): ts.Transformer => { return (sf: ts.SourceFile): ReturnType => { const isAction: boolean = sf.fileName.includes(defaultActionsDir) if (isAction) { return ActionVisitor.visit(sf, ctx, program) } return sf } } } const transformer = (): ts.Transformer => (sf) => sf export default function (program: ts.Program): ts.Transformer { return process.env.NODE_ENV === Env.Prod ? transformer : before(program) }