mirror of
https://github.com/vale981/apollo-server
synced 2025-03-04 17:21:42 -05:00
Introduce a apollo-server-plugin-base
as a foundation for plugins.
This commit is contained in:
parent
98d4fc3674
commit
94a146a07e
7 changed files with 80 additions and 0 deletions
4
package-lock.json
generated
4
package-lock.json
generated
|
@ -2176,6 +2176,7 @@
|
|||
"apollo-server-caching": "file:packages/apollo-server-caching",
|
||||
"apollo-server-env": "file:packages/apollo-server-env",
|
||||
"apollo-server-errors": "file:packages/apollo-server-errors",
|
||||
"apollo-server-plugin-base": "file:packages/apollo-server-plugin-base",
|
||||
"apollo-tracing": "file:packages/apollo-tracing",
|
||||
"graphql-extensions": "file:packages/graphql-extensions",
|
||||
"graphql-subscriptions": "^0.5.8",
|
||||
|
@ -2321,6 +2322,9 @@
|
|||
"micro": "^9.3.2"
|
||||
}
|
||||
},
|
||||
"apollo-server-plugin-base": {
|
||||
"version": "file:packages/apollo-server-plugin-base"
|
||||
},
|
||||
"apollo-tracing": {
|
||||
"version": "file:packages/apollo-tracing",
|
||||
"requires": {
|
||||
|
|
6
packages/apollo-server-plugin-base/.npmignore
Normal file
6
packages/apollo-server-plugin-base/.npmignore
Normal file
|
@ -0,0 +1,6 @@
|
|||
*
|
||||
!src/**/*
|
||||
!dist/**/*
|
||||
dist/**/*.test.*
|
||||
!package.json
|
||||
!README.md
|
4
packages/apollo-server-plugin-base/CHANGELOG.md
Normal file
4
packages/apollo-server-plugin-base/CHANGELOG.md
Normal file
|
@ -0,0 +1,4 @@
|
|||
# Change Log
|
||||
|
||||
### vNEXT
|
||||
|
1
packages/apollo-server-plugin-base/README.md
Normal file
1
packages/apollo-server-plugin-base/README.md
Normal file
|
@ -0,0 +1 @@
|
|||
# `apollo-server-plugin-base`
|
21
packages/apollo-server-plugin-base/package.json
Normal file
21
packages/apollo-server-plugin-base/package.json
Normal file
|
@ -0,0 +1,21 @@
|
|||
{
|
||||
"name": "apollo-server-plugin-base",
|
||||
"version": "0.0.1",
|
||||
"description": "Apollo Server plugin base classes",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
"scripts": {
|
||||
"clean": "rm -rf dist",
|
||||
"compile": "tsc",
|
||||
"prepare": "npm run clean && npm run compile"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "Apollo <opensource@apollographql.com>",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=6"
|
||||
},
|
||||
"dependencies": {
|
||||
"apollo-server-caching": "file:../apollo-server-caching"
|
||||
}
|
||||
}
|
35
packages/apollo-server-plugin-base/src/index.ts
Normal file
35
packages/apollo-server-plugin-base/src/index.ts
Normal file
|
@ -0,0 +1,35 @@
|
|||
import { GraphQLSchema } from 'graphql';
|
||||
import { KeyValueCache } from 'apollo-server-caching';
|
||||
|
||||
export abstract class ApolloServerPluginBase {
|
||||
[key: string]: any;
|
||||
constructor(public options?: any) {}
|
||||
serverWillStart?(parent: any): void;
|
||||
}
|
||||
|
||||
interface ApolloServerRequestListenerInterface {
|
||||
start?(): void;
|
||||
}
|
||||
|
||||
export abstract class ApolloServerRequestListenerBase
|
||||
implements ApolloServerRequestListenerInterface {
|
||||
constructor() {}
|
||||
start?(): void;
|
||||
}
|
||||
|
||||
interface PluginEventBase {
|
||||
name: string;
|
||||
args?: any;
|
||||
}
|
||||
|
||||
export interface PluginEventServerWillStart extends PluginEventBase {
|
||||
args: {
|
||||
schema: GraphQLSchema;
|
||||
persistedQueries?: {
|
||||
cache: KeyValueCache;
|
||||
};
|
||||
engine?: any;
|
||||
};
|
||||
}
|
||||
|
||||
export type PluginEvent = PluginEventServerWillStart;
|
9
packages/apollo-server-plugin-base/tsconfig.json
Normal file
9
packages/apollo-server-plugin-base/tsconfig.json
Normal file
|
@ -0,0 +1,9 @@
|
|||
{
|
||||
"extends": "../../tsconfig",
|
||||
"compilerOptions": {
|
||||
"rootDir": "./src",
|
||||
"outDir": "./dist"
|
||||
},
|
||||
"include": ["src/**/*"],
|
||||
"exclude": ["**/__tests__", "**/__mocks__"]
|
||||
}
|
Loading…
Add table
Reference in a new issue