@apollo/server
Version:
Core engine for Apollo GraphQL server
42 lines (34 loc) • 1.57 kB
text/typescript
// This file exports the "disabled" version of various plugins which are
// installed by default under certain circumstances. This lets users explicitly
// choose not to enable these plugins. Note that we explicitly keep these tiny
// plugins separate from the plugins they are enabling; this means that we don't
// have to load (say) the entire `plugin/usageReporting` entry point (which
// includes the whole generated protobuf library, etc) just in order to disable
// usage reporting.
import type { BaseContext, ApolloServerPlugin } from '../../index.js';
import type {
InternalApolloServerPlugin,
InternalPluginId,
} from '../../internalPlugin.js';
function disabledPlugin(id: InternalPluginId): ApolloServerPlugin {
const plugin: InternalApolloServerPlugin<BaseContext> = {
__internal_plugin_id__: id,
__is_disabled_plugin__: true,
};
return plugin;
}
export function ApolloServerPluginCacheControlDisabled(): ApolloServerPlugin<BaseContext> {
return disabledPlugin('CacheControl');
}
export function ApolloServerPluginInlineTraceDisabled(): ApolloServerPlugin<BaseContext> {
return disabledPlugin('InlineTrace');
}
export function ApolloServerPluginLandingPageDisabled(): ApolloServerPlugin<BaseContext> {
return disabledPlugin('LandingPageDisabled');
}
export function ApolloServerPluginSchemaReportingDisabled(): ApolloServerPlugin<BaseContext> {
return disabledPlugin('SchemaReporting');
}
export function ApolloServerPluginUsageReportingDisabled(): ApolloServerPlugin<BaseContext> {
return disabledPlugin('UsageReporting');
}