0.22.0 • Published 4 years ago

@emmert/context v0.22.0

Weekly downloads
68
License
MIT
Repository
-
Last release
4 years ago

Create Context

Tools for composing application context with middleware.

Architecture

Create apps by concatinating middleware.

Installation

NPM
npm install @emmert/context

Yarn
yarn add @emmert/context

Configuration & Setup

Create an express application

export async function createAppContext() {
    const context = new AppContext()

    const app = express()
    const dbConfig = await getDbConfig()

    await context.use(
        expressMiddleware(app),
        resourcesMiddleware({
            defaultLanguage: 'en',
            resources: async () => {
                const resourcesDir = path.join('src', 'resources')
                const resources = await loadResourcesFromDirectory(resourcesDir)
                return resources
            },
        }),
        typeOrmMiddleware(dbConfig.default),
        graphQLMiddleware((appContext: AppContext) => ({
            schema: buildFederatedSchema([
                {
                    typeDefs,
                    resolvers: resolvers(appContext),
                },
            ]),
            context: async (express): Promise<RequestContext> => {
                const context = new RequestContext()
                await context.use(
                    appContext.asMiddleware,
                    expressContextMiddleware(express.req),
                    resourcesMiddlewareForLocale(
                        express.req.headers['language'] as string,
                    ),
                    authClient.middleware,
                )

                return context
            },
        })),
    )
0.22.0

4 years ago

0.21.8

4 years ago

0.21.2

4 years ago

0.21.9

4 years ago

0.21.1

4 years ago

0.21.0

4 years ago

0.20.11

4 years ago

0.20.0

4 years ago

0.19.0

4 years ago

0.19.1

4 years ago

0.19.2

4 years ago

0.19.3

4 years ago

0.19.4

4 years ago

0.18.0

4 years ago

0.17.0

4 years ago

0.16.6

4 years ago

0.16.7

4 years ago

0.16.0

4 years ago

0.14.0

5 years ago

0.15.0

5 years ago

0.13.0

5 years ago

0.12.0

5 years ago

0.11.1

5 years ago

0.11.0

5 years ago

0.9.0

5 years ago

0.8.0

5 years ago

0.7.0

5 years ago

0.6.0

5 years ago

0.5.0

5 years ago

0.4.1

5 years ago

0.4.0

5 years ago

0.3.1

5 years ago

0.3.0

5 years ago

0.2.28

5 years ago

0.2.28-alpha.0

5 years ago

0.2.27

5 years ago

0.2.27-alpha.1

5 years ago

0.2.27-alpha.0

5 years ago

0.2.26

5 years ago

0.2.25

5 years ago