{
  "$schema": "https://developer.microsoft.com/json-schemas/heft/v0/heft-plugin.schema.json",

  "taskPlugins": [
    {
      "pluginName": "customize-spfx-webpack-configuration-plugin",
      "entryPoint": "./lib-commonjs/plugins/CustomizeWebpackConfigurationPlugin",
      "optionsSchema": "./lib-commonjs/plugins/customize-spfx-webpack-configuration-plugin.schema.json"
    },
    {
      "pluginName": "spfx-webpack-configuration-plugin",
      "entryPoint": "./lib-commonjs/plugins/webpackConfigurationPlugin/WebpackConfigurationPlugin",
      "parameters": [
        {
          "parameterKind": "flag",
          "longName": "--emit-stats",
          "description": "Use this parameter to generate a webpack stats file."
        }
      ]
    },
    {
      "pluginName": "spfx-webpack-serve-configuration-plugin",
      "entryPoint": "./lib-commonjs/plugins/webpackConfigurationPlugin/WebpackServeConfigurationPlugin",
      "parameters": [
        {
          "parameterKind": "flag",
          "longName": "--nobrowser",
          "description": "If specified, do not open the browser after serving."
        },
        {
          "parameterKind": "string",
          "longName": "--serve-config",
          "argumentName": "CONFIG_NAME",
          "description": "If specified, use the provided serve configuration in serve.json."
        }
      ]
    },
    {
      "pluginName": "spfx-eject-webpack-configuration-plugin",
      "entryPoint": "./lib-commonjs/plugins/ejectWebpackPlugin/EjectWebpackPlugin",
      "parameters": [
        {
          "parameterKind": "flag",
          "longName": "--no-install",
          "description": "If specified, skips the install step."
        }
      ]
    },
    {
      "pluginName": "webpack-patch-plugin",
      "entryPoint": "./lib-commonjs/plugins/webpackPatchPlugin/WebpackPatchPlugin"
    },
    {
      "pluginName": "package-solution-plugin",
      "entryPoint": "./lib-commonjs/plugins/packageSolutionPlugin/PackageSolutionPlugin",
      "parameters": [
        {
          "parameterKind": "flag",
          "longName": "--pretty-print-xml",
          "description": "If specified, pretty print the XML files."
        },
        {
          "parameterKind": "flag",
          "longName": "--no-spppkg",
          "description": "If specified, do not create the .spppkg file."
        }
      ]
    },
    {
      "pluginName": "spfx-dev-deploy-plugin",
      "entryPoint": "./lib-commonjs/plugins/devDeployPlugin/DevDeployPlugin",
      "parameters": [
        {
          "parameterKind": "integer",
          "longName": "--max-retries",
          "argumentName": "NUMBER",
          "description": "Overrides the default maximum number of upload retries."
        }
      ]
    },
    {
      "pluginName": "deploy-azure-storage-plugin",
      "entryPoint": "./lib-commonjs/plugins/deployAzureStorage/DeployAzureStoragePlugin",
      "parameters": [
        {
          "parameterKind": "flag",
          "longName": "--skip-try-create-container",
          "description": "If this flag is specified, skip trying to create the container"
        }
      ]
    },
    {
      "pluginName": "third-party-externals-plugin",
      "entryPoint": "./lib-commonjs/plugins/thirdPartyExternalsPlugin/ThirdPartyExternalsPlugin"
    }
  ]
}
