@code-pushup/core 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json ADDED
@@ -0,0 +1,13 @@
1
+ {
2
+ "name": "@code-pushup/core",
3
+ "version": "0.1.0",
4
+ "dependencies": {
5
+ "@code-pushup/models": "*",
6
+ "@code-pushup/utils": "*",
7
+ "@code-pushup/portal-client": "^0.1.2",
8
+ "chalk": "^5.3.0"
9
+ },
10
+ "type": "module",
11
+ "main": "./index.js",
12
+ "types": "./src/index.d.ts"
13
+ }
package/src/index.d.ts ADDED
@@ -0,0 +1,7 @@
1
+ export { persistReport, PersistError, PersistDirError, } from './lib/implementation/persist';
2
+ export { executePlugins, PluginOutputMissingAuditError, } from './lib/implementation/execute-plugin';
3
+ export { collect, CollectOptions } from './lib/implementation/collect';
4
+ export { upload, UploadOptions } from './lib/upload';
5
+ export { GlobalOptions } from './lib/types';
6
+ export { collectAndPersistReports, CollectAndPersistReportsOptions, } from './lib/collect-and-persist';
7
+ export { readCodePushupConfig, ConfigPathError, } from './lib/implementation/read-code-pushup-config';
@@ -0,0 +1,4 @@
1
+ import { CoreConfig } from '@code-pushup/models';
2
+ import { GlobalOptions } from './types';
3
+ export type CollectAndPersistReportsOptions = Pick<CoreConfig, 'persist' | 'plugins' | 'categories'> & GlobalOptions;
4
+ export declare function collectAndPersistReports(options: CollectAndPersistReportsOptions): Promise<void>;
@@ -0,0 +1,8 @@
1
+ import { CoreConfig, Report } from '@code-pushup/models';
2
+ import { GlobalOptions } from '../types';
3
+ export type CollectOptions = Pick<CoreConfig, 'plugins' | 'categories'> & GlobalOptions;
4
+ /**
5
+ * Run audits, collect plugin output and aggregate it into a JSON object
6
+ * @param options
7
+ */
8
+ export declare function collect(options: CollectOptions): Promise<Report>;
@@ -0,0 +1,54 @@
1
+ import { OnProgress, PluginConfig, PluginReport } from '@code-pushup/models';
2
+ /**
3
+ * Error thrown when plugin output is invalid.
4
+ */
5
+ export declare class PluginOutputMissingAuditError extends Error {
6
+ constructor(auditSlug: string);
7
+ }
8
+ /**
9
+ * Execute a plugin.
10
+ *
11
+ * @public
12
+ * @param pluginConfig - {@link ProcessConfig} object with runner and meta
13
+ * @param onProgress - progress handler {@link OnProgress}
14
+ * @returns {Promise<AuditOutput[]>} - audit outputs from plugin runner
15
+ * @throws {PluginOutputMissingAuditError} - if plugin runner output is invalid
16
+ *
17
+ * @example
18
+ * // plugin execution
19
+ * const pluginCfg = pluginConfigSchema.parse({...});
20
+ * const output = await executePlugin(pluginCfg);
21
+ *
22
+ * @example
23
+ * // error handling
24
+ * try {
25
+ * await executePlugin(pluginCfg);
26
+ * } catch (e) {
27
+ * console.error(e.message);
28
+ * }
29
+ */
30
+ export declare function executePlugin(pluginConfig: PluginConfig, onProgress?: OnProgress): Promise<PluginReport>;
31
+ /**
32
+ * Execute multiple plugins and aggregates their output.
33
+ * @public
34
+ * @param plugins array of {@link PluginConfig} objects
35
+ * @param {Object} [options] execution options
36
+ * @param {boolean} options.progress show progress bar
37
+ * @returns {Promise<PluginReport[]>} plugin report
38
+ *
39
+ * @example
40
+ * // plugin execution
41
+ * const plugins = [pluginConfigSchema.parse({...})];
42
+ *
43
+ * @example
44
+ * // error handling
45
+ * try {
46
+ * await executePlugins(plugins);
47
+ * } catch (e) {
48
+ * console.error(e.message); // Plugin output is invalid
49
+ * }
50
+ *
51
+ */
52
+ export declare function executePlugins(plugins: PluginConfig[], options?: {
53
+ progress: boolean;
54
+ }): Promise<PluginReport[]>;
@@ -0,0 +1,60 @@
1
+ import { CategoryConfigRefType, IssueSourceType, IssueSeverity as PortalIssueSeverity } from '@code-pushup/portal-client';
2
+ import { Report } from '@code-pushup/models';
3
+ export declare function jsonToGql(report: Report): {
4
+ packageName: string | undefined;
5
+ packageVersion: string | undefined;
6
+ commandStartDate: string;
7
+ commandDuration: number;
8
+ plugins: {
9
+ audits: {
10
+ description: string | undefined;
11
+ details: {
12
+ issues: {
13
+ message: string;
14
+ severity: PortalIssueSeverity;
15
+ sourceEndColumn: number | undefined;
16
+ sourceEndLine: number | undefined;
17
+ sourceFilePath: string | undefined;
18
+ sourceStartColumn: number | undefined;
19
+ sourceStartLine: number | undefined;
20
+ sourceType: IssueSourceType;
21
+ }[];
22
+ };
23
+ docsUrl: string | undefined;
24
+ formattedValue: string | undefined;
25
+ score: number;
26
+ slug: string;
27
+ title: string;
28
+ value: number;
29
+ }[];
30
+ description: string | undefined;
31
+ docsUrl: string | undefined;
32
+ groups: {
33
+ slug: string;
34
+ title: string;
35
+ description: string | undefined;
36
+ refs: {
37
+ slug: string;
38
+ weight: number;
39
+ }[];
40
+ }[] | undefined;
41
+ icon: "slug" | "search" | "blink" | "folder-robot" | "folder-src" | "folder-dist" | "folder-css" | "folder-sass" | "folder-images" | "folder-scripts" | "folder-node" | "folder-javascript" | "folder-json" | "folder-font" | "folder-bower" | "folder-test" | "folder-jinja" | "folder-markdown" | "folder-php" | "folder-phpmailer" | "folder-sublime" | "folder-docs" | "folder-git" | "folder-github" | "folder-gitlab" | "folder-vscode" | "folder-views" | "folder-vue" | "folder-vuepress" | "folder-expo" | "folder-config" | "folder-i18n" | "folder-components" | "folder-verdaccio" | "folder-aurelia" | "folder-resource" | "folder-lib" | "folder-theme" | "folder-webpack" | "folder-global" | "folder-public" | "folder-include" | "folder-docker" | "folder-database" | "folder-log" | "folder-target" | "folder-temp" | "folder-aws" | "folder-audio" | "folder-video" | "folder-kubernetes" | "folder-import" | "folder-export" | "folder-wakatime" | "folder-circleci" | "folder-wordpress" | "folder-gradle" | "folder-coverage" | "folder-class" | "folder-other" | "folder-lua" | "folder-typescript" | "folder-graphql" | "folder-routes" | "folder-ci" | "folder-benchmark" | "folder-messages" | "folder-less" | "folder-gulp" | "folder-python" | "folder-mojo" | "folder-debug" | "folder-fastlane" | "folder-plugin" | "folder-middleware" | "folder-controller" | "folder-ansible" | "folder-server" | "folder-client" | "folder-tasks" | "folder-android" | "folder-ios" | "folder-upload" | "folder-download" | "folder-tools" | "folder-helper" | "folder-serverless" | "folder-api" | "folder-app" | "folder-apollo" | "folder-archive" | "folder-batch" | "folder-buildkite" | "folder-cluster" | "folder-command" | "folder-constant" | "folder-container" | "folder-content" | "folder-context" | "folder-core" | "folder-delta" | "folder-dump" | "folder-examples" | "folder-environment" | "folder-functions" | "folder-generator" | "folder-hook" | "folder-job" | "folder-keys" | "folder-layout" | "folder-mail" | "folder-mappings" | "folder-meta" | "folder-changesets" | "folder-packages" | "folder-shared" | "folder-shader" | "folder-stack" | "folder-template" | "folder-utils" | "folder-supabase" | "folder-private" | "folder-error" | "folder-event" | "folder-secure" | "folder-custom" | "folder-mock" | "folder-syntax" | "folder-vm" | "folder-stylus" | "folder-flow" | "folder-rules" | "folder-review" | "folder-animation" | "folder-guard" | "folder-prisma" | "folder-pipe" | "folder-svg" | "folder-terraform" | "folder-mobile" | "folder-stencil" | "folder-firebase" | "folder-svelte" | "folder-update" | "folder-intellij" | "folder-azure-pipelines" | "folder-mjml" | "folder-admin" | "folder-scala" | "folder-connection" | "folder-quasar" | "folder-next" | "folder-cobol" | "folder-yarn" | "folder-husky" | "folder-storybook" | "folder-base" | "folder-cart" | "folder-home" | "folder-project" | "folder-interface" | "folder-netlify" | "folder-enum" | "folder-contract" | "folder-queue" | "folder-vercel" | "folder-cypress" | "folder-decorators" | "folder-java" | "folder-resolver" | "folder-angular" | "folder-unity" | "folder-pdf" | "folder-proto" | "folder-plastic" | "folder-gamemaker" | "folder-mercurial" | "folder-godot" | "folder-robot-open" | "folder-src-open" | "folder-dist-open" | "folder-css-open" | "folder-sass-open" | "folder-images-open" | "folder-scripts-open" | "folder-node-open" | "folder-javascript-open" | "folder-json-open" | "folder-font-open" | "folder-bower-open" | "folder-test-open" | "folder-jinja-open" | "folder-markdown-open" | "folder-php-open" | "folder-phpmailer-open" | "folder-sublime-open" | "folder-docs-open" | "folder-git-open" | "folder-github-open" | "folder-gitlab-open" | "folder-vscode-open" | "folder-views-open" | "folder-vue-open" | "folder-vuepress-open" | "folder-expo-open" | "folder-config-open" | "folder-i18n-open" | "folder-components-open" | "folder-verdaccio-open" | "folder-aurelia-open" | "folder-resource-open" | "folder-lib-open" | "folder-theme-open" | "folder-webpack-open" | "folder-global-open" | "folder-public-open" | "folder-include-open" | "folder-docker-open" | "folder-database-open" | "folder-log-open" | "folder-target-open" | "folder-temp-open" | "folder-aws-open" | "folder-audio-open" | "folder-video-open" | "folder-kubernetes-open" | "folder-import-open" | "folder-export-open" | "folder-wakatime-open" | "folder-circleci-open" | "folder-wordpress-open" | "folder-gradle-open" | "folder-coverage-open" | "folder-class-open" | "folder-other-open" | "folder-lua-open" | "folder-typescript-open" | "folder-graphql-open" | "folder-routes-open" | "folder-ci-open" | "folder-benchmark-open" | "folder-messages-open" | "folder-less-open" | "folder-gulp-open" | "folder-python-open" | "folder-mojo-open" | "folder-debug-open" | "folder-fastlane-open" | "folder-plugin-open" | "folder-middleware-open" | "folder-controller-open" | "folder-ansible-open" | "folder-server-open" | "folder-client-open" | "folder-tasks-open" | "folder-android-open" | "folder-ios-open" | "folder-upload-open" | "folder-download-open" | "folder-tools-open" | "folder-helper-open" | "folder-serverless-open" | "folder-api-open" | "folder-app-open" | "folder-apollo-open" | "folder-archive-open" | "folder-batch-open" | "folder-buildkite-open" | "folder-cluster-open" | "folder-command-open" | "folder-constant-open" | "folder-container-open" | "folder-content-open" | "folder-context-open" | "folder-core-open" | "folder-delta-open" | "folder-dump-open" | "folder-examples-open" | "folder-environment-open" | "folder-functions-open" | "folder-generator-open" | "folder-hook-open" | "folder-job-open" | "folder-keys-open" | "folder-layout-open" | "folder-mail-open" | "folder-mappings-open" | "folder-meta-open" | "folder-changesets-open" | "folder-packages-open" | "folder-shared-open" | "folder-shader-open" | "folder-stack-open" | "folder-template-open" | "folder-utils-open" | "folder-supabase-open" | "folder-private-open" | "folder-error-open" | "folder-event-open" | "folder-secure-open" | "folder-custom-open" | "folder-mock-open" | "folder-syntax-open" | "folder-vm-open" | "folder-stylus-open" | "folder-flow-open" | "folder-rules-open" | "folder-review-open" | "folder-animation-open" | "folder-guard-open" | "folder-prisma-open" | "folder-pipe-open" | "folder-svg-open" | "folder-terraform-open" | "folder-mobile-open" | "folder-stencil-open" | "folder-firebase-open" | "folder-svelte-open" | "folder-update-open" | "folder-intellij-open" | "folder-azure-pipelines-open" | "folder-mjml-open" | "folder-admin-open" | "folder-scala-open" | "folder-connection-open" | "folder-quasar-open" | "folder-next-open" | "folder-cobol-open" | "folder-yarn-open" | "folder-husky-open" | "folder-storybook-open" | "folder-base-open" | "folder-cart-open" | "folder-home-open" | "folder-project-open" | "folder-interface-open" | "folder-netlify-open" | "folder-enum-open" | "folder-contract-open" | "folder-queue-open" | "folder-vercel-open" | "folder-cypress-open" | "folder-decorators-open" | "folder-java-open" | "folder-resolver-open" | "folder-angular-open" | "folder-unity-open" | "folder-pdf-open" | "folder-proto-open" | "folder-plastic-open" | "folder-gamemaker-open" | "folder-mercurial-open" | "folder-godot-open" | "html" | "pug" | "markdown" | "css" | "sass" | "less" | "json" | "jinja" | "proto" | "sublime" | "twine" | "yaml" | "xml" | "image" | "javascript" | "react" | "react_ts" | "routing" | "settings" | "typescript-def" | "markojs" | "astro" | "pdf" | "table" | "vscode" | "visualstudio" | "database" | "kusto" | "csharp" | "qsharp" | "zip" | "vala" | "zig" | "exe" | "hex" | "java" | "jar" | "javaclass" | "c" | "h" | "cpp" | "hpp" | "objective-c" | "objective-cpp" | "rc" | "go" | "python" | "python-misc" | "url" | "console" | "powershell" | "gradle" | "word" | "certificate" | "key" | "font" | "lib" | "ruby" | "fsharp" | "swift" | "arduino" | "docker" | "tex" | "powerpoint" | "video" | "virtual" | "email" | "audio" | "coffee" | "document" | "graphql" | "rust" | "raml" | "xaml" | "haskell" | "kotlin" | "otne" | "git" | "lua" | "clojure" | "groovy" | "r" | "dart" | "dart_generated" | "actionscript" | "mxml" | "autohotkey" | "flash" | "swc" | "cmake" | "assembly" | "vue" | "ocaml" | "odin" | "javascript-map" | "css-map" | "lock" | "handlebars" | "perl" | "haxe" | "test-ts" | "test-jsx" | "test-js" | "angular" | "angular-component" | "angular-guard" | "angular-service" | "angular-pipe" | "angular-directive" | "angular-resolver" | "puppet" | "elixir" | "livescript" | "erlang" | "twig" | "julia" | "elm" | "purescript" | "smarty" | "stylus" | "reason" | "bucklescript" | "merlin" | "verilog" | "mathematica" | "wolframlanguage" | "nunjucks" | "robot" | "solidity" | "autoit" | "haml" | "yang" | "mjml" | "terraform" | "laravel" | "applescript" | "cake" | "cucumber" | "nim" | "apiblueprint" | "riot" | "vfl" | "kl" | "postcss" | "todo" | "coldfusion" | "cabal" | "nix" | "slim" | "http" | "restql" | "kivy" | "graphcool" | "sbt" | "android" | "tune" | "gitlab" | "jenkins" | "figma" | "crystal" | "drone" | "cuda" | "log" | "dotjs" | "ejs" | "wakatime" | "processing" | "storybook" | "wepy" | "hcl" | "san" | "django" | "red" | "makefile" | "foxpro" | "i18n" | "webassembly" | "jupyter" | "d" | "mdx" | "mdsvex" | "ballerina" | "racket" | "bazel" | "mint" | "velocity" | "godot" | "godot-assets" | "azure-pipelines" | "azure" | "vagrant" | "prisma" | "razor" | "abc" | "asciidoc" | "edge" | "scheme" | "lisp" | "3d" | "svg" | "svelte" | "vim" | "moonscript" | "advpl_prw" | "advpl_ptm" | "advpl_tlpp" | "advpl_include" | "disc" | "fortran" | "tcl" | "liquid" | "prolog" | "coconut" | "sketch" | "pawn" | "forth" | "uml" | "meson" | "dhall" | "sml" | "opam" | "imba" | "drawio" | "pascal" | "shaderlab" | "sas" | "nuget" | "command" | "denizenscript" | "nginx" | "minecraft" | "rescript" | "rescript-interface" | "brainfuck" | "bicep" | "cobol" | "grain" | "lolcode" | "idris" | "pipeline" | "opa" | "windicss" | "scala" | "lilypond" | "vlang" | "chess" | "gemini" | "tsconfig" | "tauri" | "jsconfig" | "ada" | "horusec" | "coala" | "dinophp" | "teal" | "template" | "shader" | "siyuan" | "ndst" | "tobi" | "gleam" | "steadybit" | "tree" | "cadence" | "antlr" | "stylable" | "pinejs" | "gamemaker" | "tldraw" | "typst" | "mermaid" | "mojo" | "roblox" | "playwright" | "go-mod" | "gemfile" | "rubocop" | "semgrep" | "vue-config" | "nuxt" | "vercel" | "verdaccio" | "next" | "remix" | "posthtml" | "webpack" | "ionic" | "gulp" | "nodejs" | "npm" | "yarn" | "turborepo" | "babel" | "blitz" | "contributing" | "readme" | "changelog" | "architecture" | "credits" | "authors" | "flow" | "favicon" | "karma" | "bithound" | "svgo" | "appveyor" | "travis" | "codecov" | "sonarcloud" | "protractor" | "fusebox" | "heroku" | "editorconfig" | "bower" | "eslint" | "conduct" | "watchman" | "aurelia" | "auto" | "mocha" | "firebase" | "rollup" | "hack" | "hardhat" | "stylelint" | "code-climate" | "prettier" | "renovate" | "apollo" | "nodemon" | "webhint" | "browserlist" | "snyk" | "sequelize" | "gatsby" | "circleci" | "cloudfoundry" | "grunt" | "jest" | "fastlane" | "helm" | "wallaby" | "stencil" | "semantic-release" | "bitbucket" | "istanbul" | "tailwindcss" | "buildkite" | "netlify" | "nest" | "percy" | "gitpod" | "codeowners" | "gcp" | "husky" | "tilt" | "capacitor" | "adonis" | "commitlint" | "buck" | "nrwl" | "dune" | "roadmap" | "stryker" | "modernizr" | "stitches" | "replit" | "snowpack" | "quasar" | "dependabot" | "vite" | "vitest" | "lerna" | "textlint" | "sentry" | "phpunit" | "php-cs-fixer" | "robots" | "maven" | "serverless" | "supabase" | "ember" | "poetry" | "parcel" | "astyle" | "lighthouse" | "svgr" | "rome" | "cypress" | "plop" | "tobimake" | "pnpm" | "gridsome" | "caddy" | "bun" | "nano-staged" | "craco" | "mercurial" | "deno" | "plastic" | "unocss" | "ifanr-cloud" | "werf" | "panda" | "matlab" | "diff" | "typescript" | "php" | "salesforce" | "blink_light" | "jinja_light" | "crystal_light" | "drone_light" | "wakatime_light" | "hcl_light" | "uml_light" | "chess_light" | "tldraw_light" | "rubocop_light" | "vercel_light" | "next_light" | "remix_light" | "turborepo_light" | "auto_light" | "stylelint_light" | "code-climate_light" | "browserlist_light" | "circleci_light" | "semantic-release_light" | "netlify_light" | "stitches_light" | "snowpack_light" | "pnpm_light" | "bun_light" | "nano-staged_light" | "deno_light" | "folder-jinja_light" | "folder-intellij_light" | "folder-jinja-open_light" | "folder-intellij-open_light" | "file" | "folder" | "folder-open" | "folder-root" | "folder-root-open" | "php_elephant" | "php_elephant_pink" | "go_gopher" | "nodejs_alt" | "silverstripe";
42
+ slug: string;
43
+ title: string;
44
+ packageName: string | undefined;
45
+ packageVersion: string | undefined;
46
+ runnerDuration: number;
47
+ runnerStartDate: string;
48
+ }[];
49
+ categories: {
50
+ slug: string;
51
+ title: string;
52
+ description: string | undefined;
53
+ refs: {
54
+ plugin: string;
55
+ type: CategoryConfigRefType;
56
+ weight: number;
57
+ slug: string;
58
+ }[];
59
+ }[];
60
+ };
@@ -0,0 +1,10 @@
1
+ import { CoreConfig, Report } from '@code-pushup/models';
2
+ import { MultipleFileResults } from '@code-pushup/utils';
3
+ export declare class PersistDirError extends Error {
4
+ constructor(outputDir: string);
5
+ }
6
+ export declare class PersistError extends Error {
7
+ constructor(reportPath: string);
8
+ }
9
+ export declare function persistReport(report: Report, config: CoreConfig): Promise<MultipleFileResults>;
10
+ export declare function logPersistedResults(persistResults: MultipleFileResults): void;
@@ -0,0 +1,225 @@
1
+ export declare class ConfigPathError extends Error {
2
+ constructor(configPath: string);
3
+ }
4
+ export declare function readCodePushupConfig(filepath: string): Promise<{
5
+ plugins: {
6
+ title: string;
7
+ slug: string;
8
+ icon: "slug" | "search" | "blink" | "folder-robot" | "folder-src" | "folder-dist" | "folder-css" | "folder-sass" | "folder-images" | "folder-scripts" | "folder-node" | "folder-javascript" | "folder-json" | "folder-font" | "folder-bower" | "folder-test" | "folder-jinja" | "folder-markdown" | "folder-php" | "folder-phpmailer" | "folder-sublime" | "folder-docs" | "folder-git" | "folder-github" | "folder-gitlab" | "folder-vscode" | "folder-views" | "folder-vue" | "folder-vuepress" | "folder-expo" | "folder-config" | "folder-i18n" | "folder-components" | "folder-verdaccio" | "folder-aurelia" | "folder-resource" | "folder-lib" | "folder-theme" | "folder-webpack" | "folder-global" | "folder-public" | "folder-include" | "folder-docker" | "folder-database" | "folder-log" | "folder-target" | "folder-temp" | "folder-aws" | "folder-audio" | "folder-video" | "folder-kubernetes" | "folder-import" | "folder-export" | "folder-wakatime" | "folder-circleci" | "folder-wordpress" | "folder-gradle" | "folder-coverage" | "folder-class" | "folder-other" | "folder-lua" | "folder-typescript" | "folder-graphql" | "folder-routes" | "folder-ci" | "folder-benchmark" | "folder-messages" | "folder-less" | "folder-gulp" | "folder-python" | "folder-mojo" | "folder-debug" | "folder-fastlane" | "folder-plugin" | "folder-middleware" | "folder-controller" | "folder-ansible" | "folder-server" | "folder-client" | "folder-tasks" | "folder-android" | "folder-ios" | "folder-upload" | "folder-download" | "folder-tools" | "folder-helper" | "folder-serverless" | "folder-api" | "folder-app" | "folder-apollo" | "folder-archive" | "folder-batch" | "folder-buildkite" | "folder-cluster" | "folder-command" | "folder-constant" | "folder-container" | "folder-content" | "folder-context" | "folder-core" | "folder-delta" | "folder-dump" | "folder-examples" | "folder-environment" | "folder-functions" | "folder-generator" | "folder-hook" | "folder-job" | "folder-keys" | "folder-layout" | "folder-mail" | "folder-mappings" | "folder-meta" | "folder-changesets" | "folder-packages" | "folder-shared" | "folder-shader" | "folder-stack" | "folder-template" | "folder-utils" | "folder-supabase" | "folder-private" | "folder-error" | "folder-event" | "folder-secure" | "folder-custom" | "folder-mock" | "folder-syntax" | "folder-vm" | "folder-stylus" | "folder-flow" | "folder-rules" | "folder-review" | "folder-animation" | "folder-guard" | "folder-prisma" | "folder-pipe" | "folder-svg" | "folder-terraform" | "folder-mobile" | "folder-stencil" | "folder-firebase" | "folder-svelte" | "folder-update" | "folder-intellij" | "folder-azure-pipelines" | "folder-mjml" | "folder-admin" | "folder-scala" | "folder-connection" | "folder-quasar" | "folder-next" | "folder-cobol" | "folder-yarn" | "folder-husky" | "folder-storybook" | "folder-base" | "folder-cart" | "folder-home" | "folder-project" | "folder-interface" | "folder-netlify" | "folder-enum" | "folder-contract" | "folder-queue" | "folder-vercel" | "folder-cypress" | "folder-decorators" | "folder-java" | "folder-resolver" | "folder-angular" | "folder-unity" | "folder-pdf" | "folder-proto" | "folder-plastic" | "folder-gamemaker" | "folder-mercurial" | "folder-godot" | "folder-robot-open" | "folder-src-open" | "folder-dist-open" | "folder-css-open" | "folder-sass-open" | "folder-images-open" | "folder-scripts-open" | "folder-node-open" | "folder-javascript-open" | "folder-json-open" | "folder-font-open" | "folder-bower-open" | "folder-test-open" | "folder-jinja-open" | "folder-markdown-open" | "folder-php-open" | "folder-phpmailer-open" | "folder-sublime-open" | "folder-docs-open" | "folder-git-open" | "folder-github-open" | "folder-gitlab-open" | "folder-vscode-open" | "folder-views-open" | "folder-vue-open" | "folder-vuepress-open" | "folder-expo-open" | "folder-config-open" | "folder-i18n-open" | "folder-components-open" | "folder-verdaccio-open" | "folder-aurelia-open" | "folder-resource-open" | "folder-lib-open" | "folder-theme-open" | "folder-webpack-open" | "folder-global-open" | "folder-public-open" | "folder-include-open" | "folder-docker-open" | "folder-database-open" | "folder-log-open" | "folder-target-open" | "folder-temp-open" | "folder-aws-open" | "folder-audio-open" | "folder-video-open" | "folder-kubernetes-open" | "folder-import-open" | "folder-export-open" | "folder-wakatime-open" | "folder-circleci-open" | "folder-wordpress-open" | "folder-gradle-open" | "folder-coverage-open" | "folder-class-open" | "folder-other-open" | "folder-lua-open" | "folder-typescript-open" | "folder-graphql-open" | "folder-routes-open" | "folder-ci-open" | "folder-benchmark-open" | "folder-messages-open" | "folder-less-open" | "folder-gulp-open" | "folder-python-open" | "folder-mojo-open" | "folder-debug-open" | "folder-fastlane-open" | "folder-plugin-open" | "folder-middleware-open" | "folder-controller-open" | "folder-ansible-open" | "folder-server-open" | "folder-client-open" | "folder-tasks-open" | "folder-android-open" | "folder-ios-open" | "folder-upload-open" | "folder-download-open" | "folder-tools-open" | "folder-helper-open" | "folder-serverless-open" | "folder-api-open" | "folder-app-open" | "folder-apollo-open" | "folder-archive-open" | "folder-batch-open" | "folder-buildkite-open" | "folder-cluster-open" | "folder-command-open" | "folder-constant-open" | "folder-container-open" | "folder-content-open" | "folder-context-open" | "folder-core-open" | "folder-delta-open" | "folder-dump-open" | "folder-examples-open" | "folder-environment-open" | "folder-functions-open" | "folder-generator-open" | "folder-hook-open" | "folder-job-open" | "folder-keys-open" | "folder-layout-open" | "folder-mail-open" | "folder-mappings-open" | "folder-meta-open" | "folder-changesets-open" | "folder-packages-open" | "folder-shared-open" | "folder-shader-open" | "folder-stack-open" | "folder-template-open" | "folder-utils-open" | "folder-supabase-open" | "folder-private-open" | "folder-error-open" | "folder-event-open" | "folder-secure-open" | "folder-custom-open" | "folder-mock-open" | "folder-syntax-open" | "folder-vm-open" | "folder-stylus-open" | "folder-flow-open" | "folder-rules-open" | "folder-review-open" | "folder-animation-open" | "folder-guard-open" | "folder-prisma-open" | "folder-pipe-open" | "folder-svg-open" | "folder-terraform-open" | "folder-mobile-open" | "folder-stencil-open" | "folder-firebase-open" | "folder-svelte-open" | "folder-update-open" | "folder-intellij-open" | "folder-azure-pipelines-open" | "folder-mjml-open" | "folder-admin-open" | "folder-scala-open" | "folder-connection-open" | "folder-quasar-open" | "folder-next-open" | "folder-cobol-open" | "folder-yarn-open" | "folder-husky-open" | "folder-storybook-open" | "folder-base-open" | "folder-cart-open" | "folder-home-open" | "folder-project-open" | "folder-interface-open" | "folder-netlify-open" | "folder-enum-open" | "folder-contract-open" | "folder-queue-open" | "folder-vercel-open" | "folder-cypress-open" | "folder-decorators-open" | "folder-java-open" | "folder-resolver-open" | "folder-angular-open" | "folder-unity-open" | "folder-pdf-open" | "folder-proto-open" | "folder-plastic-open" | "folder-gamemaker-open" | "folder-mercurial-open" | "folder-godot-open" | "html" | "pug" | "markdown" | "css" | "sass" | "less" | "json" | "jinja" | "proto" | "sublime" | "twine" | "yaml" | "xml" | "image" | "javascript" | "react" | "react_ts" | "routing" | "settings" | "typescript-def" | "markojs" | "astro" | "pdf" | "table" | "vscode" | "visualstudio" | "database" | "kusto" | "csharp" | "qsharp" | "zip" | "vala" | "zig" | "exe" | "hex" | "java" | "jar" | "javaclass" | "c" | "h" | "cpp" | "hpp" | "objective-c" | "objective-cpp" | "rc" | "go" | "python" | "python-misc" | "url" | "console" | "powershell" | "gradle" | "word" | "certificate" | "key" | "font" | "lib" | "ruby" | "fsharp" | "swift" | "arduino" | "docker" | "tex" | "powerpoint" | "video" | "virtual" | "email" | "audio" | "coffee" | "document" | "graphql" | "rust" | "raml" | "xaml" | "haskell" | "kotlin" | "otne" | "git" | "lua" | "clojure" | "groovy" | "r" | "dart" | "dart_generated" | "actionscript" | "mxml" | "autohotkey" | "flash" | "swc" | "cmake" | "assembly" | "vue" | "ocaml" | "odin" | "javascript-map" | "css-map" | "lock" | "handlebars" | "perl" | "haxe" | "test-ts" | "test-jsx" | "test-js" | "angular" | "angular-component" | "angular-guard" | "angular-service" | "angular-pipe" | "angular-directive" | "angular-resolver" | "puppet" | "elixir" | "livescript" | "erlang" | "twig" | "julia" | "elm" | "purescript" | "smarty" | "stylus" | "reason" | "bucklescript" | "merlin" | "verilog" | "mathematica" | "wolframlanguage" | "nunjucks" | "robot" | "solidity" | "autoit" | "haml" | "yang" | "mjml" | "terraform" | "laravel" | "applescript" | "cake" | "cucumber" | "nim" | "apiblueprint" | "riot" | "vfl" | "kl" | "postcss" | "todo" | "coldfusion" | "cabal" | "nix" | "slim" | "http" | "restql" | "kivy" | "graphcool" | "sbt" | "android" | "tune" | "gitlab" | "jenkins" | "figma" | "crystal" | "drone" | "cuda" | "log" | "dotjs" | "ejs" | "wakatime" | "processing" | "storybook" | "wepy" | "hcl" | "san" | "django" | "red" | "makefile" | "foxpro" | "i18n" | "webassembly" | "jupyter" | "d" | "mdx" | "mdsvex" | "ballerina" | "racket" | "bazel" | "mint" | "velocity" | "godot" | "godot-assets" | "azure-pipelines" | "azure" | "vagrant" | "prisma" | "razor" | "abc" | "asciidoc" | "edge" | "scheme" | "lisp" | "3d" | "svg" | "svelte" | "vim" | "moonscript" | "advpl_prw" | "advpl_ptm" | "advpl_tlpp" | "advpl_include" | "disc" | "fortran" | "tcl" | "liquid" | "prolog" | "coconut" | "sketch" | "pawn" | "forth" | "uml" | "meson" | "dhall" | "sml" | "opam" | "imba" | "drawio" | "pascal" | "shaderlab" | "sas" | "nuget" | "command" | "denizenscript" | "nginx" | "minecraft" | "rescript" | "rescript-interface" | "brainfuck" | "bicep" | "cobol" | "grain" | "lolcode" | "idris" | "pipeline" | "opa" | "windicss" | "scala" | "lilypond" | "vlang" | "chess" | "gemini" | "tsconfig" | "tauri" | "jsconfig" | "ada" | "horusec" | "coala" | "dinophp" | "teal" | "template" | "shader" | "siyuan" | "ndst" | "tobi" | "gleam" | "steadybit" | "tree" | "cadence" | "antlr" | "stylable" | "pinejs" | "gamemaker" | "tldraw" | "typst" | "mermaid" | "mojo" | "roblox" | "playwright" | "go-mod" | "gemfile" | "rubocop" | "semgrep" | "vue-config" | "nuxt" | "vercel" | "verdaccio" | "next" | "remix" | "posthtml" | "webpack" | "ionic" | "gulp" | "nodejs" | "npm" | "yarn" | "turborepo" | "babel" | "blitz" | "contributing" | "readme" | "changelog" | "architecture" | "credits" | "authors" | "flow" | "favicon" | "karma" | "bithound" | "svgo" | "appveyor" | "travis" | "codecov" | "sonarcloud" | "protractor" | "fusebox" | "heroku" | "editorconfig" | "bower" | "eslint" | "conduct" | "watchman" | "aurelia" | "auto" | "mocha" | "firebase" | "rollup" | "hack" | "hardhat" | "stylelint" | "code-climate" | "prettier" | "renovate" | "apollo" | "nodemon" | "webhint" | "browserlist" | "snyk" | "sequelize" | "gatsby" | "circleci" | "cloudfoundry" | "grunt" | "jest" | "fastlane" | "helm" | "wallaby" | "stencil" | "semantic-release" | "bitbucket" | "istanbul" | "tailwindcss" | "buildkite" | "netlify" | "nest" | "percy" | "gitpod" | "codeowners" | "gcp" | "husky" | "tilt" | "capacitor" | "adonis" | "commitlint" | "buck" | "nrwl" | "dune" | "roadmap" | "stryker" | "modernizr" | "stitches" | "replit" | "snowpack" | "quasar" | "dependabot" | "vite" | "vitest" | "lerna" | "textlint" | "sentry" | "phpunit" | "php-cs-fixer" | "robots" | "maven" | "serverless" | "supabase" | "ember" | "poetry" | "parcel" | "astyle" | "lighthouse" | "svgr" | "rome" | "cypress" | "plop" | "tobimake" | "pnpm" | "gridsome" | "caddy" | "bun" | "nano-staged" | "craco" | "mercurial" | "deno" | "plastic" | "unocss" | "ifanr-cloud" | "werf" | "panda" | "matlab" | "diff" | "typescript" | "php" | "salesforce" | "blink_light" | "jinja_light" | "crystal_light" | "drone_light" | "wakatime_light" | "hcl_light" | "uml_light" | "chess_light" | "tldraw_light" | "rubocop_light" | "vercel_light" | "next_light" | "remix_light" | "turborepo_light" | "auto_light" | "stylelint_light" | "code-climate_light" | "browserlist_light" | "circleci_light" | "semantic-release_light" | "netlify_light" | "stitches_light" | "snowpack_light" | "pnpm_light" | "bun_light" | "nano-staged_light" | "deno_light" | "folder-jinja_light" | "folder-intellij_light" | "folder-jinja-open_light" | "folder-intellij-open_light" | "file" | "folder" | "folder-open" | "folder-root" | "folder-root-open" | "php_elephant" | "php_elephant_pink" | "go_gopher" | "nodejs_alt" | "silverstripe";
9
+ runner: ({
10
+ command: string;
11
+ outputFile: string;
12
+ args?: string[] | undefined;
13
+ outputTransform?: ((args_0: unknown, ...args_1: unknown[]) => {
14
+ value: number;
15
+ slug: string;
16
+ score: number;
17
+ displayValue?: string | undefined;
18
+ details?: {
19
+ issues: {
20
+ message: string;
21
+ severity: "error" | "info" | "warning";
22
+ source?: {
23
+ file: string;
24
+ position?: {
25
+ startLine: number;
26
+ startColumn?: number | undefined;
27
+ endLine?: number | undefined;
28
+ endColumn?: number | undefined;
29
+ } | undefined;
30
+ } | undefined;
31
+ }[];
32
+ } | undefined;
33
+ }[] | Promise<{
34
+ value: number;
35
+ slug: string;
36
+ score: number;
37
+ displayValue?: string | undefined;
38
+ details?: {
39
+ issues: {
40
+ message: string;
41
+ severity: "error" | "info" | "warning";
42
+ source?: {
43
+ file: string;
44
+ position?: {
45
+ startLine: number;
46
+ startColumn?: number | undefined;
47
+ endLine?: number | undefined;
48
+ endColumn?: number | undefined;
49
+ } | undefined;
50
+ } | undefined;
51
+ }[];
52
+ } | undefined;
53
+ }[]>) | undefined;
54
+ } | ((args_0: ((args_0: unknown, ...args_1: unknown[]) => void) | undefined, ...args_1: unknown[]) => {
55
+ value: number;
56
+ slug: string;
57
+ score: number;
58
+ displayValue?: string | undefined;
59
+ details?: {
60
+ issues: {
61
+ message: string;
62
+ severity: "error" | "info" | "warning";
63
+ source?: {
64
+ file: string;
65
+ position?: {
66
+ startLine: number;
67
+ startColumn?: number | undefined;
68
+ endLine?: number | undefined;
69
+ endColumn?: number | undefined;
70
+ } | undefined;
71
+ } | undefined;
72
+ }[];
73
+ } | undefined;
74
+ }[] | Promise<{
75
+ value: number;
76
+ slug: string;
77
+ score: number;
78
+ displayValue?: string | undefined;
79
+ details?: {
80
+ issues: {
81
+ message: string;
82
+ severity: "error" | "info" | "warning";
83
+ source?: {
84
+ file: string;
85
+ position?: {
86
+ startLine: number;
87
+ startColumn?: number | undefined;
88
+ endLine?: number | undefined;
89
+ endColumn?: number | undefined;
90
+ } | undefined;
91
+ } | undefined;
92
+ }[];
93
+ } | undefined;
94
+ }[]>)) & ({
95
+ command: string;
96
+ outputFile: string;
97
+ args?: string[] | undefined;
98
+ outputTransform?: ((args_0: unknown, ...args_1: unknown[]) => {
99
+ value: number;
100
+ slug: string;
101
+ score: number;
102
+ displayValue?: string | undefined;
103
+ details?: {
104
+ issues: {
105
+ message: string;
106
+ severity: "error" | "info" | "warning";
107
+ source?: {
108
+ file: string;
109
+ position?: {
110
+ startLine: number;
111
+ startColumn?: number | undefined;
112
+ endLine?: number | undefined;
113
+ endColumn?: number | undefined;
114
+ } | undefined;
115
+ } | undefined;
116
+ }[];
117
+ } | undefined;
118
+ }[] | Promise<{
119
+ value: number;
120
+ slug: string;
121
+ score: number;
122
+ displayValue?: string | undefined;
123
+ details?: {
124
+ issues: {
125
+ message: string;
126
+ severity: "error" | "info" | "warning";
127
+ source?: {
128
+ file: string;
129
+ position?: {
130
+ startLine: number;
131
+ startColumn?: number | undefined;
132
+ endLine?: number | undefined;
133
+ endColumn?: number | undefined;
134
+ } | undefined;
135
+ } | undefined;
136
+ }[];
137
+ } | undefined;
138
+ }[]>) | undefined;
139
+ } | ((args_0: ((args_0: unknown, ...args_1: unknown[]) => void) | undefined, ...args_1: unknown[]) => {
140
+ value: number;
141
+ slug: string;
142
+ score: number;
143
+ displayValue?: string | undefined;
144
+ details?: {
145
+ issues: {
146
+ message: string;
147
+ severity: "error" | "info" | "warning";
148
+ source?: {
149
+ file: string;
150
+ position?: {
151
+ startLine: number;
152
+ startColumn?: number | undefined;
153
+ endLine?: number | undefined;
154
+ endColumn?: number | undefined;
155
+ } | undefined;
156
+ } | undefined;
157
+ }[];
158
+ } | undefined;
159
+ }[] | Promise<{
160
+ value: number;
161
+ slug: string;
162
+ score: number;
163
+ displayValue?: string | undefined;
164
+ details?: {
165
+ issues: {
166
+ message: string;
167
+ severity: "error" | "info" | "warning";
168
+ source?: {
169
+ file: string;
170
+ position?: {
171
+ startLine: number;
172
+ startColumn?: number | undefined;
173
+ endLine?: number | undefined;
174
+ endColumn?: number | undefined;
175
+ } | undefined;
176
+ } | undefined;
177
+ }[];
178
+ } | undefined;
179
+ }[]>) | undefined);
180
+ audits: {
181
+ title: string;
182
+ slug: string;
183
+ description?: string | undefined;
184
+ docsUrl?: string | undefined;
185
+ }[];
186
+ description?: string | undefined;
187
+ docsUrl?: string | undefined;
188
+ packageName?: string | undefined;
189
+ version?: string | undefined;
190
+ groups?: {
191
+ title: string;
192
+ slug: string;
193
+ refs: {
194
+ slug: string;
195
+ weight: number;
196
+ }[];
197
+ description?: string | undefined;
198
+ docsUrl?: string | undefined;
199
+ }[] | undefined;
200
+ }[];
201
+ persist: {
202
+ outputDir: string;
203
+ filename: string;
204
+ format?: ("json" | "md")[] | undefined;
205
+ };
206
+ categories: {
207
+ title: string;
208
+ slug: string;
209
+ refs: {
210
+ type: "audit" | "group";
211
+ slug: string;
212
+ weight: number;
213
+ plugin: string;
214
+ }[];
215
+ description?: string | undefined;
216
+ docsUrl?: string | undefined;
217
+ isBinary?: boolean | undefined;
218
+ }[];
219
+ upload?: {
220
+ server: string;
221
+ apiKey: string;
222
+ organization: string;
223
+ project: string;
224
+ } | undefined;
225
+ }>;
@@ -0,0 +1,8 @@
1
+ import { AuditOutputs, OnProgress, RunnerConfig, RunnerFunction } from '@code-pushup/models';
2
+ export type RunnerResult = {
3
+ date: string;
4
+ duration: number;
5
+ audits: AuditOutputs;
6
+ };
7
+ export declare function executeRunnerConfig(cfg: RunnerConfig, onProgress?: OnProgress): Promise<RunnerResult>;
8
+ export declare function executeRunnerFunction(runner: RunnerFunction, onProgress?: OnProgress): Promise<RunnerResult>;
@@ -0,0 +1,4 @@
1
+ export type GlobalOptions = {
2
+ progress: boolean;
3
+ verbose: boolean;
4
+ };
@@ -0,0 +1,9 @@
1
+ import { uploadToPortal } from '@code-pushup/portal-client';
2
+ import { CoreConfig } from '@code-pushup/models';
3
+ import { GlobalOptions } from './types';
4
+ export type UploadOptions = Required<Pick<CoreConfig, 'upload' | 'persist'>> & GlobalOptions;
5
+ /**
6
+ * Uploads collected audits to the portal
7
+ * @param options
8
+ */
9
+ export declare function upload(options: UploadOptions, uploadFn?: typeof uploadToPortal): Promise<import("@code-pushup/portal-client").ReportFragment>;