ProgressPlugin.json 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. {
  2. "definitions": {
  3. "HandlerFunction": {
  4. "description": "Function that executes for every progress step.",
  5. "instanceof": "Function",
  6. "tsType": "import('../../lib/ProgressPlugin').HandlerFn"
  7. },
  8. "ProgressPluginOptions": {
  9. "description": "Options object for the ProgressPlugin.",
  10. "type": "object",
  11. "additionalProperties": false,
  12. "properties": {
  13. "activeModules": {
  14. "description": "Show active modules count and one active module in progress message.",
  15. "type": "boolean"
  16. },
  17. "dependencies": {
  18. "description": "Show dependencies count in progress message.",
  19. "type": "boolean"
  20. },
  21. "dependenciesCount": {
  22. "description": "Minimum dependencies count to start with. For better progress calculation. Default: 10000.",
  23. "type": "number"
  24. },
  25. "entries": {
  26. "description": "Show entries count in progress message.",
  27. "type": "boolean"
  28. },
  29. "estimatedTime": {
  30. "description": "Show estimated time remaining based on build progress. Default: false.",
  31. "type": "boolean"
  32. },
  33. "handler": {
  34. "description": "Function that executes for every progress step.",
  35. "oneOf": [
  36. {
  37. "$ref": "#/definitions/HandlerFunction"
  38. }
  39. ]
  40. },
  41. "modules": {
  42. "description": "Show modules count in progress message.",
  43. "type": "boolean"
  44. },
  45. "modulesCount": {
  46. "description": "Minimum modules count to start with. For better progress calculation. Default: 5000.",
  47. "type": "number"
  48. },
  49. "percentBy": {
  50. "description": "Collect percent algorithm. By default it calculates by a median from modules, entries and dependencies percent.",
  51. "enum": ["entries", "modules", "dependencies", null]
  52. },
  53. "phaseTimings": {
  54. "description": "Show a timing breakdown for each build phase when the build completes. Default: false.",
  55. "type": "boolean"
  56. },
  57. "profile": {
  58. "description": "Collect profile data for progress steps. Default: false.",
  59. "enum": [true, false, null]
  60. },
  61. "progressBar": {
  62. "description": "Generate progress bar. `\"auto\"` enables it only for interactive terminals. Default: false.",
  63. "anyOf": [
  64. {
  65. "enum": ["auto"]
  66. },
  67. {
  68. "type": "boolean"
  69. },
  70. {
  71. "type": "object",
  72. "additionalProperties": false,
  73. "properties": {
  74. "color": {
  75. "description": "Color used for the filled portion of the bar.",
  76. "type": "string"
  77. },
  78. "name": {
  79. "description": "Name shown before the progress bar.",
  80. "type": "string"
  81. },
  82. "width": {
  83. "description": "Width of the progress bar in characters. Default: 25.",
  84. "type": "number",
  85. "minimum": 1
  86. }
  87. }
  88. }
  89. ]
  90. }
  91. }
  92. }
  93. },
  94. "title": "ProgressPluginArgument",
  95. "anyOf": [
  96. {
  97. "$ref": "#/definitions/ProgressPluginOptions"
  98. },
  99. {
  100. "$ref": "#/definitions/HandlerFunction"
  101. }
  102. ]
  103. }