UNPKG

openapi-generator-plus

Version:

Modular OpenAPI code generator written in TypeScript and Node.js

18 lines (16 loc) 624 B
/* eslint-disable @typescript-eslint/no-require-imports */ import { CodegenGeneratorConstructor } from '@openapi-generator-plus/types' import path from 'path' import { promises as fs } from 'fs' export async function loadGeneratorConstructor(name: string): Promise<CodegenGeneratorConstructor<unknown>> { const generatorPath = path.resolve(name) try { /* First try as a local file */ await fs.access(generatorPath) return require(generatorPath).default } catch (error) { /* Resolve generator as a local module */ const resolved = require.resolve(name, { paths: ['.'] }) return require(resolved).default } }