UNPKG

@accility/protoc-swagger-plugin

Version:

Convert .proto files to OpenAPI v2 (swagger) files.

20 lines (17 loc) 812 B
import { ProtocOptions, protoc, OutputOptions, createGeneratorOptions, GeneratorOptions} from '@accility/protoc-tools'; import * as apis from 'google-proto-files'; import { resolve } from 'path'; const extension = process.platform === 'win32' ? '.exe' : ''; export function fromProto(options: ProtocOptions) : Promise<void> { options.includeDirs.push(resolve(apis.getProtoPath(), '..')); options.outOptions = [createSwaggerOptions()]; return protoc(options); } export function createSwaggerOptions({outPath = undefined, outOptions = undefined}: GeneratorOptions = {}): OutputOptions { return { name: 'swagger', pluginPath: resolve(__dirname, '../../native/bin', process.platform, process.arch, 'protoc-gen-swagger' + extension), outPath, outOptions } };