UNPKG

@mbc-cqrs-serverless/cli

Version:

a CLI to get started with MBC CQRS serverless framework

63 lines (57 loc) 1.66 kB
import { AmplifyAppSyncSimulator, AmplifyAppSyncSimulatorAuthenticationType, AmplifyAppSyncSimulatorConfig, } from '@aws-amplify/amplify-appsync-simulator' import { schema } from './schema' import { readVTL } from './vtl/readVTL' import { resolversConfig } from './resolversConfig' class AppSyncSimulator { httpPort: number constructor(httpPort: number) { this.httpPort = httpPort } async start() { const simulatorConfig: AmplifyAppSyncSimulatorConfig = { appSync: { defaultAuthenticationType: { authenticationType: AmplifyAppSyncSimulatorAuthenticationType.API_KEY, }, name: 'api-local', additionalAuthenticationProviders: [], apiKey: process.env.API_KEY || 'api_key', }, schema: { content: schema }, mappingTemplates: [ { path: 'sendMessage.req.vtl', content: readVTL('sendMessage.req.vtl'), }, { path: 'sendMessage.res.vtl', content: readVTL('sendMessage.res.vtl'), }, ], dataSources: [ { type: 'NONE', name: 'NoneDS', }, ], resolvers: resolversConfig, } const amplifySimulator = new AmplifyAppSyncSimulator({ port: this.httpPort, }) console.log('simulatorConfig', simulatorConfig) await amplifySimulator.start() await amplifySimulator.init(simulatorConfig) } } const httpPort = Number(process.env.PORT) || 4000 const simulator = new AppSyncSimulator(httpPort) simulator.start().then(() => { console.log( `🚀 App Sync Simulator started at http://localhost:${httpPort}/graphql`, ) })