Skip to content

Latest commit

 

History

History
1517 lines (1302 loc) · 68 KB

File metadata and controls

1517 lines (1302 loc) · 68 KB

Code PushUp models reference

ArtifactGenerationCommand

Union of the following possible types:

  • string (min length: 1)
  • Object with properties:
    • command (*): string (min length: 1) - Generate artifact files
    • args: Array<string>

AuditDetails

Detailed information

Object containing the following properties:

Property Description Type
issues List of findings Array of Issue items
table Table of related findings Object with properties: or Object with properties:
trees Findings in tree structure Array of Tree items

All properties are optional.

AuditDiff

Object containing the following properties:

Property Description Type
slug (*) Unique ID (human-readable, URL-safe) string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
title (*) Descriptive name string (max length: 256)
docsUrl Documentation site string (url) (optional) or ''
scores (*) Score comparison Object with properties:
  • before (*): number (≥0, ≤1) - Value between 0 and 1 (source commit)
  • after (*): number (≥0, ≤1) - Value between 0 and 1 (target commit)
  • diff (*): number (≥-1, ≤1) - Score change (scores.after - scores.before)
plugin (*) Plugin which defines it Object with properties:
  • slug (*): string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128) - Unique plugin slug within core config
  • title (*): string (max length: 256) - Descriptive name
  • docsUrl: string (url) (optional) or '' - Plugin documentation site
values (*) Audit value comparison Object with properties:
  • before (*): number (≥0) - Raw numeric value (source commit)
  • after (*): number (≥0) - Raw numeric value (target commit)
  • diff (*): number - Value change (values.after - values.before)
displayValues (*) Audit displayValue comparison Object with properties:
  • before: string - Formatted value (e.g. '0.9 s', '2.1 MB') (source commit)
  • after: string - Formatted value (e.g. '0.9 s', '2.1 MB') (target commit)

(*) Required.

AuditOutput

Audit information

Object containing the following properties:

Property Description Type
slug (*) Reference to audit string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
displayValue Formatted value (e.g. '0.9 s', '2.1 MB') string
value (*) Raw numeric value number (≥0)
score (*) Value between 0 and 1 number (≥0, ≤1)
details Detailed information AuditDetails

(*) Required.

AuditOutputs

List of JSON formatted audit output emitted by the runner process of a plugin

Array of AuditOutput items.

AuditReport

Object containing the following properties:

Property Description Type
slug (*) Reference to audit string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
title (*) Descriptive name string (max length: 256)
description Description (markdown) string (max length: 65536)
docsUrl Link to documentation (rationale) string (url) (optional) or ''
isSkipped Indicates whether the audit is skipped boolean
displayValue Formatted value (e.g. '0.9 s', '2.1 MB') string
value (*) Raw numeric value number (≥0)
score (*) Value between 0 and 1 number (≥0, ≤1)
details Detailed information AuditDetails

(*) Required.

AuditResult

Object containing the following properties:

Property Description Type
slug (*) Unique ID (human-readable, URL-safe) string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
title (*) Descriptive name string (max length: 256)
docsUrl Documentation site string (url) (optional) or ''
plugin (*) Plugin which defines it Object with properties:
  • slug (*): string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128) - Unique plugin slug within core config
  • title (*): string (max length: 256) - Descriptive name
  • docsUrl: string (url) (optional) or '' - Plugin documentation site
score (*) Value between 0 and 1 number (≥0, ≤1)
value (*) Raw numeric value number (≥0)
displayValue Formatted value (e.g. '0.9 s', '2.1 MB') string

(*) Required.

Audit

Object containing the following properties:

Property Description Type
slug (*) ID (unique within plugin) string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
title (*) Descriptive name string (max length: 256)
description Description (markdown) string (max length: 65536)
docsUrl Link to documentation (rationale) string (url) (optional) or ''
isSkipped Indicates whether the audit is skipped boolean

(*) Required.

BasicTreeNode

Object containing the following properties:

Property Description Type
name (*) Text label for node string (min length: 1)
values Additional values for node Record<string, number | string>
children Direct descendants of this node (omit if leaf) Array of BasicTreeNode items

(*) Required.

BasicTree

Generic tree

Object containing the following properties:

Property Description Type
title Heading string
type Discriminant 'basic'
root (*) Root node BasicTreeNode

(*) Required.

CacheConfigObject

Cache configuration object for read and/or write operations

Object containing the following properties:

Property Description Type Default
read Whether to read from cache if available boolean false
write Whether to write results to cache boolean false

All properties are optional.

CacheConfig

Cache configuration for read and write operations

Union of the following possible types:

Default value: false

CacheConfigShorthand

Cache configuration shorthand for both, read and write operations

Boolean.

CategoryConfig

Object containing the following properties:

Property Description Type
slug (*) Human-readable unique ID, e.g. "performance" string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
refs (*) Array of at least 1 CategoryRef items
title (*) Category Title string (max length: 256)
description Category description string (max length: 65536)
docsUrl Category docs URL string (url) (optional) or ''
isSkipped boolean
scoreTarget Pass/fail score threshold (0-1) number (≥0, ≤1)

(*) Required.

CategoryDiff

Object containing the following properties:

Property Description Type
slug (*) Unique ID (human-readable, URL-safe) string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
title (*) Descriptive name string (max length: 256)
docsUrl Documentation site string (url) (optional) or ''
scores (*) Score comparison Object with properties:
  • before (*): number (≥0, ≤1) - Value between 0 and 1 (source commit)
  • after (*): number (≥0, ≤1) - Value between 0 and 1 (target commit)
  • diff (*): number (≥-1, ≤1) - Score change (scores.after - scores.before)

(*) Required.

CategoryRef

Object containing the following properties:

Property Description Type
slug (*) Slug of an audit or group (depending on type) string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
weight (*) Weight used to calculate score number (≥0)
type (*) Discriminant for reference kind, affects where slug is looked up 'audit' | 'group'
plugin (*) Plugin slug (plugin should contain referenced audit or group) string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)

(*) Required.

CategoryResult

Object containing the following properties:

Property Description Type
slug (*) Unique ID (human-readable, URL-safe) string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
title (*) Descriptive name string (max length: 256)
docsUrl Documentation site string (url) (optional) or ''
score (*) Value between 0 and 1 number (≥0, ≤1)

(*) Required.

Commit

Git commit

Object containing the following properties:

Property Description Type
hash (*) Commit SHA (full) string (regex: /^[\da-f]{40}$/)
message (*) Commit message string
date (*) Date and time when commit was authored Date
author (*) Commit author name string

(*) Required.

CoreConfig

Object containing the following properties:

Property Description Type
plugins (*) List of plugins to be used (official, community-provided, or custom) Array of at least 1 PluginConfig items
persist PersistConfig
upload UploadConfig
categories Categorization of individual audits Array of CategoryConfig items

(*) Required.

CoverageTreeMissingLOC

Uncovered line of code, optionally referring to a named function/class/etc.

Object containing the following properties:

Property Description Type
startLine (*) Start line number (int, >0)
startColumn Start column number (int, >0)
endLine End line number (int, >0)
endColumn End column number (int, >0)
name Identifier of function/class/etc. string
kind E.g. "function", "class" string

(*) Required.

CoverageTreeNode

Object containing the following properties:

Property Description Type
name (*) File or folder name string (min length: 1)
values (*) Coverage metrics for file/folder Object with properties:
  • coverage (*): number (≥0, ≤1) - Coverage ratio
  • missing: Array of CoverageTreeMissingLOC items - Uncovered lines of code
children Files and folders contained in this folder (omit if file) Array of CoverageTreeNode items

(*) Required.

CoverageTree

Coverage for files and folders

Object containing the following properties:

Property Description Type
title Heading string
type (*) Discriminant 'coverage'
root (*) Root folder CoverageTreeNode

(*) Required.

FileName

String which matches the regular expression /^(?!.*[ \\/:*?"<>|]).+$/ and has a minimum length of 1.

FilePath

String which has a minimum length of 1.

Format

Enum, one of the following possible values:

  • 'json'
  • 'md'

GroupDiff

Object containing the following properties:

Property Description Type
slug (*) Unique ID (human-readable, URL-safe) string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
title (*) Descriptive name string (max length: 256)
docsUrl Documentation site string (url) (optional) or ''
scores (*) Score comparison Object with properties:
  • before (*): number (≥0, ≤1) - Value between 0 and 1 (source commit)
  • after (*): number (≥0, ≤1) - Value between 0 and 1 (target commit)
  • diff (*): number (≥-1, ≤1) - Score change (scores.after - scores.before)
plugin (*) Plugin which defines it Object with properties:
  • slug (*): string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128) - Unique plugin slug within core config
  • title (*): string (max length: 256) - Descriptive name
  • docsUrl: string (url) (optional) or '' - Plugin documentation site

(*) Required.

GroupRef

Weighted reference to a group

Object containing the following properties:

Property Description Type
slug (*) Reference slug to a group within this plugin (e.g. 'max-lines') string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
weight (*) Weight used to calculate score number (≥0)

(*) Required.

GroupResult

Object containing the following properties:

Property Description Type
slug (*) Unique ID (human-readable, URL-safe) string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
title (*) Descriptive name string (max length: 256)
docsUrl Documentation site string (url) (optional) or ''
plugin (*) Plugin which defines it Object with properties:
  • slug (*): string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128) - Unique plugin slug within core config
  • title (*): string (max length: 256) - Descriptive name
  • docsUrl: string (url) (optional) or '' - Plugin documentation site
score (*) Value between 0 and 1 number (≥0, ≤1)

(*) Required.

Group

Object containing the following properties:

Property Description Type
slug (*) Human-readable unique ID, e.g. "performance" string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
refs (*) Array of at least 1 GroupRef items
title (*) Descriptive name for the group string (max length: 256)
description Description of the group (markdown) string (max length: 65536)
docsUrl Group documentation site string (url) (optional) or ''
isSkipped Indicates whether the group is skipped boolean

(*) Required.

Issue

Issue information

Object containing the following properties:

Property Description Type
message (*) Descriptive error message string (max length: 1024)
severity (*) Severity level IssueSeverity
source Source file location SourceFileLocation

(*) Required.

IssueSeverity

Severity level

Enum, one of the following possible values:

  • 'info'
  • 'warning'
  • 'error'

MaterialIcon

Icon from VSCode Material Icons extension

Enum, one of the following possible values:

Expand for full list of 858 values
  • 'git'
  • 'yaml'
  • 'xml'
  • 'matlab'
  • 'settings'
  • 'shaderlab'
  • 'diff'
  • 'json'
  • 'blink'
  • 'java'
  • 'razor'
  • 'python'
  • 'mojo'
  • 'javascript'
  • 'typescript'
  • 'scala'
  • 'handlebars'
  • 'perl'
  • 'haxe'
  • 'puppet'
  • 'elixir'
  • 'livescript'
  • 'erlang'
  • 'twig'
  • 'julia'
  • 'elm'
  • 'purescript'
  • 'stylus'
  • 'nunjucks'
  • 'pug'
  • 'robot'
  • 'sass'
  • 'less'
  • 'css'
  • 'visualstudio'
  • 'angular'
  • 'graphql'
  • 'solidity'
  • 'autoit'
  • 'haml'
  • 'yang'
  • 'terraform'
  • 'applescript'
  • 'cake'
  • 'cucumber'
  • 'nim'
  • 'apiblueprint'
  • 'riot'
  • 'postcss'
  • 'coldfusion'
  • 'haskell'
  • 'dhall'
  • 'cabal'
  • 'nix'
  • 'ruby'
  • 'slim'
  • 'php'
  • 'php_elephant'
  • 'php_elephant_pink'
  • 'hack'
  • 'react'
  • 'mjml'
  • 'processing'
  • 'hcl'
  • 'go'
  • 'go_gopher'
  • 'nodejs_alt'
  • 'django'
  • 'html'
  • 'godot'
  • 'godot-assets'
  • 'vim'
  • 'silverstripe'
  • 'prolog'
  • 'pawn'
  • 'reason'
  • 'sml'
  • 'tex'
  • 'salesforce'
  • 'sas'
  • 'docker'
  • 'table'
  • 'csharp'
  • 'console'
  • 'c'
  • 'cpp'
  • 'objective-c'
  • 'objective-cpp'
  • 'coffee'
  • 'fsharp'
  • 'editorconfig'
  • 'clojure'
  • 'groovy'
  • 'markdown'
  • 'jinja'
  • 'proto'
  • 'python-misc'
  • 'vue'
  • 'lua'
  • 'lib'
  • 'log'
  • 'jupyter'
  • 'document'
  • 'pdf'
  • 'powershell'
  • 'r'
  • 'rust'
  • 'database'
  • 'kusto'
  • 'lock'
  • 'svg'
  • 'swift'
  • 'react_ts'
  • 'search'
  • 'minecraft'
  • 'rescript'
  • 'otne'
  • 'twine'
  • 'grain'
  • 'lolcode'
  • 'idris'
  • 'chess'
  • 'gemini'
  • 'vlang'
  • 'wolframlanguage'
  • 'shader'
  • 'tree'
  • 'svelte'
  • 'dart'
  • 'cadence'
  • 'stylable'
  • 'hjson'
  • 'huff'
  • 'concourse'
  • 'blink_light'
  • 'jinja_light'
  • 'playwright'
  • 'sublime'
  • 'image'
  • 'routing'
  • 'typescript-def'
  • 'markojs'
  • 'astro'
  • 'vscode'
  • 'qsharp'
  • 'zip'
  • 'vala'
  • 'zig'
  • 'exe'
  • 'hex'
  • 'jar'
  • 'javaclass'
  • 'h'
  • 'hpp'
  • 'rc'
  • 'go-mod'
  • 'url'
  • 'gradle'
  • 'word'
  • 'certificate'
  • 'key'
  • 'font'
  • 'dll'
  • 'gemfile'
  • 'rubocop'
  • 'rubocop_light'
  • 'rspec'
  • 'arduino'
  • 'powerpoint'
  • 'video'
  • 'virtual'
  • 'vedic'
  • 'email'
  • 'audio'
  • 'raml'
  • 'xaml'
  • 'kotlin'
  • 'dart_generated'
  • 'actionscript'
  • 'mxml'
  • 'autohotkey'
  • 'flash'
  • 'swc'
  • 'cmake'
  • 'assembly'
  • 'semgrep'
  • 'vue-config'
  • 'nuxt'
  • 'ocaml'
  • 'odin'
  • 'javascript-map'
  • 'css-map'
  • 'test-ts'
  • 'test-jsx'
  • 'test-js'
  • 'angular-component'
  • 'angular-guard'
  • 'angular-service'
  • 'angular-pipe'
  • 'angular-directive'
  • 'angular-resolver'
  • 'smarty'
  • 'bucklescript'
  • 'merlin'
  • 'verilog'
  • 'mathematica'
  • 'vercel'
  • 'vercel_light'
  • 'verdaccio'
  • 'payload'
  • 'payload_light'
  • 'next'
  • 'next_light'
  • 'remix'
  • 'remix_light'
  • 'laravel'
  • 'vfl'
  • 'kl'
  • 'posthtml'
  • 'todo'
  • 'http'
  • 'restql'
  • 'kivy'
  • 'graphcool'
  • 'sbt'
  • 'webpack'
  • 'ionic'
  • 'gulp'
  • 'nodejs'
  • 'npm'
  • 'yarn'
  • 'android'
  • 'tune'
  • 'turborepo'
  • 'turborepo_light'
  • 'babel'
  • 'blitz'
  • 'contributing'
  • 'readme'
  • 'changelog'
  • 'architecture'
  • 'credits'
  • 'authors'
  • 'flow'
  • 'favicon'
  • 'karma'
  • 'bithound'
  • 'svgo'
  • 'appveyor'
  • 'travis'
  • 'codecov'
  • 'sonarcloud'
  • 'protractor'
  • 'fusebox'
  • 'heroku'
  • 'gitlab'
  • 'bower'
  • 'eslint'
  • 'conduct'
  • 'watchman'
  • 'aurelia'
  • 'auto'
  • 'auto_light'
  • 'mocha'
  • 'jenkins'
  • 'firebase'
  • 'figma'
  • 'rollup'
  • 'huff_light'
  • 'hardhat'
  • 'stylelint'
  • 'stylelint_light'
  • 'code-climate'
  • 'code-climate_light'
  • 'prettier'
  • 'renovate'
  • 'apollo'
  • 'nodemon'
  • 'webhint'
  • 'browserlist'
  • 'browserlist_light'
  • 'crystal'
  • 'crystal_light'
  • 'snyk'
  • 'drone'
  • 'drone_light'
  • 'cuda'
  • 'dotjs'
  • 'ejs'
  • 'sequelize'
  • 'gatsby'
  • 'wakatime'
  • 'wakatime_light'
  • 'circleci'
  • 'circleci_light'
  • 'cloudfoundry'
  • 'grunt'
  • 'jest'
  • 'storybook'
  • 'wepy'
  • 'fastlane'
  • 'hcl_light'
  • 'helm'
  • 'san'
  • 'quokka'
  • 'wallaby'
  • 'stencil'
  • 'red'
  • 'makefile'
  • 'foxpro'
  • 'i18n'
  • 'webassembly'
  • 'semantic-release'
  • 'semantic-release_light'
  • 'bitbucket'
  • 'd'
  • 'mdx'
  • 'mdsvex'
  • 'ballerina'
  • 'racket'
  • 'bazel'
  • 'mint'
  • 'velocity'
  • 'azure-pipelines'
  • 'azure'
  • 'vagrant'
  • 'prisma'
  • 'abc'
  • 'asciidoc'
  • 'istanbul'
  • 'edge'
  • 'scheme'
  • 'lisp'
  • 'tailwindcss'
  • '3d'
  • 'buildkite'
  • 'netlify'
  • 'netlify_light'
  • 'nest'
  • 'moon'
  • 'moonscript'
  • 'percy'
  • 'gitpod'
  • 'advpl_prw'
  • 'advpl_ptm'
  • 'advpl_tlpp'
  • 'advpl_include'
  • 'codeowners'
  • 'gcp'
  • 'disc'
  • 'fortran'
  • 'tcl'
  • 'liquid'
  • 'husky'
  • 'coconut'
  • 'tilt'
  • 'capacitor'
  • 'sketch'
  • 'adonis'
  • 'forth'
  • 'uml'
  • 'uml_light'
  • 'meson'
  • 'commitlint'
  • 'buck'
  • 'nx'
  • 'opam'
  • 'dune'
  • 'imba'
  • 'drawio'
  • 'pascal'
  • 'roadmap'
  • 'nuget'
  • 'command'
  • 'stryker'
  • 'denizenscript'
  • 'modernizr'
  • 'slug'
  • 'stitches'
  • 'stitches_light'
  • 'nginx'
  • 'replit'
  • 'rescript-interface'
  • 'snowpack'
  • 'snowpack_light'
  • 'brainfuck'
  • 'bicep'
  • 'cobol'
  • 'quasar'
  • 'dependabot'
  • 'pipeline'
  • 'vite'
  • 'vitest'
  • 'opa'
  • 'lerna'
  • 'windicss'
  • 'textlint'
  • 'lilypond'
  • 'chess_light'
  • 'sentry'
  • 'phpunit'
  • 'php-cs-fixer'
  • 'robots'
  • 'tsconfig'
  • 'tauri'
  • 'jsconfig'
  • 'maven'
  • 'ada'
  • 'serverless'
  • 'supabase'
  • 'ember'
  • 'horusec'
  • 'poetry'
  • 'pdm'
  • 'coala'
  • 'parcel'
  • 'dinophp'
  • 'teal'
  • 'template'
  • 'astyle'
  • 'lighthouse'
  • 'svgr'
  • 'rome'
  • 'cypress'
  • 'siyuan'
  • 'ndst'
  • 'plop'
  • 'tobi'
  • 'tobimake'
  • 'gleam'
  • 'pnpm'
  • 'pnpm_light'
  • 'gridsome'
  • 'steadybit'
  • 'capnp'
  • 'caddy'
  • 'openapi'
  • 'openapi_light'
  • 'swagger'
  • 'bun'
  • 'bun_light'
  • 'antlr'
  • 'pinejs'
  • 'nano-staged'
  • 'nano-staged_light'
  • 'knip'
  • 'taskfile'
  • 'craco'
  • 'gamemaker'
  • 'tldraw'
  • 'tldraw_light'
  • 'mercurial'
  • 'deno'
  • 'deno_light'
  • 'plastic'
  • 'typst'
  • 'unocss'
  • 'ifanr-cloud'
  • 'mermaid'
  • 'syncpack'
  • 'werf'
  • 'roblox'
  • 'panda'
  • 'biome'
  • 'esbuild'
  • 'spwn'
  • 'templ'
  • 'chrome'
  • 'stan'
  • 'abap'
  • 'lottie'
  • 'puppeteer'
  • 'apps-script'
  • 'pkl'
  • 'kubernetes'
  • 'file'
  • 'folder-robot'
  • 'folder-robot-open'
  • 'folder-src'
  • 'folder-src-open'
  • 'folder-dist'
  • 'folder-dist-open'
  • 'folder-css'
  • 'folder-css-open'
  • 'folder-sass'
  • 'folder-sass-open'
  • 'folder-television'
  • 'folder-television-open'
  • 'folder-desktop'
  • 'folder-desktop-open'
  • 'folder-console'
  • 'folder-console-open'
  • 'folder-images'
  • 'folder-images-open'
  • 'folder-scripts'
  • 'folder-scripts-open'
  • 'folder-node'
  • 'folder-node-open'
  • 'folder-javascript'
  • 'folder-javascript-open'
  • 'folder-json'
  • 'folder-json-open'
  • 'folder-font'
  • 'folder-font-open'
  • 'folder-bower'
  • 'folder-bower-open'
  • 'folder-test'
  • 'folder-test-open'
  • 'folder-jinja'
  • 'folder-jinja-open'
  • 'folder-jinja_light'
  • 'folder-jinja-open_light'
  • 'folder-markdown'
  • 'folder-markdown-open'
  • 'folder-pdm'
  • 'folder-pdm-open'
  • 'folder-php'
  • 'folder-php-open'
  • 'folder-phpmailer'
  • 'folder-phpmailer-open'
  • 'folder-sublime'
  • 'folder-sublime-open'
  • 'folder-docs'
  • 'folder-docs-open'
  • 'folder-git'
  • 'folder-git-open'
  • 'folder-github'
  • 'folder-github-open'
  • 'folder-gitlab'
  • 'folder-gitlab-open'
  • 'folder-vscode'
  • 'folder-vscode-open'
  • 'folder-views'
  • 'folder-views-open'
  • 'folder-vue'
  • 'folder-vue-open'
  • 'folder-vuepress'
  • 'folder-vuepress-open'
  • 'folder-expo'
  • 'folder-expo-open'
  • 'folder-config'
  • 'folder-config-open'
  • 'folder-i18n'
  • 'folder-i18n-open'
  • 'folder-components'
  • 'folder-components-open'
  • 'folder-verdaccio'
  • 'folder-verdaccio-open'
  • 'folder-aurelia'
  • 'folder-aurelia-open'
  • 'folder-resource'
  • 'folder-resource-open'
  • 'folder-lib'
  • 'folder-lib-open'
  • 'folder-theme'
  • 'folder-theme-open'
  • 'folder-webpack'
  • 'folder-webpack-open'
  • 'folder-global'
  • 'folder-global-open'
  • 'folder-public'
  • 'folder-public-open'
  • 'folder-include'
  • 'folder-include-open'
  • 'folder-docker'
  • 'folder-docker-open'
  • 'folder-database'
  • 'folder-database-open'
  • 'folder-log'
  • 'folder-log-open'
  • 'folder-target'
  • 'folder-target-open'
  • 'folder-temp'
  • 'folder-temp-open'
  • 'folder-aws'
  • 'folder-aws-open'
  • 'folder-audio'
  • 'folder-audio-open'
  • 'folder-video'
  • 'folder-video-open'
  • 'folder-kubernetes'
  • 'folder-kubernetes-open'
  • 'folder-import'
  • 'folder-import-open'
  • 'folder-export'
  • 'folder-export-open'
  • 'folder-wakatime'
  • 'folder-wakatime-open'
  • 'folder-circleci'
  • 'folder-circleci-open'
  • 'folder-wordpress'
  • 'folder-wordpress-open'
  • 'folder-gradle'
  • 'folder-gradle-open'
  • 'folder-coverage'
  • 'folder-coverage-open'
  • 'folder-class'
  • 'folder-class-open'
  • 'folder-other'
  • 'folder-other-open'
  • 'folder-lua'
  • 'folder-lua-open'
  • 'folder-typescript'
  • 'folder-typescript-open'
  • 'folder-graphql'
  • 'folder-graphql-open'
  • 'folder-routes'
  • 'folder-routes-open'
  • 'folder-ci'
  • 'folder-ci-open'
  • 'folder-benchmark'
  • 'folder-benchmark-open'
  • 'folder-messages'
  • 'folder-messages-open'
  • 'folder-less'
  • 'folder-less-open'
  • 'folder-gulp'
  • 'folder-gulp-open'
  • 'folder-python'
  • 'folder-python-open'
  • 'folder-mojo'
  • 'folder-mojo-open'
  • 'folder-moon'
  • 'folder-moon-open'
  • 'folder-debug'
  • 'folder-debug-open'
  • 'folder-fastlane'
  • 'folder-fastlane-open'
  • 'folder-plugin'
  • 'folder-plugin-open'
  • 'folder-middleware'
  • 'folder-middleware-open'
  • 'folder-controller'
  • 'folder-controller-open'
  • 'folder-ansible'
  • 'folder-ansible-open'
  • 'folder-server'
  • 'folder-server-open'
  • 'folder-client'
  • 'folder-client-open'
  • 'folder-tasks'
  • 'folder-tasks-open'
  • 'folder-android'
  • 'folder-android-open'
  • 'folder-ios'
  • 'folder-ios-open'
  • 'folder-upload'
  • 'folder-upload-open'
  • 'folder-download'
  • 'folder-download-open'
  • 'folder-tools'
  • 'folder-tools-open'
  • 'folder-helper'
  • 'folder-helper-open'
  • 'folder-serverless'
  • 'folder-serverless-open'
  • 'folder-api'
  • 'folder-api-open'
  • 'folder-app'
  • 'folder-app-open'
  • 'folder-apollo'
  • 'folder-apollo-open'
  • 'folder-archive'
  • 'folder-archive-open'
  • 'folder-batch'
  • 'folder-batch-open'
  • 'folder-buildkite'
  • 'folder-buildkite-open'
  • 'folder-cluster'
  • 'folder-cluster-open'
  • 'folder-command'
  • 'folder-command-open'
  • 'folder-constant'
  • 'folder-constant-open'
  • 'folder-container'
  • 'folder-container-open'
  • 'folder-content'
  • 'folder-content-open'
  • 'folder-context'
  • 'folder-context-open'
  • 'folder-core'
  • 'folder-core-open'
  • 'folder-delta'
  • 'folder-delta-open'
  • 'folder-dump'
  • 'folder-dump-open'
  • 'folder-examples'
  • 'folder-examples-open'
  • 'folder-environment'
  • 'folder-environment-open'
  • 'folder-functions'
  • 'folder-functions-open'
  • 'folder-generator'
  • 'folder-generator-open'
  • 'folder-hook'
  • 'folder-hook-open'
  • 'folder-job'
  • 'folder-job-open'
  • 'folder-keys'
  • 'folder-keys-open'
  • 'folder-layout'
  • 'folder-layout-open'
  • 'folder-mail'
  • 'folder-mail-open'
  • 'folder-mappings'
  • 'folder-mappings-open'
  • 'folder-meta'
  • 'folder-meta-open'
  • 'folder-changesets'
  • 'folder-changesets-open'
  • 'folder-packages'
  • 'folder-packages-open'
  • 'folder-shared'
  • 'folder-shared-open'
  • 'folder-shader'
  • 'folder-shader-open'
  • 'folder-stack'
  • 'folder-stack-open'
  • 'folder-template'
  • 'folder-template-open'
  • 'folder-utils'
  • 'folder-utils-open'
  • 'folder-supabase'
  • 'folder-supabase-open'
  • 'folder-private'
  • 'folder-private-open'
  • 'folder-linux'
  • 'folder-linux-open'
  • 'folder-windows'
  • 'folder-windows-open'
  • 'folder-macos'
  • 'folder-macos-open'
  • 'folder-error'
  • 'folder-error-open'
  • 'folder-event'
  • 'folder-event-open'
  • 'folder-secure'
  • 'folder-secure-open'
  • 'folder-custom'
  • 'folder-custom-open'
  • 'folder-mock'
  • 'folder-mock-open'
  • 'folder-syntax'
  • 'folder-syntax-open'
  • 'folder-vm'
  • 'folder-vm-open'
  • 'folder-stylus'
  • 'folder-stylus-open'
  • 'folder-flow'
  • 'folder-flow-open'
  • 'folder-rules'
  • 'folder-rules-open'
  • 'folder-review'
  • 'folder-review-open'
  • 'folder-animation'
  • 'folder-animation-open'
  • 'folder-guard'
  • 'folder-guard-open'
  • 'folder-prisma'
  • 'folder-prisma-open'
  • 'folder-pipe'
  • 'folder-pipe-open'
  • 'folder-svg'
  • 'folder-svg-open'
  • 'folder-terraform'
  • 'folder-terraform-open'
  • 'folder-mobile'
  • 'folder-mobile-open'
  • 'folder-stencil'
  • 'folder-stencil-open'
  • 'folder-firebase'
  • 'folder-firebase-open'
  • 'folder-svelte'
  • 'folder-svelte-open'
  • 'folder-update'
  • 'folder-update-open'
  • 'folder-intellij'
  • 'folder-intellij-open'
  • 'folder-intellij_light'
  • 'folder-intellij-open_light'
  • 'folder-azure-pipelines'
  • 'folder-azure-pipelines-open'
  • 'folder-mjml'
  • 'folder-mjml-open'
  • 'folder-admin'
  • 'folder-admin-open'
  • 'folder-scala'
  • 'folder-scala-open'
  • 'folder-connection'
  • 'folder-connection-open'
  • 'folder-quasar'
  • 'folder-quasar-open'
  • 'folder-next'
  • 'folder-next-open'
  • 'folder-cobol'
  • 'folder-cobol-open'
  • 'folder-yarn'
  • 'folder-yarn-open'
  • 'folder-husky'
  • 'folder-husky-open'
  • 'folder-storybook'
  • 'folder-storybook-open'
  • 'folder-base'
  • 'folder-base-open'
  • 'folder-cart'
  • 'folder-cart-open'
  • 'folder-home'
  • 'folder-home-open'
  • 'folder-project'
  • 'folder-project-open'
  • 'folder-interface'
  • 'folder-interface-open'
  • 'folder-netlify'
  • 'folder-netlify-open'
  • 'folder-enum'
  • 'folder-enum-open'
  • 'folder-contract'
  • 'folder-contract-open'
  • 'folder-queue'
  • 'folder-queue-open'
  • 'folder-vercel'
  • 'folder-vercel-open'
  • 'folder-cypress'
  • 'folder-cypress-open'
  • 'folder-decorators'
  • 'folder-decorators-open'
  • 'folder-java'
  • 'folder-java-open'
  • 'folder-resolver'
  • 'folder-resolver-open'
  • 'folder-angular'
  • 'folder-angular-open'
  • 'folder-unity'
  • 'folder-unity-open'
  • 'folder-pdf'
  • 'folder-pdf-open'
  • 'folder-proto'
  • 'folder-proto-open'
  • 'folder-plastic'
  • 'folder-plastic-open'
  • 'folder-gamemaker'
  • 'folder-gamemaker-open'
  • 'folder-mercurial'
  • 'folder-mercurial-open'
  • 'folder-godot'
  • 'folder-godot-open'
  • 'folder-lottie'
  • 'folder-lottie-open'
  • 'folder-taskfile'
  • 'folder-taskfile-open'
  • 'folder-cloudflare'
  • 'folder-cloudflare-open'
  • 'folder-seeders'
  • 'folder-seeders-open'
  • 'folder'
  • 'folder-open'
  • 'folder-root'
  • 'folder-root-open'

PersistConfig

Object containing the following properties:

Property Description Type
outputDir Artifacts folder FilePath
filename Artifacts file name (without extension) FileName
format Array of Format items
skipReports boolean

All properties are optional.

PluginArtifactOptions

Object containing the following properties:

Property Type
generateArtifactsCommand ArtifactGenerationCommand
artifactsPaths (*) string or Array<string> (min: 1)

(*) Required.

PluginConfig

Object containing the following properties:

Property Description Type
packageName NPM package name string
version NPM version of the package string
title (*) Descriptive name string (max length: 256)
description Description (markdown) string (max length: 65536)
docsUrl Plugin documentation site string (url) (optional) or ''
isSkipped boolean
slug (*) Unique plugin slug within core config string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
icon (*) Icon from VSCode Material Icons extension MaterialIcon
runner (*) RunnerConfig or RunnerFunction
audits (*) List of audits maintained in a plugin Array of at least 1 Audit items
groups List of groups Array of Group items
context Plugin-specific context data for helpers PluginContext

(*) Required.

PluginContext

Plugin-specific context data for helpers

Object record with dynamic keys:

  • keys of type string
  • values of type unknown (optional)

PluginMeta

Object containing the following properties:

Property Description Type
packageName NPM package name string
version NPM version of the package string
title (*) Descriptive name string (max length: 256)
description Description (markdown) string (max length: 65536)
docsUrl Plugin documentation site string (url) (optional) or ''
isSkipped boolean
slug (*) Unique plugin slug within core config string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
icon (*) Icon from VSCode Material Icons extension MaterialIcon

(*) Required.

PluginReport

Object containing the following properties:

Property Description Type
packageName NPM package name string
version NPM version of the package string
title (*) Descriptive name string (max length: 256)
description Description (markdown) string (max length: 65536)
docsUrl Plugin documentation site string (url) (optional) or ''
isSkipped boolean
slug (*) Unique plugin slug within core config string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
icon (*) Icon from VSCode Material Icons extension MaterialIcon
date (*) Start date and time of plugin run string
duration (*) Duration of the plugin run in ms number
audits (*) Array of at least 1 AuditReport items
groups Array of Group items

(*) Required.

Report

Collect output data

Object containing the following properties:

Property Description Type
packageName (*) NPM package name string
version (*) NPM version of the CLI string
date (*) Start date and time of the collect run string
duration (*) Duration of the collect run in ms number
plugins (*) Array of at least 1 PluginReport items
categories Array of CategoryConfig items
commit (*) Git commit for which report was collected Commit (nullable)
label Label (e.g. project name) string

(*) Required.

ReportsDiff

Object containing the following properties:

Property Description Type
commits (*) Commits identifying compared reports Object with properties:
  • before (*): Commit - Git commit (source commit)
  • after (*): Commit - Git commit (target commit)
(nullable)
portalUrl Link to comparison page in Code PushUp portal string (url)
label Label (e.g. project name) string
categories (*) Changes affecting categories Object with properties:
groups (*) Changes affecting groups Object with properties:
audits (*) Changes affecting audits Object with properties:
packageName (*) NPM package name string
version (*) NPM version of the CLI (when compare was run) string
date (*) Start date and time of the compare run string
duration (*) Duration of the compare run in ms number

(*) Required.

RunnerConfig

How to execute runner

Object containing the following properties:

Property Description Type
command (*) Shell command to execute string
args Command arguments Array<string>
outputFile (*) Runner output path FilePath
outputTransform Function:
configFile Runner config path FilePath

(*) Required.

RunnerFilesPaths

Object containing the following properties:

Property Description Type
runnerConfigPath (*) Runner config path FilePath
runnerOutputPath (*) Runner output path FilePath

(*) Required.

RunnerFunction

Function.

Parameters:

  • none

Returns:

SourceFileLocation

Source file location

Object containing the following properties:

Property Description Type
file (*) Relative path to source file in Git repo FilePath
position Location in file Object with properties:
  • startLine (*): number (int, >0) - Start line
  • startColumn: number (int, >0) - Start column
  • endLine: number (int, >0) - End line
  • endColumn: number (int, >0) - End column

(*) Required.

TableAlignment

Cell alignment

Enum, one of the following possible values:

  • 'left'
  • 'center'
  • 'right'

TableCellValue

Union of the following possible types:

  • string
  • number
  • boolean
  • null

Default value: null

TableColumnObject

Object containing the following properties:

Property Description Type
key (*) string
label string
align Cell alignment TableAlignment

(*) Required.

TableColumnPrimitive

Cell alignment

Enum, one of the following possible values:

  • 'left'
  • 'center'
  • 'right'

TableRowObject

Object row

Object record with dynamic keys:

TableRowPrimitive

Primitive row

Array of TableCellValue items.

Tree

Union of the following possible types:

UploadConfig

Object containing the following properties:

Property Description Type
server (*) URL of deployed portal API string (url)
apiKey (*) API key with write access to portal (use process.env for security) string
organization (*) Organization slug from Code PushUp portal string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
project (*) Project slug from Code PushUp portal string (regex: /^[a-z\d]+(?:-[a-z\d]+)*$/, max length: 128)
timeout Request timeout in minutes (default is 5) number (>0, int)

(*) Required.