# Plugins configuration

The configurations for all plugins are stored in ./config/plugins.js (see project structure). Each plugin can be configured with the following available parameters:

Parameter Description Type
enabled Enable (true) or disable (false) an installed plugin Boolean
config

Optional
Used to override default plugin configuration (defined in strapi-server.js) Object
resolve
Optional, only required for local plugins
Path to the plugin's folder String
// path: ./config/plugins.js

module.exports = ({ env }) => ({
  // enable a plugin that doesn't require any configuration
  i18n: true,

  // enable a custom plugin
  myplugin: {
    // my-plugin is going to be the internal name used for this plugin
    enabled: true,
    resolve: './src/plugins/my-local-plugin',
    config: {
      // user plugin config goes here
    },
  },

  // disable a plugin
  myotherplugin: {
    enabled: false, // plugin installed but disabled
  },
});

💡 TIP

If no specific configuration is required, a plugin can also be declared with the shorthand syntax 'plugin-name': true.

# GraphQL configuration

The GraphQL plugin has the following specific configuration options that should be declared in a graphql.config object. All parameters are optional:

Parameter Description Type Default
apolloServer Additional configuration for ApolloServer (opens new window). Object {}
artifacts Object containing filepaths, defining where to store generated articats. Can include the following properties:
  • schema: path to the generated GraphQL schema file
  • typegen: path to generated TypeScript types
Only works if generateArtifacts is set to true.
Object
  • schema: false
  • typegen: false
defaultLimit Default value for the pagination[limit] parameter used in API calls Integer 100
depthLimit Limits the complexity of GraphQL queries (opens new window). Integer 10
generateArtifacts Whether Strapi should automatically generate and output a GraphQL schema file and corresponding TypeScript definitions.

The file system location can be configured through artifacts.
Boolean false
maxLimit Maximum value for the pagination[limit] parameter used in API calls Integer -1
playgroundAlways Whether the playground should be publicly exposed.

Enabled by default in if NODE_ENV is set to development.
Boolean false
shadowCRUD Whether type definitions for queries, mutations and resolvers based on models should be created automatically (see Shadow CRUD documentation). Boolean true
subscriptions Enable GraphQL subscriptions. Boolean false
// path: ./config/plugins.js

module.exports = () => ({
  graphql: {
    enabled: true,
    config: {
      playgroundAlways: false,
      defaultLimit: 10,
      maxLimit: 20
      apolloServer: {
        tracing: true,
      },
    }
  }
})