{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","properties":{"ci":{"type":"object","properties":{"assert":{"type":"object","properties":{"assertions":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"anyOf":[{"type":"array","prefixItems":[{"type":"string","enum":["warn","error"]},{"type":"object","properties":{"maxLength":{"type":"number"},"minScore":{"type":"number"}},"required":["maxLength","minScore"],"additionalProperties":false}]},{"type":"string","enum":["off"]}]}},"budgetsFile":{"type":"string"},"includePassedAssertions":{"type":"boolean"},"preset":{"type":"string","enum":["lighthouse:all","lighthouse:recommended","lighthouse:no-pwa"]}},"additionalProperties":false},"collect":{"description":"Runs Lighthouse n times and stores the LHRs in a local .lighthouseci/ folder.","type":"object","properties":{"additive":{"description":"Skips clearing of previous collect data","type":"boolean"},"autodiscoverUrlBlocklist":{"description":"A URL to not include when autodiscovering urls from staticDistDir. Use this flag multiple times to filter multiple URLs.","type":"array","items":{"type":"string"}},"chromePath":{"type":"string"},"headful":{"description":"Run with a headful Chrome","type":"boolean"},"isSinglePageApplication":{"description":"If the application is created by Single Page Application, enable redirect to index.html.","type":"boolean"},"method":{"default":"node","anyOf":[{"type":"string","enum":["node","psi"]},{"type":"string"}]},"numberOfRuns":{"description":"The number of times to run Lighthouse.","type":"number"},"puppeteerLaunchOptions":{"type":"object","properties":{"devtools":{"type":"boolean"},"handleSIGHUP":{"default":true,"type":"boolean"},"handleSIGINT":{"default":true,"type":"boolean"},"handleSIGTERM":{"default":true,"type":"boolean"},"pipe":{"default":false,"type":"boolean"},"timeout":{"default":30000,"type":"number"}},"required":["devtools","handleSIGHUP","handleSIGINT","handleSIGTERM","pipe","timeout"],"additionalProperties":false},"puppeteerScript":{"type":"string"},"settings":{"type":"object","properties":{},"additionalProperties":false},"startServerCommand":{"description":"The command to run to start the server.","type":"string"},"startServerReadyPattern":{"description":"String pattern to listen for started server.","default":"listen|ready","type":"string"},"startServerReadyTimeout":{"description":"The number of milliseconds to wait for the server to start before continuing","default":10000,"type":"number"},"staticDirFileDiscoveryDepth":{"description":"The maximum depth of nested folders Lighthouse will look into to discover URLs on a static file folder.","default":2,"type":"number"},"staticDistDir":{"type":"string"},"url":{"type":"array","items":{"type":"string"}}},"required":["method","puppeteerLaunchOptions","settings","startServerReadyPattern","startServerReadyTimeout","staticDirFileDiscoveryDepth"],"additionalProperties":false},"server":{"type":"object","properties":{"basicAuth":{"type":"object","properties":{"password":{"type":"string"},"username":{"type":"string"}},"required":["password","username"],"additionalProperties":false},"logLevel":{"default":"verbose","type":"string","enum":["silent","verbose"]},"port":{"type":"number"},"storage":{"type":"object","properties":{"sqlConnectionSsl":{"default":false,"type":"boolean"},"sqlConnectionUrl":{"type":"string"},"sqlDangerouslyResetDatabase":{"default":false,"type":"boolean"},"sqlDatabasePath":{"type":"string"},"sqlDialect":{"default":"sqlite","type":"string","enum":["sqlite","postgres","mysql"]},"sqlMigrationOptions":{"type":"object","properties":{"tableName":{"type":"string"}},"required":["tableName"],"additionalProperties":false}},"required":["sqlConnectionSsl","sqlConnectionUrl","sqlDangerouslyResetDatabase","sqlDatabasePath","sqlDialect","sqlMigrationOptions"],"additionalProperties":false}},"required":["logLevel","port","storage"],"additionalProperties":false},"upload":{"allOf":[{"oneOf":[{"type":"object","properties":{"basicAuth":{"type":"object","properties":{"password":{"type":"string"},"username":{"type":"string"}},"required":["password","username"],"additionalProperties":false},"extraHeaders":{"type":"object","propertyNames":{"type":"string"},"additionalProperties":{"type":"string"}},"ignoreDuplicateBuildFailure":{"type":"boolean"},"serverBaseUrl":{"default":"http://localhost:9001/","type":"string"},"target":{"type":"string","const":"lhci"},"token":{"type":"string"},"urlReplacementPatterns":{"default":["s#:[0-9]{3,5}/#:PORT/#","s/[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}/UUID/ig"],"type":"array","items":{"type":"string"}}},"required":["serverBaseUrl","target","token","urlReplacementPatterns"],"additionalProperties":false},{"type":"object","properties":{"outputDir":{"type":"string"},"reportFilenamePattern":{"default":"%%HOSTNAME%%-%%PATHNAME%%-%%DATETIME%%.report.%%EXTENSION%%","type":"string"},"target":{"type":"string","const":"filesystem"}},"required":["outputDir","reportFilenamePattern","target"],"additionalProperties":false},{"type":"object","properties":{"target":{"type":"string","const":"temporary-public-storage"},"uploadUrlMap":{"default":true,"type":"boolean"}},"required":["target","uploadUrlMap"],"additionalProperties":false}]},{"type":"object","properties":{"githubApiHost":{"default":"https://api.github.com","type":"string"},"githubAppToken":{"type":"string"},"githubStatusContextSuffix":{"type":"string"},"githubToken":{"type":"string"}},"required":["githubApiHost"],"additionalProperties":false}]},"wizard":{"type":"object","properties":{"extraHeaders":{"type":"string"},"serverBaseUrl":{"type":"string"}},"additionalProperties":false}},"additionalProperties":false}},"required":["ci"],"additionalProperties":false}