{
  "version": 2,
  "outputCapture": "direct-nodejs",
  "title": "Module Federation Dev Server",
  "description": "Serve a web application.",
  "cli": "nx",
  "type": "object",
  "properties": {
    "devRemotes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of remote applications to run in development mode (i.e. using serve target).",
      "x-priority": "important"
    },
    "skipRemotes": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "List of remote applications to not automatically serve, either statically or in development mode. This will not remove the remotes from the `module-federation.config` file, and therefore the application may still try to fetch these remotes.\nThis option is useful for when the `host` application is using a `remote` that does not live in the same workspace as the `host`.",
      "x-priority": "important"
    },
    "buildTarget": {
      "type": "string",
      "description": "Target which builds the application.",
      "x-priority": "important"
    },
    "port": {
      "type": "number",
      "description": "Port to listen on.",
      "default": 4200,
      "x-priority": "important"
    },
    "host": {
      "type": "string",
      "description": "Host to listen on.",
      "default": "localhost"
    },
    "ssl": {
      "type": "boolean",
      "description": "Serve using `HTTPS`.",
      "default": false
    },
    "sslKey": {
      "type": "string",
      "description": "SSL key to use for serving `HTTPS`."
    },
    "sslCert": {
      "type": "string",
      "description": "SSL certificate to use for serving `HTTPS`."
    },
    "watch": {
      "type": "boolean",
      "description": "Watches for changes and rebuilds application.",
      "default": true
    },
    "liveReload": {
      "type": "boolean",
      "description": "Whether to reload the page on change, using live-reload.",
      "default": true
    },
    "hmr": {
      "type": "boolean",
      "description": "Enable hot module replacement.",
      "default": false
    },
    "publicHost": {
      "type": "string",
      "description": "Public URL where the application will be served."
    },
    "open": {
      "type": "boolean",
      "description": "Open the application in the browser.",
      "default": false,
      "x-priority": "important"
    },
    "allowedHosts": {
      "type": "string",
      "description": "This option allows you to whitelist services that are allowed to access the dev server."
    },
    "memoryLimit": {
      "type": "number",
      "description": "Memory limit for type checking service process in `MB`."
    },
    "maxWorkers": {
      "type": "number",
      "description": "Number of workers to use for type checking."
    },
    "baseHref": {
      "type": "string",
      "description": "Base url for the application being built."
    },
    "static": {
      "type": "boolean",
      "description": "Whether to use a static file server instead of the webpack-dev-server. This should be used for remote applications that are also host applications."
    },
    "isInitialHost": {
      "type": "boolean",
      "description": "Whether the host that is running this executor is the first in the project tree to do so.",
      "default": true,
      "x-priority": "internal"
    },
    "parallel": {
      "type": "number",
      "description": "Max number of parallel processes for building static remotes"
    },
    "staticRemotesPort": {
      "type": "number",
      "description": "The port at which to serve the file-server for the static remotes."
    },
    "pathToManifestFile": {
      "type": "string",
      "description": "Path to a Module Federation manifest file (e.g. `my/path/to/module-federation.manifest.json`) containing the dynamic remote applications relative to the workspace root."
    }
  }
}
