{
  "id": "#",
  "title": "Clean Package Executor",
  "description": "The clean package executor is responsible for removing unnecessary files and fields from a distributable package to make it as light as possible (for scenarios like edge computing, limited memory environments, etc.)",
  "properties": {
    "outputPath": {
      "title": "Output Path",
      "type": "string",
      "description": "The path to the output",
      "id": "#outputPath",
      "default": "dist/{projectRoot}"
    },
    "packageJsonPath": {
      "title": "Package JSON Path",
      "type": "string",
      "format": "path",
      "description": "The path to the package.json that will be modified",
      "id": "#packageJsonPath",
      "default": "{outputPath}/package.json"
    },
    "ignoredFiles": {
      "title": "Ignored Files",
      "type": "string",
      "description": "The files to ignore",
      "id": "#ignoredFiles"
    },
    "fields": {
      "title": "Fields",
      "type": "string",
      "description": "The fields to include",
      "id": "#fields",
      "default": []
    },
    "cleanReadMe": {
      "title": "Clean Read Me",
      "type": "boolean",
      "description": "Clean the read me",
      "id": "#cleanReadMe",
      "default": true
    },
    "cleanComments": {
      "title": "Clean Comments",
      "type": "boolean",
      "description": "Clean the comments",
      "id": "#cleanComments",
      "default": true
    }
  },
  "type": "object",
  "default": {
    "outputPath": "dist/{projectRoot}",
    "packageJsonPath": "{outputPath}/package.json",
    "fields": [],
    "cleanReadMe": true,
    "cleanComments": true
  }
}