diff --git a/.codecov.yml b/.codecov.yml
new file mode 100644
index 000000000..09b108a3e
--- /dev/null
+++ b/.codecov.yml
@@ -0,0 +1,5 @@
+coverage:
+ status:
+ project: yes
+ patch: no
+ changes: no
diff --git a/.eslintrc.json b/.eslintrc.json
new file mode 100644
index 000000000..f03a53403
--- /dev/null
+++ b/.eslintrc.json
@@ -0,0 +1,64 @@
+{
+ "root": true,
+ "extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended", "prettier", "plugin:prettier/recommended"],
+ "env": {
+ "es6": true,
+ "node": true
+ },
+ "rules": {
+ "prefer-spread": "off",
+ "eqeqeq": "error"
+ },
+ "ignorePatterns": ["examples/**", "dist/**"],
+ "overrides": [
+ {
+ "files": ["**/*.ts"],
+ "parser": "@typescript-eslint/parser",
+ "parserOptions": {
+ "project": ["./tsconfig.build.json", "./tsconfig.spec.json"]
+ },
+ "plugins": ["@typescript-eslint", "prettier"],
+ "rules": {
+ "@typescript-eslint/no-unused-vars": ["warn", { "varsIgnorePattern": "^_" }],
+ "@typescript-eslint/naming-convention": "error",
+ "@typescript-eslint/no-floating-promises": "error",
+ "@typescript-eslint/no-unnecessary-type-arguments": "error",
+ "@typescript-eslint/no-non-null-assertion": "error",
+ "@typescript-eslint/no-empty-interface": "error",
+ "@typescript-eslint/restrict-plus-operands": "error",
+ "@typescript-eslint/no-extra-non-null-assertion": "error",
+ "@typescript-eslint/prefer-nullish-coalescing": "error",
+ "@typescript-eslint/prefer-optional-chain": "error",
+ "@typescript-eslint/ban-ts-comment": "error",
+ "@typescript-eslint/prefer-includes": "error",
+ "@typescript-eslint/prefer-for-of": "error",
+ "@typescript-eslint/prefer-string-starts-ends-with": "error",
+ "@typescript-eslint/prefer-readonly": "error",
+ "@typescript-eslint/no-non-null-asserted-optional-chain": "error",
+ "@typescript-eslint/await-thenable": "error",
+ "@typescript-eslint/no-unnecessary-boolean-literal-compare": "error",
+ "@typescript-eslint/switch-exhaustiveness-check": "error"
+ }
+ },
+ {
+ "files": ["test/*.ts"],
+ "plugins": ["jest"],
+ "env": {
+ "jest/globals": true
+ },
+ "rules": {
+ "@typescript-eslint/no-explicit-any": "off",
+ "@typescript-eslint/no-var-requires": "off",
+ "@typescript-eslint/ban-ts-comment": "warn",
+ "@typescript-eslint/naming-convention": "off"
+ }
+ },
+ {
+ "files": ["**/*.js"],
+ "env": {
+ "browser": true
+ },
+ "rules": {}
+ }
+ ]
+}
diff --git a/.github/workflows/benchmarkdotnet.yml b/.github/workflows/benchmarkdotnet.yml
new file mode 100644
index 000000000..6971a49c2
--- /dev/null
+++ b/.github/workflows/benchmarkdotnet.yml
@@ -0,0 +1,49 @@
+name: Benchmark.Net Example
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run Benchmark.Net benchmark example
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-dotnet@v3
+ with:
+ dotnet-version: "6.0.101"
+ - name: Run benchmark
+ run: cd examples/benchmarkdotnet && dotnet run --exporters json --filter '*'
+
+ - name: Store benchmark result
+ uses: rhysd/github-action-benchmark@v1
+ with:
+ name: Benchmark.Net Benchmark
+ tool: "benchmarkdotnet"
+ output-file-path: examples/benchmarkdotnet/BenchmarkDotNet.Artifacts/results/Sample.Benchmarks-report-full-compressed.json
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ - name: Store benchmark result - separate results repo
+ uses: rhysd/github-action-benchmark@v1
+ with:
+ name: Benchmark.Net Benchmark
+ tool: "benchmarkdotnet"
+ output-file-path: examples/benchmarkdotnet/BenchmarkDotNet.Artifacts/results/Sample.Benchmarks-report-full-compressed.json
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/benchmarkjs.yml b/.github/workflows/benchmarkjs.yml
new file mode 100644
index 000000000..5e62ca58e
--- /dev/null
+++ b/.github/workflows/benchmarkjs.yml
@@ -0,0 +1,49 @@
+name: Benchmark.js Example
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run JavaScript benchmark example
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - name: Run benchmark
+ run: cd examples/benchmarkjs && npm install && node bench.js | tee output.txt
+
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Benchmark.js Benchmark
+ tool: "benchmarkjs"
+ output-file-path: examples/benchmarkjs/output.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ - name: Store benchmark result - separate results repo
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Benchmark.js Benchmark
+ tool: "benchmarkjs"
+ output-file-path: examples/benchmarkjs/output.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/catch2.yml b/.github/workflows/catch2.yml
new file mode 100644
index 000000000..a35cc2a8c
--- /dev/null
+++ b/.github/workflows/catch2.yml
@@ -0,0 +1,50 @@
+name: Catch2 C++ Example
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run Catch2 C++ Benchmark Framework example (v3.x)
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Build and run benchmarks with Catch2
+ run: |
+ cd examples/catch2
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=Release ..
+ cmake --build . --config Release
+ ./Catch2_bench | tee ../benchmark_result.txt
+
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Catch2 Benchmark (v3)
+ tool: "catch2"
+ output-file-path: examples/catch2/benchmark_result.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ - name: Store benchmark result - separate results repo
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Catch2 Benchmark (v3)
+ tool: "catch2"
+ output-file-path: examples/catch2/benchmark_result.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/catch2_v2.yml b/.github/workflows/catch2_v2.yml
new file mode 100644
index 000000000..b22833067
--- /dev/null
+++ b/.github/workflows/catch2_v2.yml
@@ -0,0 +1,50 @@
+name: Catch2 C++ Example
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run Catch2 C++ Benchmark Framework example (v2.x)
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Build and run benchmarks with Catch2
+ run: |
+ cd examples/catch2_v2
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=Release ..
+ cmake --build . --config Release
+ ./Catch2_bench | tee ../benchmark_result.txt
+
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Catch2 Benchmark
+ tool: "catch2"
+ output-file-path: examples/catch2_v2/benchmark_result.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ - name: Store benchmark result - separate results repo
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Catch2 Benchmark
+ tool: "catch2"
+ output-file-path: examples/catch2_v2/benchmark_result.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/ci-results-repo.yml b/.github/workflows/ci-results-repo.yml
new file mode 100644
index 000000000..a14aa25db
--- /dev/null
+++ b/.github/workflows/ci-results-repo.yml
@@ -0,0 +1,496 @@
+name: CI - results - try to implement it in the same repo
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+
+ benchmarkdotnet-framework:
+ name: Run Benchmark.Net .Net Benchmark Framework example - github.com/arup-group/github-action-benchmark
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-dotnet@v3
+ with:
+ dotnet-version: "6.0.101" # SDK Version to use. keep in line with examples/benchmarkdotnet/global.json
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: cd examples/benchmarkdotnet && dotnet run --exporters json --filter '*'
+
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Benchmark.Net Benchmark
+ tool: "benchmarkdotnet"
+ output-file-path: examples/benchmarkdotnet/BenchmarkDotNet.Artifacts/results/Sample.Benchmarks-report-full-compressed.json
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Benchmark.Net Benchmark' './benchmark-data-repository'
+
+ benchmarkjs:
+ name: Run JavaScript benchmark example - github.com/arup-group/github-action-benchmark
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: cd examples/benchmarkjs && npm install && node bench.js | tee output.txt
+
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Benchmark.js Benchmark
+ tool: "benchmarkjs"
+ output-file-path: examples/benchmarkjs/output.txt
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Benchmark.js Benchmark' './benchmark-data-repository'
+
+ catch2-v2-framework:
+ name: Run Catch2 C++ Benchmark Framework example (v2.x) - github.com/arup-group/github-action-benchmark
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: |
+ cd examples/catch2_v2
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=Release ..
+ cmake --build . --config Release
+ ./Catch2_bench > ../benchmark_result.txt
+
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Catch2 Benchmark
+ tool: "catch2"
+ output-file-path: examples/catch2_v2/benchmark_result.txt
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Catch2 Benchmark' './benchmark-data-repository'
+
+ catch2-v3-framework:
+ name: Run Catch2 C++ Benchmark Framework example (v3.x) - github.com/arup-group/github-action-benchmark
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: |
+ cd examples/catch2
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=Release ..
+ cmake --build . --config Release
+ ./Catch2_bench > ../benchmark_result.txt
+
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Catch2 Benchmark (v3)
+ tool: "catch2"
+ output-file-path: examples/catch2/benchmark_result.txt
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Catch2 Benchmark (v3)' './benchmark-data-repository'
+
+ cpp-framework:
+ name: Run Google C++ Benchmark Framework example - github.com/arup-group/github-action-benchmark
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - name: Cache Benchmark library
+ uses: actions/cache@v4
+ with:
+ path: examples/cpp/benchmark
+ key: ${{ runner.os }}-googlebenchmark-v1.5.0
+ - name: Run benchmark
+ run: |
+ cd examples/cpp
+ make json
+
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: C++ Benchmark
+ tool: "googlecpp"
+ output-file-path: examples/cpp/benchmark_result.json
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'C++ Benchmark' './benchmark-data-repository'
+
+ go:
+ name: Run Go benchmark example - github.com/arup-group/github-action-benchmark
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - uses: actions/setup-go@v4
+ with:
+ go-version: "stable"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: cd examples/go && go test -bench 'BenchmarkFib' | tee output.txt
+
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Go Benchmark
+ tool: "go"
+ output-file-path: examples/go/output.txt
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Go Benchmark' './benchmark-data-repository'
+
+ java-jmh:
+ name: Run JMH Java Benchmark Framework example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - uses: actions/setup-java@v4
+ with:
+ distribution: "adopt"
+ java-version: "11"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: |
+ cd examples/java
+ mvn clean verify
+ java -jar target/benchmarks.jar -wi 1 -i 3 -f 1 -rf json
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: JMH Benchmark
+ tool: "jmh"
+ output-file-path: examples/java/jmh-result.json
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'JMH Benchmark' './benchmark-data-repository'
+
+ julia-benchmark:
+ name: Run Julia benchmark example - github.com/arup-group/github-action-benchmark
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - uses: julia-actions/setup-julia@v1
+ with:
+ version: "1"
+ arch: x64
+ - name: Run benchmark
+ run: |
+ cd examples/julia
+ julia --project --color=yes -e '
+ using Pkg;
+ Pkg.instantiate();
+ include("fib.jl")'
+
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Julia benchmark
+ tool: "julia"
+ output-file-path: examples/julia/output.json
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Julia benchmark' './benchmark-data-repository'
+
+ pytest-benchmark:
+ name: Run Pytest benchmark example - github.com/arup-group/github-action-benchmark
+ permissions:
+ contents: read
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - uses: actions/setup-python@v5
+ with:
+ python-version: 3.9
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: |
+ cd examples/pytest
+ pip install -r requirements.txt
+ pytest bench.py --benchmark-json output.json
+
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Python Benchmark with pytest-benchmark
+ tool: "pytest"
+ output-file-path: examples/pytest/output.json
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Python Benchmark with pytest-benchmark' './benchmark-data-repository'
+
+ rust:
+ name: Run Rust benchmark example - github.com/arup-group/github-action-benchmark
+ permissions:
+ contents: read
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - run: rustup toolchain update nightly && rustup default nightly
+ - name: Run benchmark
+ run: cd examples/rust && cargo +nightly bench | tee output.txt
+
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Rust Benchmark
+ tool: "cargo"
+ output-file-path: examples/rust/output.txt
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Rust Benchmark' './benchmark-data-repository'
+
+ rust-criterion-rs-framework:
+ name: Run Criterion.rs benchmark example - github.com/arup-group/github-action-benchmark
+ permissions:
+ contents: read
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - run: rustup toolchain update nightly && rustup default nightly
+ - name: Run benchmark
+ run: cd examples/criterion-rs && cargo +nightly bench -- --output-format bencher | tee output.txt
+
+ - uses: actions/checkout@v4
+ with:
+ repository: arup-group/github-action-benchmark
+ ref: "gh-pages"
+ path: "dist/other-repo"
+ - name: Save previous data.js
+ run: |
+ cp ./dist/other-repo/dev/bench/data.js before_data.js
+
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Criterion.rs Benchmark
+ tool: "cargo"
+ output-file-path: examples/criterion-rs/output.txt
+ fail-on-alert: true
+ gh-repository: "github.com/arup-group/github-action-benchmark"
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Criterion.rs Benchmark' './benchmark-data-repository'
+
+ only-alert-with-cache:
+ name: Run alert check with actions/cache
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - uses: actions/setup-go@v4
+ with:
+ go-version: "stable"
+ - name: Run benchmark
+ run: cd examples/go && go test -bench 'BenchmarkFib' | tee output.txt
+ - name: Download previous benchmark data
+ uses: actions/cache@v4
+ with:
+ path: ./cache
+ key: ${{ runner.os }}-ci-cache-test
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Alert setup example with cache
+ tool: "go"
+ output-file-path: examples/go/output.txt
+ external-data-json-path: ./cache/benchmark-data.json
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
new file mode 100644
index 000000000..20df83761
--- /dev/null
+++ b/.github/workflows/ci.yml
@@ -0,0 +1,555 @@
+name: CI
+on:
+ push:
+ branches:
+ - master
+ pull_request:
+ branches:
+ - master
+
+jobs:
+ benchmarkdotnet-framework:
+ name: Run Benchmark.Net .Net Benchmark Framework example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - uses: actions/setup-dotnet@v3
+ with:
+ dotnet-version: "6.0.101"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: cd examples/benchmarkdotnet && dotnet run --exporters json --filter '*'
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Benchmark.Net Benchmark
+ tool: "benchmarkdotnet"
+ output-file-path: examples/benchmarkdotnet/BenchmarkDotNet.Artifacts/results/Sample.Benchmarks-report-full-compressed.json
+ skip-fetch-gh-pages: true
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Benchmark.Net Benchmark'
+
+ jmh:
+ name: Run JMH Java Benchmark Framework example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v3
+ - uses: actions/setup-node@v3
+ with:
+ node-version: 16
+ - uses: actions/setup-java@v2
+ with:
+ distribution: "adopt"
+ java-version: "11"
+ - uses: actions/cache@v4
+ with:
+ path: ~/.npm
+ key: ${{ runner.os }}-node-${{ hashFiles('package-lock.json') }}
+ - run: npm ci
+ - run: npm run build
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Run benchmark
+ run: |
+ cd examples/java
+ mvn clean verify
+ java -jar target/benchmarks.jar -wi 1 -i 3 -f 1 -rf json
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: JMH Benchmark
+ tool: "jmh"
+ output-file-path: examples/java/jmh-result.json
+ skip-fetch-gh-pages: true
+ fail-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'JMH Benchmark'
+
+ benchmarkjs:
+ name: Run JavaScript benchmark example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: cd examples/benchmarkjs && npm install && node bench.js | tee output.txt
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Benchmark.js Benchmark
+ tool: "benchmarkjs"
+ output-file-path: examples/benchmarkjs/output.txt
+ skip-fetch-gh-pages: true
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Benchmark.js Benchmark'
+
+ catch2-v2-framework:
+ name: Run Catch2 C++ Benchmark Framework example (v2.x)
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: |
+ cd examples/catch2_v2
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=Release ..
+ cmake --build . --config Release
+ ./Catch2_bench > ../benchmark_result.txt
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Catch2 Benchmark
+ tool: "catch2"
+ output-file-path: examples/catch2_v2/benchmark_result.txt
+ skip-fetch-gh-pages: true
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Catch2 Benchmark'
+
+ catch2-v3-framework:
+ name: Run Catch2 C++ Benchmark Framework example (v3.x)
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: |
+ cd examples/catch2
+ mkdir build && cd build
+ cmake -DCMAKE_BUILD_TYPE=Release ..
+ cmake --build . --config Release
+ ./Catch2_bench > ../benchmark_result.txt
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Catch2 Benchmark (v3)
+ tool: "catch2"
+ output-file-path: examples/catch2/benchmark_result.txt
+ skip-fetch-gh-pages: true
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Catch2 Benchmark (v3)'
+
+ cpp-framework:
+ name: Run Google C++ Benchmark Framework example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - name: Cache Benchmark library
+ uses: actions/cache@v4
+ with:
+ path: examples/cpp/benchmark
+ key: ${{ runner.os }}-googlebenchmark-v1.5.0
+ - name: Run benchmark
+ run: |
+ cd examples/cpp
+ make json
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: C++ Benchmark
+ tool: "googlecpp"
+ output-file-path: examples/cpp/benchmark_result.json
+ skip-fetch-gh-pages: true
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'C++ Benchmark'
+
+ go:
+ name: Run Go benchmark example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - uses: actions/setup-go@v4
+ with:
+ go-version: "stable"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: cd examples/go && go test -bench 'BenchmarkFib' | tee output.txt
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Go Benchmark
+ tool: "go"
+ output-file-path: examples/go/output.txt
+ skip-fetch-gh-pages: true
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Go Benchmark'
+
+ java-jmh:
+ name: Run JMH Java Benchmark Framework example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - uses: actions/setup-java@v4
+ with:
+ distribution: "adopt"
+ java-version: "11"
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: |
+ cd examples/java
+ mvn clean verify
+ java -jar target/benchmarks.jar -wi 1 -i 3 -f 1 -rf json
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: JMH Benchmark
+ tool: "jmh"
+ output-file-path: examples/java/jmh-result.json
+ skip-fetch-gh-pages: true
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'JMH Benchmark'
+
+ julia-benchmark:
+ name: Run Julia benchmark example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - uses: julia-actions/setup-julia@v1
+ with:
+ version: "1"
+ arch: x64
+ - name: Run benchmark
+ run: |
+ cd examples/julia
+ julia --project --color=yes -e '
+ using Pkg;
+ Pkg.instantiate();
+ include("fib.jl")'
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Julia benchmark
+ tool: "julia"
+ output-file-path: examples/julia/output.json
+ skip-fetch-gh-pages: true
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Julia benchmark'
+
+ pytest-benchmark:
+ name: Run Pytest benchmark example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - uses: actions/setup-python@v5
+ with:
+ python-version: 3.9
+ - run: npm ci
+ - run: npm run build
+ - name: Run benchmark
+ run: |
+ cd examples/pytest
+ pip install -r requirements.txt
+ pytest bench.py --benchmark-json output.json
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Python Benchmark with pytest-benchmark
+ tool: "pytest"
+ output-file-path: examples/pytest/output.json
+ skip-fetch-gh-pages: true
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Python Benchmark with pytest-benchmark'
+
+ rust:
+ name: Run Rust benchmark example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - run: rustup toolchain update nightly && rustup default nightly
+ - name: Run benchmark
+ run: cd examples/rust && cargo +nightly bench | tee output.txt
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Rust Benchmark
+ tool: "cargo"
+ output-file-path: examples/rust/output.txt
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Rust Benchmark'
+
+ rust-criterion-rs-framework:
+ name: Run Criterion.rs benchmark example
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - run: rustup toolchain update nightly && rustup default nightly
+ - name: Run benchmark
+ run: cd examples/criterion-rs && cargo +nightly bench -- --output-format bencher | tee output.txt
+ - name: Save previous data.js
+ run: |
+ git fetch origin gh-pages
+ git checkout gh-pages
+ cp ./dev/bench/data.js before_data.js
+ git checkout -
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Criterion.rs Benchmark
+ tool: "cargo"
+ output-file-path: examples/criterion-rs/output.txt
+ fail-on-alert: true
+ summary-always: true
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ comment-on-alert: true
+ - run: node ./dist/scripts/ci_validate_modification.js before_data.js 'Criterion.rs Benchmark'
+
+ only-alert-with-cache:
+ name: Run alert check with actions/cache
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run build
+ - uses: actions/setup-go@v4
+ with:
+ go-version: "stable"
+ - name: Run benchmark
+ run: cd examples/go && go test -bench 'BenchmarkFib' | tee output.txt
+ - name: Download previous benchmark data
+ uses: actions/cache@v4
+ with:
+ path: ./cache
+ key: ${{ runner.os }}-ci-cache-test
+ - name: Store benchmark result
+ uses: ./
+ with:
+ name: Alert setup example with cache
+ tool: "go"
+ output-file-path: examples/go/output.txt
+ external-data-json-path: ./cache/benchmark-data.json
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ unit-tests:
+ name: Run unit tests
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run coverage
+ - name: Apply yamllint
+ run: |
+ sudo pip install yamllint
+ yamllint --strict .github/workflows
+ - uses: codecov/codecov-action@v5
+ env:
+ CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}
+
+ lint:
+ name: Run linting and formatting check
+ permissions:
+ contents: read
+ pull-requests: write
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-node@v4
+ with:
+ node-version: 20
+ cache: "npm"
+ - run: npm ci
+ - run: npm run lint
+ - run: npm run format:check
diff --git a/.github/workflows/commit-comment.yml b/.github/workflows/commit-comment.yml
new file mode 100644
index 000000000..1abc32767
--- /dev/null
+++ b/.github/workflows/commit-comment.yml
@@ -0,0 +1,38 @@
+name: Example for alert with commit comment
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run alert check without using Git branch
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-go@v4
+ with:
+ go-version: "stable"
+ - name: Run benchmark
+ run: cd examples/go && go test -bench 'BenchmarkFib' | tee output.txt
+ - name: Download previous benchmark data
+ uses: actions/cache@v4
+ with:
+ path: ./cache
+ key: ${{ runner.os }}-benchmark
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Alert setup example with cache
+ tool: 'go'
+ output-file-path: examples/go/output.txt
+ external-data-json-path: ./cache/benchmark-data.json
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ alert-threshold: '200%'
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: '@ktrz'
diff --git a/.github/workflows/cpp.yml b/.github/workflows/cpp.yml
new file mode 100644
index 000000000..9fc060b84
--- /dev/null
+++ b/.github/workflows/cpp.yml
@@ -0,0 +1,51 @@
+name: C++ Example
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run Google C++ Benchmark Framework example
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - name: Cache Benchmark library
+ uses: actions/cache@v4
+ with:
+ path: examples/cpp/benchmark
+ key: ${{ runner.os }}-googlebenchmark-v1.5.0
+ - name: Run benchmark
+ run: cd examples/cpp && make json
+
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: C++ Benchmark
+ tool: "googlecpp"
+ output-file-path: examples/cpp/benchmark_result.json
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ - name: Store benchmark result - separate results repo
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: C++ Benchmark
+ tool: "googlecpp"
+ output-file-path: examples/cpp/benchmark_result.json
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/go.yml b/.github/workflows/go.yml
new file mode 100644
index 000000000..5fc05a34b
--- /dev/null
+++ b/.github/workflows/go.yml
@@ -0,0 +1,49 @@
+name: Go Example
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run Go benchmark example
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-go@v4
+ with:
+ go-version: "stable"
+ - name: Run benchmark
+ run: cd examples/go && go test -bench 'BenchmarkFib' | tee output.txt
+
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Go Benchmark
+ tool: "go"
+ output-file-path: examples/go/output.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ - name: Store benchmark result - separate results repo
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Go Benchmark
+ tool: "go"
+ output-file-path: examples/go/output.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/java.yml b/.github/workflows/java.yml
new file mode 100644
index 000000000..14298822c
--- /dev/null
+++ b/.github/workflows/java.yml
@@ -0,0 +1,55 @@
+name: JMH Example
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run JMH benchmark example
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-java@v4
+ with:
+ distribution: "adopt"
+ java-version: "11"
+ - name: Run benchmark
+ run: |
+ cd examples/java
+ mvn clean verify
+ java -jar target/benchmarks.jar -wi 1 -i 3 -f 1 -rf json
+
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: JMH Benchmark
+ tool: "jmh"
+ output-file-path: examples/java/jmh-result.json
+ # Use personal access token instead of GITHUB_TOKEN due to https://github.community/t/github-action-not-triggering-gh-pages-upon-push/16096
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@michaelmior"
+ - name: Store benchmark result - separate results repo
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: JMH Benchmark
+ tool: "jmh"
+ output-file-path: examples/java/jmh-result.json
+ # Use personal access token instead of GITHUB_TOKEN due to https://github.community/t/github-action-not-triggering-gh-pages-upon-push/16096
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@michaelmior"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/julia.yml b/.github/workflows/julia.yml
new file mode 100644
index 000000000..66e9e66f5
--- /dev/null
+++ b/.github/workflows/julia.yml
@@ -0,0 +1,77 @@
+name: Julia Example with BenchmarkTools.jl
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run julia benchmark example
+ runs-on: ${{ matrix.os }}
+ strategy:
+ fail-fast: false
+ matrix:
+ version:
+ - "1"
+ os:
+ - ubuntu-latest
+ arch:
+ - x64
+ steps:
+ - uses: actions/checkout@v4
+ - uses: julia-actions/setup-julia@v1
+ with:
+ version: ${{ matrix.version }}
+ arch: ${{ matrix.arch }}
+ - uses: actions/cache@v4
+ env:
+ cache-name: cache-artifacts
+ with:
+ path: ~/.julia/artifacts
+ key: runner.os−test−env.cache−name−{{ hashFiles('**/Project.toml') }}
+ restore-keys: |
+ runner.os−test−
+ ${{ env.cache-name }}-
+ ${{ runner.os }}-test-
+ ${{ runner.os }}-
+ - name: Run benchmark
+ run: |
+ cd examples/julia
+ julia --project --color=yes -e '
+ using Pkg;
+ Pkg.instantiate();
+ include("fib.jl")'
+
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Julia benchmark result
+ tool: "julia"
+ output-file-path: examples/julia/output.json
+ # Use personal access token instead of GITHUB_TOKEN due to https://github.community/t/github-action-not-triggering-gh-pages-upon-push/16096
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz,@findmyway"
+ - name: Store benchmark result - separate results repo
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Julia benchmark result
+ tool: "julia"
+ output-file-path: examples/julia/output.json
+ # Use personal access token instead of GITHUB_TOKEN due to https://github.community/t/github-action-not-triggering-gh-pages-upon-push/16096
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz,@findmyway"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/minimal.yml b/.github/workflows/minimal.yml
new file mode 100644
index 000000000..aff86c83f
--- /dev/null
+++ b/.github/workflows/minimal.yml
@@ -0,0 +1,33 @@
+name: Example for minimal setup
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run minimal steps to run github-action-benchmark
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-go@v4
+ with:
+ go-version: "stable"
+ - name: Run benchmark
+ run: cd examples/go && go test -bench 'BenchmarkFib' | tee output.txt
+ - name: Download previous benchmark data
+ uses: actions/cache@v4
+ with:
+ path: ./cache
+ key: ${{ runner.os }}-benchmark
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ tool: "go"
+ output-file-path: examples/go/output.txt
+ external-data-json-path: ./cache/benchmark-data.json
+ fail-on-alert: true
diff --git a/.github/workflows/pytest.yml b/.github/workflows/pytest.yml
new file mode 100644
index 000000000..72aa73722
--- /dev/null
+++ b/.github/workflows/pytest.yml
@@ -0,0 +1,54 @@
+name: Python Example with pytest
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run pytest-benchmark benchmark example
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-python@v5
+ with:
+ python-version: 3.9
+ - name: Run benchmark
+ run: |
+ cd examples/pytest
+ pip install -r requirements.txt
+ pytest bench.py --benchmark-json output.json
+
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Python Benchmark with pytest-benchmark
+ tool: "pytest"
+ output-file-path: examples/pytest/output.json
+ # Use personal access token instead of GITHUB_TOKEN due to https://github.community/t/github-action-not-triggering-gh-pages-upon-push/16096
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ - name: Store benchmark result - separate results repo
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Python Benchmark with pytest-benchmark
+ tool: "pytest"
+ output-file-path: examples/pytest/output.json
+ # Use personal access token instead of GITHUB_TOKEN due to https://github.community/t/github-action-not-triggering-gh-pages-upon-push/16096
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/rust-criterion-rs.yml b/.github/workflows/rust-criterion-rs.yml
new file mode 100644
index 000000000..46e8d3c6e
--- /dev/null
+++ b/.github/workflows/rust-criterion-rs.yml
@@ -0,0 +1,47 @@
+name: Criterion.rs Example
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run Criterion.rs benchmark example
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - run: rustup toolchain update nightly && rustup default nightly
+ - name: Run benchmark
+ run: cd examples/criterion-rs && cargo +nightly bench -- --output-format bencher | tee output.txt
+
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Criterion.rs Benchmark
+ tool: "cargo"
+ output-file-path: examples/criterion-rs/output.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ - name: Store benchmark result - separate results repo
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Criterion.rs Benchmark
+ tool: "cargo"
+ output-file-path: examples/criterion-rs/output.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml
new file mode 100644
index 000000000..7fec6391a
--- /dev/null
+++ b/.github/workflows/rust.yml
@@ -0,0 +1,48 @@
+name: Rust Example
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ contents: write
+ deployments: write
+
+jobs:
+ benchmark:
+ name: Run Rust benchmark example
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - run: rustup toolchain update nightly && rustup default nightly
+ - name: Run benchmark
+ run: cd examples/rust && cargo +nightly bench --bench bench > output.txt 2>&1
+
+ - name: Store benchmark result
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Rust Benchmark
+ tool: "cargo"
+ output-file-path: examples/rust/output.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ - name: Store benchmark result - separate results repo
+ uses: arup-group/github-action-benchmark@v1
+ with:
+ name: Rust Benchmark
+ tool: "cargo"
+ output-file-path: examples/rust/output.txt
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ auto-push: true
+ # Show alert with commit comment on detecting possible performance regression
+ alert-threshold: "200%"
+ summary-always: true
+ comment-on-alert: true
+ fail-on-alert: true
+ alert-comment-cc-users: "@ktrz"
+ gh-repository: "github.com/arup-group/github-action-benchmark"
diff --git a/.github/workflows/validate-action-typings.yml b/.github/workflows/validate-action-typings.yml
new file mode 100644
index 000000000..b4ecd9773
--- /dev/null
+++ b/.github/workflows/validate-action-typings.yml
@@ -0,0 +1,17 @@
+name: Validate action typings
+
+on:
+ push:
+ branches: [master]
+ pull_request:
+ branches: [master]
+ workflow_dispatch:
+
+jobs:
+ validate-typings:
+ permissions:
+ contents: read
+ runs-on: "ubuntu-latest"
+ steps:
+ - uses: actions/checkout@v4
+ - uses: typesafegithub/github-actions-typing@v1
diff --git a/.gitignore b/.gitignore
index 0b4a26758..1edcf1d9e 100644
--- a/.gitignore
+++ b/.gitignore
@@ -6,3 +6,18 @@
/.nyc_output
/coverage
.idea
+/node_modules
+/examples/rust/Cargo.lock
+/examples/rust/target
+/examples/criterion-rs/Cargo.lock
+/examples/criterion-rs/target
+/examples/benchmarkdotnet/bin
+/examples/benchmarkdotnet/obj
+/examples/benchmarkdotnet/BenchmarkDotNet.Artifacts
+/.nyc_output
+/coverage
+/dist
+/.idea
+target/
+jmh-result.json
+.env
diff --git a/.nvmrc b/.nvmrc
new file mode 100644
index 000000000..2edeafb09
--- /dev/null
+++ b/.nvmrc
@@ -0,0 +1 @@
+20
\ No newline at end of file
diff --git a/.prettierignore b/.prettierignore
new file mode 100644
index 000000000..bed904a16
--- /dev/null
+++ b/.prettierignore
@@ -0,0 +1,5 @@
+test/data
+coverage
+dist
+**/*.md
+**/*.txt
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 000000000..6d0972212
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,15 @@
+{
+ "tabWidth": 4,
+ "semi": true,
+ "singleQuote": true,
+ "trailingComma": "all",
+ "printWidth": 120,
+ "overrides": [
+ {
+ "files": ["**/*.{yml,json}"],
+ "options": {
+ "tabWidth": 2
+ }
+ }
+ ]
+}
diff --git a/.yamllint.yml b/.yamllint.yml
new file mode 100644
index 000000000..33b82f99a
--- /dev/null
+++ b/.yamllint.yml
@@ -0,0 +1,6 @@
+extends: default
+
+rules:
+ line-length: disable
+ document-start: disable
+ truthy: disable
diff --git a/CHANGELOG.md b/CHANGELOG.md
new file mode 100644
index 000000000..be4dcef39
--- /dev/null
+++ b/CHANGELOG.md
@@ -0,0 +1,441 @@
+## Unreleased
+
+
+# [v1.20.7](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.20.7) - 06 Sep 2025
+- **fix** improve parsing for custom benchmarks (#323)
+
+
+# [v1.20.5](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.20.5) - 02 Sep 2025
+- **feat** allow to parse generic cargo bench/criterion units (#280)
+- **fix** add summary even when failure threshold is surpassed (#285)
+- **fix** time units are not normalized (#318)
+
+
+# [v1.20.4](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.20.4) - 23 Oct 2024
+- **feat** add typings and validation workflow (#257)
+
+
+# [v1.20.3](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.20.3) - 19 May 2024
+- **fix** Catch2 v.3.5.0 changed output format (#247)
+
+
+# [v1.20.2](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.20.2) - 19 May 2024
+- **fix** Support sub-nanosecond precision on Cargo benchmarks (#246)
+
+
+# [v1.20.1](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.20.1) - 02 Apr 2024
+- **fix** release script
+
+
+# [v1.20.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.20.0) - 02 Apr 2024
+- **fix** Rust benchmarks not comparing to baseline (#235)
+- **feat** Comment on PR and auto update comment (#223)
+
+
+# [v1.19.3](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.19.3) - 02 Feb 2024
+- **fix** ratio is NaN when previous value is 0. Now, print 1 when both values are 0 and `+-∞` when divisor is 0 (#222)
+- **fix** action hangs in some cases for go fiber benchmarks (#225)
+
+
+# [v1.19.2](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.19.2) - 26 Jan 2024
+- **fix** markdown rendering for summary is broken (#218)
+
+
+
+# [v1.19.1](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.19.1) - 25 Jan 2024
+- **fix** improve flaky CI runs (#215)
+- **fix** write with retry fails with the separate repository (#216)
+
+
+# [v1.19.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.19.0) - 25 Jan 2024
+
+- **docs** Add description for skip-fetch-gh-pages (#180)
+- **fix** Mismatch input in action.yml (#191)
+- **fix** Update Manifest.toml to fix julia test failure (#210)
+- **chore** update to node 20 (#208)
+- **chore** update actions/* (#212)
+- **fix** summary-always and gh-repository don't work together (#214)
+
+
+# [v1.18.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.18.0) - 07 Jul 2023
+
+- **feat** getServerUrl refers to the GITHUB_SERVER_URL environment variable (#169)
+- **feat** extract multiple metrics from Golang benchmarks (#177)
+- **fix** getCommitFromGitHubAPIRequest to refer to GITHUB_API_URL (#171)
+- **chore** Remove unreachable code from extract.ts (#153)
+
+
+# [v1.17.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.17.0) - 26 Apr 2023
+
+- **feat** support for JMH parameters (as separate charts) (#161)
+- **feat** enable user to specify the ref being tested (#163)
+- **feat** allow more characters in Golang bench outputs (#131)
+
+
+# [v1.16.2](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.16.2) - 08 Feb 2023
+
+- **Fix** use commit.id over commit object (#155)
+
+
+# [v1.16.1](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.16.1) - 06 Feb 2023
+
+- **Fix** action.yml missing `summary-always` input
+
+
+# [v1.16.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.16.0) - 05 Feb 2023
+
+- **Feat** Support pr summary for benchmark output (#138)
+
+
+# [v1.15.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.15.0) - 03 Nov 2022
+
+- **Feat** Add support for Java via JMH (#134)
+- **Chore** Update @actions/core, @actions/exec and @actions/io to the latest version (#137)
+
+
+# [v1.14.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.14.0) - 28 May 2022
+
+- **Feat** Added benchmark luau support (#123)
+- **Chore** Bump minimist from 1.2.5 to 1.2.6 (#114)
+- **Feat** Implement deploy to another repository (#112)
+
+
+# [v1.13.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.13.0) - 17 Feb 2022
+
+- **Feat:** Updated urls to support GHES (#104)
+- **Feat:** Add support for BenchmarkDotNet (#109)
+- **Chore** Bump node-fetch from 2.6.6 to 2.6.7 (#107)
+
+
+# [v1.12.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.12.0) - 28 Jan 2022
+
+- **Feat:** Support private repositories (#105)
+- **Chore** Bump action runner to node v16 (#106)
+
+
+# [v1.11.3](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.11.3) - 31 Dec 2021
+
+- **Fix:** Fix trailing whitespace characters in cargo benchmarks (#97)
+
+
+# [v1.11.2](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.11.2) - 28 Dec 2021
+
+- **Fix:** Added option to use Rust benchmark names with spaces (#94)
+
+
+# [v1.11.1](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.11.1) - 04 Dec 2021
+
+- **Fix:** Fix/go tabled benchmarks (#32)
+- **New:** Support BenchmarkTools.jl in Julia (#89)
+- **Improve:** Update several dependencies including TypeScript v4.5.2
+- **Improve:** Use [Jest](https://jestjs.io/) for unit testing
+
+
+# [v1.10.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.10.0) - 28 Oct 2021
+
+- **New:** Allow user defined custom benchmarks (#81)
+
+
+# [v1.9.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.9.0) - 12 Oct 2021
+
+- **Fix:** manual and scheduled runs (#74)
+
+
+# [v1.8.1](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.8.1) - 10 Jun 2020
+
+- **Fix:** Allow `/` in `cargo bench` benchmark name (#26)
+- **New:** Add an example with [Criterion.rs](https://github.com/bheisler/criterion.rs) for Rust projects
+
+[Changes][v1.8.1]
+
+
+
+# [v1.8.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.8.0) - 17 Mar 2020
+
+- **New:** Added `comment-always` option to leave a comment of benchmarking results at the commit always. [Thanks @pksunkara](https://github.com/benchmark-action/github-action-benchmark/pull/17)
+- **New:** Added `save-data-file` option to skip saving data file. Setting `false` to this value is useful when you don't want to update Git repository. [Thanks @pksunkara](https://github.com/benchmark-action/github-action-benchmark/pull/17)
+- **Improve:** `+/-` is now replaced with `±`
+- **Improve:** Better formatting for floating point numbers
+
+[Changes][v1.8.0]
+
+
+
+# [v1.7.1](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.7.1) - 23 Feb 2020
+
+- **Fix:** Benchmark output parser could not parse `\r\n` as newline correctly (#16)
+- **Improve:** Prefer `@actions/github.GitHub` wrapper to `@octokit/rest.Octokit`
+
+[Changes][v1.7.1]
+
+
+
+# [v1.7.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.7.0) - 21 Jan 2020
+
+- **New:** Add [Catch2](https://github.com/catchorg/Catch2) support. Please read [the example](https://github.com/benchmark-action/github-action-benchmark/tree/master/examples/catch2) for more details. [Thanks @bernedom](https://github.com/benchmark-action/github-action-benchmark/pull/6)
+- **Fix:** Deploying to GitHub Pages did not work when checking out the repository with `actions/checkout@v2`
+- **Improve:** Update several dependencies including `@actions/*` packages
+
+[Changes][v1.7.0]
+
+
+
+# [v1.6.7](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.6.7) - 01 Jan 2020
+
+- **Fix:** Extracting the benchmark result value from `go test -bench` did not assume float numbers (Fixed [#5](https://github.com/benchmark-action/github-action-benchmark/issues/5))
+- **Fix:** Running this action on `pull_request` event caused an error since `head_commit` payload is not set at the event. In the case, now this action tries to extract the commit information from `pull_request` payload
+
+[Changes][v1.6.7]
+
+
+
+# [v1.6.6](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.6.6) - 23 Dec 2019
+
+- **Fix:** Parse floating numbers in the benchmark results from Benchmark.js. ([Thanks @Bnaya](https://github.com/benchmark-action/github-action-benchmark/pull/3))
+
+[Changes][v1.6.6]
+
+
+
+# [v1.6.5](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.6.5) - 19 Dec 2019
+
+- **Fix:** Titles are set to empty in auto-generated default `index.html`. To apply this fix, please remove current `index.html` in your GitHub Pages branch and run this action again
+- **Fix:** Skip fetching GitHub Pages branch before switching to the branch when `skip-fetch-gh-pages` is set to true
+- **Improve:** Explicitly note no action output from this action in README.md
+
+[Changes][v1.6.5]
+
+
+
+# [v1.6.4](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.6.4) - 16 Dec 2019
+
+- **Fix:** Supported [actions/checkout@v2](https://github.com/actions/checkout/releases/tag/v2.0.0)
+- **Improve:** Refactored `index.html` automatically generated when it does not exist
+- **Improve:** Update dependencies (`actions/github` v2)
+
+[Changes][v1.6.4]
+
+
+
+# [v1.6.3](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.6.3) - 08 Dec 2019
+
+- **Improve:** Tweak number of retries for more robust automatic `git push`
+
+[Changes][v1.6.3]
+
+
+
+# [v1.6.2](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.6.2) - 07 Dec 2019
+
+- **Fix:** Retry logic for `git push` did not work properly since stderr output was not included in error message
+
+[Changes][v1.6.2]
+
+
+
+# [v1.6.1](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.6.1) - 07 Dec 2019
+
+- **Fix:** Time unit of mean time in `pytest` benchmark results were always `sec`. Now time units are converted to `msec`, `usec` and `nsec` if necessary
+- **Fix:** Detecting rejection by remote on `git push` was not sufficient
+- **Improve:** Add a small link at right bottom of dashboard page to show this action provided the page
+- **Improve:** Showed at least 1 significant digit for threshold float values like `2.0`
+- **Improve:** Updated dependencies
+
+
+[Changes][v1.6.1]
+
+
+
+# [v1.6.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.6.0) - 04 Dec 2019
+
+- **New:** `fail-threshold` input was added. Format is the same as `alert-threshold`, but you can give different thresholds to sending a commit comment and making the workflow fail by giving different value to `fail-threshold` from `alert-threshold`. This value is optional. If omitted, `fail-threshold` value is the same as `alert-threshold`
+- **Improve:** Retry logic was improved on `git push` failed due to remote branch updates after `git pull`. Now this action retries entire process to update `gh-pages` branch when the remote rejected automatic `git push`. Previously this action tried to rebase the local onto the remote but it sometimes failed due to conflicts
+
+[Changes][v1.6.0]
+
+
+
+# [v1.5.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.5.0) - 30 Nov 2019
+
+- **New:** Added `max-items-in-chart` input was added to limit the number of data points in a graph chart.
+- **New:** Supported [Google C++ Benchmark Framework](https://github.com/google/benchmark) for C++ projects. Please check [the example project](https://github.com/benchmark-action/github-action-benchmark/tree/master/examples/cpp) and [the example workflow](https://github.com/benchmark-action/github-action-benchmark/blob/master/.github/workflows/cpp.yml) to know the setup
+- **Fix:** Fix the order of graphs in the default `index.html`. To apply this fix, please remove `index.html` in your GitHub Pages branch and run your benchmark workflow again
+- **Improve:** Use the actions marketplace URL for the link to this action in commit comment
+- **Improve:** Updated dependencies
+- **Dev:** Added Many tests for checking the updates on a new benchmark result
+- **Dev:** Changed directory structure. Sources are now put in `src/` directory
+
+[Changes][v1.5.0]
+
+
+
+# [v1.4.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.4.0) - 23 Nov 2019
+
+- **New:** `external-data-json-path` input was added to support to put benchmark data externally rather than Git branch
+ - By using this input and [actions/cache](https://github.com/actions/cache), you no longer need to use Git branch for this action if you only want performance alerts. Benchmark data is stored as workflow cache.
+ - By this input, minimal setup for this action is much easier. Please read ['How to use' section](https://github.com/benchmark-action/github-action-benchmark#minimal-setup) in README.md.
+
+[Changes][v1.4.0]
+
+
+
+# [v1.3.2](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.3.2) - 23 Nov 2019
+
+- **Improve:** Styles in alert commit comment were improved
+- **Fix:** When benchmark name (with `name` input) contained spaces, URL for the workflow which detected performance regression was broken
+
+[Changes][v1.3.2]
+
+
+
+# [v1.3.1](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.3.1) - 21 Nov 2019
+
+- **Fix:** `git push` sometimes failed in the situation where `prepush` hook is set and runs unexpectedly. Now `git push` is run with `--no-verify` for pushing auto generated commit to remote.
+
+[Changes][v1.3.1]
+
+
+
+# [v1.3.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.3.0) - 21 Nov 2019
+
+- **New:** Alert feature was added :tada:
+ - With this feature enabled, you can get alert commit comment or make workflow fail when possible performance regression is detected [like this](https://github.com/rhysd/github-action-benchmark/commit/077dde1c236baba9244caad4d9e82ea8399dae20#commitcomment-36047186)
+ - `comment-on-alert` input was added to enable commit comment on alert. `github-token` input is necessary as well to use GitHub API. Unlike deploying GitHub Pages, `secrets.GITHUB_TOKEN` is sufficient for this purpose (if you don't use GitHub Pages). The input is set to `false` by default.
+ - `fail-on-alert` input was added to mark running workflow fail on alert. The input is set to `false` by default.
+ - `alert-threshold` input was added to specify the threshold to check alerts. When current result gets worse than previous exceeding the threshold. Value is ratio such as `"200%"`. For example, when benchmark gets result 230 ns/iter and previous one was 100ns/iter, it means 230% worse and an alert will happen.
+ - Please read [documentation](https://github.com/benchmark-action/github-action-benchmark#use-this-action-with-alert-commit-comment) for setup
+- **New:** `alert-comment-cc-users` input was added to specify users mentioned in an alert commit comment so that they can easily notice it via GitHub notification
+- **New:** `skip-fetch-gh-pages` input was added to skip `git pull` which is automatically executed on public repo or when you set `github-token` on private repo.
+- **Improve:** E2E checks on CI were added
+- **Improve:** Updated dependencies
+
+[Changes][v1.3.0]
+
+
+
+# [v1.2.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.2.0) - 17 Nov 2019
+
+- **New:** Support [pytest-benchmark](https://pypi.org/project/pytest-benchmark/) for Python projects which use pytest
+ - Benchmark value is how long one iteration takes (seconds/iter)
+- **Improve:** Show more extra data in tooltip which are specific to tools
+ - Go
+ - Iterations
+ - Number of CPUs used
+ - Benchmark.js
+ - Number of samples
+ - pytest-benchmark
+ - Mean time
+ - Number of rounds
+
+For reflecting the extra data improvement, please refresh your `index.html`. Remove current `index.html` in GitHub Pages branch and push the change to remote, then re-run your benchmark workflow.
+
+[Changes][v1.2.0]
+
+
+
+# [v1.1.4](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.1.4) - 16 Nov 2019
+
+- **Improve:** Title styles in default `index.html` which is generated when no `index.html` is in your GitHub Pages branch. If you want to update your `index.html` to the latest, please remove it and push to remote at first then re-run your workflow which will invoke github-action-benchmark
+- **Improve:** More metadata in `action.yml`. Now icon and its color are set.
+
+[Changes][v1.1.4]
+
+
+
+# [v1.1.3](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.1.3) - 16 Nov 2019
+
+- **Fix:** Retry failed when no Git user config is provided. Ensure to give bot user info to each `git` command invocations
+
+[Changes][v1.1.3]
+
+
+
+# [v1.1.2](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.1.2) - 16 Nov 2019
+
+- **Improve:** Added retry for `git push`. When remote GitHub Pages branch is updated after the current workflow had fetched the branch, `git push` will fail because the remote branch is not up-to-date. In the case this action will try to rebase onto the latest remote by `git pull --rebase` and `git push` again. This is useful when your multiple workflows may be trying to push GitHub Pages branch at the same timing. `auto-push` input must be set to `true` for this.
+- **Fix:** Description for `auto-push` was missing in `action.yml`
+
+[Changes][v1.1.2]
+
+
+
+# [v1.1.1](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.1.1) - 14 Nov 2019
+
+- **Improve:** More strict check for `auto-push` input. Now the value must be one of `true`, `false` (default value is `false`)
+
+[Changes][v1.1.1]
+
+
+
+# [v1.1.0](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.1.0) - 14 Nov 2019
+
+- **New:** Added `auto-push` input
+ - If this value is set to `true`, this action pushes GitHub Pages branch to remote automatically. You no longer need to push the branch by yourself.
+ - Below `github-token` input must be set for this
+ - This input is optional. You can still push the branch by yourself if you want
+ - Please read [documentation](https://github.com/benchmark-action/github-action-benchmark#how-to-use) for more details
+- **New:** Added `github-token` input
+ - For doing some operations which requires GitHub API token, this input is necessary
+ - pull from remote branch when your repository is private
+ - push to remote branch
+ - deploy and trigger GitHub Pages build
+ - This input is optional. When you do none of above operations, this input is not necessary
+- `README.md` was updated to avoid [the issue on public repository](https://github.community/t/github-action-not-triggering-gh-pages-upon-push/16096) (#1)
+
+e.g.
+
+```yaml
+- name: Store benchmark result
+ uses: rhysd/github-action-benchmark@v1
+ with:
+ name: My Project Go Benchmark
+ tool: 'go'
+ output-file-path: output.txt
+ github-token: ${{ secrets.PERSONAL_GITHUB_TOKEN }}
+ auto-push: true
+```
+
+Note that you need to make a personal access token for deploying GitHub Pages from GitHub Action workflow. Please read `RADME.md` for more details.
+
+[Changes][v1.1.0]
+
+
+
+# [v1.0.2](https://github.com/benchmark-action/github-action-benchmark/releases/tag/v1.0.2) - 10 Nov 2019
+
+First release :tada:
+
+Please read documentation for getting started:
+
+https://github.com/benchmark-action/github-action-benchmark#readme
+
+[Changes][v1.0.2]
+
+
+[v1.9.0]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.8.1...v1.9.0
+[v1.8.1]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.8.0...v1.8.1
+[v1.8.0]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.7.1...v1.8.0
+[v1.7.1]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.7.0...v1.7.1
+[v1.7.0]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.6.7...v1.7.0
+[v1.6.7]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.6.6...v1.6.7
+[v1.6.6]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.6.5...v1.6.6
+[v1.6.5]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.6.4...v1.6.5
+[v1.6.4]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.6.3...v1.6.4
+[v1.6.3]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.6.2...v1.6.3
+[v1.6.2]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.6.1...v1.6.2
+[v1.6.1]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.6.0...v1.6.1
+[v1.6.0]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.5.0...v1.6.0
+[v1.5.0]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.4.0...v1.5.0
+[v1.4.0]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.3.2...v1.4.0
+[v1.3.2]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.3.1...v1.3.2
+[v1.3.1]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.3.0...v1.3.1
+[v1.3.0]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.2.0...v1.3.0
+[v1.2.0]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.1.4...v1.2.0
+[v1.1.4]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.1.3...v1.1.4
+[v1.1.3]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.1.2...v1.1.3
+[v1.1.2]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.1.1...v1.1.2
+[v1.1.1]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.1.0...v1.1.1
+[v1.1.0]: https://github.com/benchmark-action/github-action-benchmark/compare/v1.0.2...v1.1.0
+[v1.0.2]: https://github.com/benchmark-action/github-action-benchmark/tree/v1.0.2
+
+
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 000000000..92f826025
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,51 @@
+Contributing to github-action-benchmark
+=======================================
+
+## How to add new benchmark tool support
+
+Thank you for being interested in adding a support for new benchmarking tool.
+
+At first, please determine how to get benchmark output from the new benchmarking tool.
+Some tools support multiple formats for outputting the results. In the case please choose
+machine-friendly one. For example, if a tool supports both human-readable console output
+and machine-friendly JSON output, please choose the latter.
+
+Adding support for new benchmarking tools is welcome!
+
+1. Add your tool name in `src/config.ts`
+2. Implement the logic to extract benchmark results from output in `src/extract.ts`
+3. Add tests for your tool under `test/*.ts`
+4. Add your tool's color in `default_index_html.ts`
+5. Add example project under `examples/` directory
+6. Add workflow to run the example project under `.github/workflows/` directory
+7. Update `.github/workflows/ci.yml` to check your tool works without an error (see below for needed changes)
+8. Add README.md in the example project directory and update README.md at root directory
+
+Important part is 2 and 3.
+
+For example, here are commits to add support for `go test -bench`:
+
+- https://github.com/benchmark-action/github-action-benchmark/commit/6425d898fdfe2ab1540f1af3adb3f37a0ae623f3
+- https://github.com/benchmark-action/github-action-benchmark/commit/272a6808eff6b652247813089ab9aef4b8a2bd50
+- https://github.com/benchmark-action/github-action-benchmark/commit/3a25daca11153c62be23142120fc6c93b4bd411d
+
+And for another example, here are commits to add support for `pytest-benchmark`:
+
+- Implement and add example: https://github.com/benchmark-action/github-action-benchmark/commit/18c82f288b20de1538f8d7a1669221b545968f54
+- Add test: https://github.com/benchmark-action/github-action-benchmark/commit/eb449170566ff5882e75eeaeb637f17a302fbf7e
+- Add workflows for test and example: https://github.com/benchmark-action/github-action-benchmark/commit/1e4ebf2e9ecde9e7620661c60455b22837a2bdaf
+- Add documentation: https://github.com/benchmark-action/github-action-benchmark/commit/895f92f564521597492bd281cbf6c8efd39f628e
+
+Optional: If you add a new example workflow under `.github/workflows/`, you might want to add your
+user name to `alert-comment-cc-users` input like `alert-comment-cc-users: '@rhysd,@you'`.
+
+If something is unclear for you, please ask me questions by creating a new issue.
+
+
+
+## How to create a new release
+
+1. Run `$ bash scripts/prepare-release.sh v1`
+2. Check changes with `git diff --cached`
+3. If ok, create a new commit and tag it with `v1.x.y`
+4. Push the tag and commit to `v1` remote repository and make a new release on GitHub
diff --git a/LICENSE.txt b/LICENSE.txt
new file mode 100644
index 000000000..188a3222d
--- /dev/null
+++ b/LICENSE.txt
@@ -0,0 +1,21 @@
+the MIT License
+
+Copyright (c) 2019 rhysd
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
+of the Software, and to permit persons to whom the Software is furnished to do so,
+subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
+TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR
+THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
diff --git a/README.md b/README.md
new file mode 100644
index 000000000..0f5f64e57
--- /dev/null
+++ b/README.md
@@ -0,0 +1,680 @@
+*This fork makes the catch2 benchmarks always report in ms (to avoid issues with charts and false alerts)*
+
+*See branch `consistent-duration-units-catch2`*
+
+GitHub Action for Continuous Benchmarking
+=========================================
+[![Action Marketplace][release-badge]][marketplace]
+[![Build Status][build-badge]][ci]
+[![codecov][codecov-badge]][codecov]
+
+[This repository][proj] provides a [GitHub Action][github-action] for continuous benchmarking.
+If your project has some benchmark suites, this action collects data from the benchmark outputs
+and monitor the results on GitHub Actions workflow.
+
+- This action can store collected benchmark results in [GitHub pages][gh-pages] branch and provide
+ a chart view. Benchmark results are visualized on the GitHub pages of your project.
+- This action can detect possible performance regressions by comparing benchmark results. When
+ benchmark results get worse than previous exceeding the specified threshold, it can raise an alert
+ via commit comment or workflow failure.
+
+This action currently supports the following tools:
+
+- [`cargo bench`][cargo-bench] for Rust projects
+- `go test -bench` for Go projects
+- [benchmark.js][benchmarkjs] for JavaScript/TypeScript projects
+- [pytest-benchmark][] for Python projects with [pytest][]
+- [Google Benchmark Framework][google-benchmark] for C++ projects
+- [Catch2][catch2] for C++ projects
+- [BenchmarkTools.jl][] for Julia packages
+- [Benchmark.Net][benchmarkdotnet] for .Net projects
+- [benchmarkluau](https://github.com/Roblox/luau/tree/master/bench) for Luau projects
+- [JMH][jmh] for Java projects
+- Custom benchmarks where either 'biggerIsBetter' or 'smallerIsBetter'
+
+Multiple languages in the same repository are supported for polyglot projects.
+
+[Japanese Blog post](https://rhysd.hatenablog.com/entry/2019/11/11/131505)
+
+
+
+## Examples
+
+Example projects for each language are in [examples/](./examples) directory. Live example workflow
+definitions are in [.github/workflows/](./.github/workflows) directory. Live workflows are:
+
+| Language | Workflow | Example Project |
+|--------------|-----------------------------------------------------------------------------------------|------------------------------------------------|
+| Rust | [![Rust Example Workflow][rust-badge]][rust-workflow-example] | [examples/rust](./examples/rust) |
+| Go | [![Go Example Workflow][go-badge]][go-workflow-example] | [examples/go](./examples/go) |
+| JavaScript | [![JavaScript Example Workflow][benchmarkjs-badge]][benchmarkjs-workflow-example] | [examples/benchmarkjs](./examples/benchmarkjs) |
+| Python | [![pytest-benchmark Example Workflow][pytest-benchmark-badge]][pytest-workflow-example] | [examples/pytest](./examples/pytest) |
+| C++ | [![C++ Example Workflow][cpp-badge]][cpp-workflow-example] | [examples/cpp](./examples/cpp) |
+| C++ (Catch2) | [![C++ Catch2 Example Workflow][catch2-badge]][catch2-workflow-example] | [examples/catch2](./examples/catch2) |
+| Julia | [![Julia Example][julia-badge]][julia-workflow-example] | [examples/julia](./examples/julia) |
+| .Net | [![C# Benchmark.Net Example Workflow][benchmarkdotnet-badge]][benchmarkdotnet-workflow-example] | [examples/benchmarkdotnet](./examples/benchmarkdotnet) |
+| Java | [![Java Example Workflow][java-badge]][java-workflow-example] | [examples/java](./examples/java) |
+| Luau | Coming soon | Coming soon |
+
+All benchmark charts from above workflows are gathered in GitHub pages:
+
+https://benchmark-action.github.io/github-action-benchmark/dev/bench/
+
+Additionally, even though there is no explicit example for them, you can use
+`customBiggerIsBetter` and `customSmallerIsBetter` to use this
+action and create your own graphs from your own benchmark data. The name in
+these tools define which direction "is better" for your benchmarks.
+
+Every entry in the JSON file you provide only needs to provide `name`, `unit`,
+and `value`. You can also provide optional `range` (results' variance) and
+`extra` (any additional information that might be useful to your benchmark's
+context) properties. Like this:
+
+```json
+[
+ {
+ "name": "My Custom Smaller Is Better Benchmark - CPU Load",
+ "unit": "Percent",
+ "value": 50
+ },
+ {
+ "name": "My Custom Smaller Is Better Benchmark - Memory Used",
+ "unit": "Megabytes",
+ "value": 100,
+ "range": "3",
+ "extra": "Value for Tooltip: 25\nOptional Num #2: 100\nAnything Else!"
+ }
+]
+```
+
+## Screenshots
+
+### Charts on GitHub Pages
+
+
+
+Mouseover on data point shows a tooltip. It includes
+
+- Commit hash
+- Commit message
+- Date and committer
+- Benchmark value
+
+Clicking data point in chart opens the commit page on a GitHub repository.
+
+
+
+At bottom of the page, the download button is available for downloading benchmark results as a JSON file.
+
+
+
+
+### Alert comment on commit page
+
+This action can raise [an alert comment][alert-comment-example]. to the commit when its benchmark
+results are worse than previous exceeding a specified threshold.
+
+
+
+
+
+## Why?
+
+Since performance is important. Writing benchmarks is a popular and correct way to visualize a software
+performance. Benchmarks help us to keep performance and to confirm the effects of optimizations.
+For keeping the performance, it's important to monitor the benchmark results along with changes to
+the software. To notice performance regression quickly, it's useful to monitor benchmarking results
+continuously.
+
+However, there is no good free tool to watch the performance easily and continuously across languages
+(as far as I looked into). So I built a new tool on top of GitHub Actions.
+
+
+
+## How to use
+
+This action takes a file that contains benchmark output. And it outputs the results to GitHub Pages
+branch and/or alert commit comment.
+
+
+### Minimal setup
+
+Let's start with a minimal workflow setup. For explanation, here let's say we have a Go project. But basic
+setup is the same when you use other languages. For language-specific setup, please read the later section.
+
+```yaml
+name: Minimal setup
+on:
+ push:
+ branches:
+ - master
+
+jobs:
+ benchmark:
+ name: Performance regression check
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-go@v4
+ with:
+ go-version: "stable"
+ # Run benchmark with `go test -bench` and stores the output to a file
+ - name: Run benchmark
+ run: go test -bench 'BenchmarkFib' | tee output.txt
+ # Download previous benchmark result from cache (if exists)
+ - name: Download previous benchmark data
+ uses: actions/cache@v4
+ with:
+ path: ./cache
+ key: ${{ runner.os }}-benchmark
+ # Run `github-action-benchmark` action
+ - name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ # What benchmark tool the output.txt came from
+ tool: 'go'
+ # Where the output from the benchmark tool is stored
+ output-file-path: output.txt
+ # Where the previous data file is stored
+ external-data-json-path: ./cache/benchmark-data.json
+ # Workflow will fail when an alert happens
+ fail-on-alert: true
+ # Upload the updated cache file for the next job by actions/cache
+```
+
+The step which runs `github-action-benchmark` does followings:
+
+1. Extract benchmark result from the output in `output.txt`
+2. Update the downloaded cache file with the extracted result
+3. Compare the result with the previous result. If it gets worse than previous exceeding 200% threshold,
+ the workflow fails and the failure is notified to you
+
+By default, this action marks the result as performance regression when it is worse than the previous
+exceeding 200% threshold. For example, if the previous benchmark result was 100 iter/ns and this time
+it is 230 iter/ns, it means 230% worse than the previous and an alert will happen. The threshold can
+be changed by `alert-threshold` input.
+
+A live workflow example is [here](.github/workflows/minimal.yml). And the results of the workflow can
+be seen [here][minimal-workflow-example].
+
+
+### Commit comment
+
+In addition to the above setup, GitHub API token needs to be given to enable `comment-on-alert` feature.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'go'
+ output-file-path: output.txt
+ external-data-json-path: ./cache/benchmark-data.json
+ fail-on-alert: true
+ # GitHub API token to make a commit comment
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ # Enable alert commit comment
+ comment-on-alert: true
+ # Mention @rhysd in the commit comment
+ alert-comment-cc-users: '@rhysd'
+```
+
+`secrets.GITHUB_TOKEN` is [a GitHub API token automatically generated for each workflow run][help-github-token].
+It is necessary to send a commit comment when the benchmark result of the commit is detected as possible
+performance regression.
+
+Now, in addition to making workflow fail, the step leaves a commit comment when it detects performance
+regression [like this][alert-comment-example]. Though `alert-comment-cc-users` input is not mandatory for
+this, I recommend to set it to make sure you can notice the comment via GitHub notification. Please note
+that this value must be quoted like `'@rhysd'` because [`@` is an indicator in YAML syntax](https://yaml.org/spec/1.2/spec.html#id2772075).
+
+A live workflow example is [here](.github/workflows/commit-comment.yml). And the results of the workflow
+can be seen [here][commit-comment-workflow-example].
+
+### Job Summary
+
+Similar to the [Commit comment](#commit-comment) feature, Github Actions [Job Summaries](https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/) are
+also supported. In order to use Job Summaries, turn on the `summary-always`
+option.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'cargo'
+ output-file-path: output.txt
+ external-data-json-path: ./cache/benchmark-data.json
+ fail-on-alert: true
+ # GitHub API token to make a commit comment
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ # Enable alert commit comment
+ comment-on-alert: true
+ # Enable Job Summary for PRs
+ summary-always: true
+ # Mention @rhysd in the commit comment
+ alert-comment-cc-users: '@rhysd'
+```
+
+### Charts on GitHub Pages
+
+It is useful to see how the benchmark results changed on each change in time-series charts. This action
+provides a chart dashboard on GitHub pages.
+
+It requires some preparations before the workflow setup.
+
+You need to create a branch for GitHub Pages if you haven't created it yet.
+
+```sh
+# Create a local branch
+$ git checkout --orphan gh-pages
+# Push it to create a remote branch
+$ git push origin gh-pages:gh-pages
+```
+
+Now you're ready for workflow setup.
+
+```yaml
+# Do not run this workflow on pull request since this workflow has permission to modify contents.
+on:
+ push:
+ branches:
+ - master
+
+permissions:
+ # deployments permission to deploy GitHub pages website
+ deployments: write
+ # contents permission to update benchmark contents in gh-pages branch
+ contents: write
+
+jobs:
+ benchmark:
+ name: Performance regression check
+ runs-on: ubuntu-latest
+ steps:
+ - uses: actions/checkout@v4
+ - uses: actions/setup-go@v4
+ with:
+ go-version: "stable"
+ # Run benchmark with `go test -bench` and stores the output to a file
+ - name: Run benchmark
+ run: go test -bench 'BenchmarkFib' | tee output.txt
+ # gh-pages branch is updated and pushed automatically with extracted benchmark data
+ - name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ name: My Project Go Benchmark
+ tool: 'go'
+ output-file-path: output.txt
+ # Access token to deploy GitHub Pages branch
+ github-token: ${{ secrets.GITHUB_TOKEN }}
+ # Push and deploy GitHub pages branch automatically
+ auto-push: true
+```
+
+The step which runs `github-action-benchmark` does followings:
+
+1. Extract benchmark result from the output in `output.txt`
+2. Switch branch to `gh-pages`
+3. Read existing benchmark results from `dev/bench/data.js`
+4. Update `dev/bench/data.js` with the extracted benchmark result
+5. Generate a commit to store the update in `gh-pages` branch
+6. Push `gh-pages` branch to remote
+7. Compare the results with previous results and make an alert if possible performance regression is detected
+
+After the first workflow run, you will get the first result on `https://you.github.io/repo/dev/bench`
+[like this][examples-page].
+
+By default, this action assumes that `gh-pages` is your GitHub Pages branch and that `/dev/bench` is
+a path to put the benchmark dashboard page. If they don't fit your use case, please tweak them by
+`gh-pages-branch`, `gh-repository` and `benchmark-data-dir-path` inputs.
+
+This action merges all benchmark results into one GitHub pages branch. If your workflows have multiple
+steps to check benchmarks from multiple tools, please give `name` input to each step to make each
+benchmark results identical.
+
+Please see the above ['Examples' section](#examples) to see live workflow examples for each language.
+
+If you don't want to pass GitHub API token to this action, it's still OK.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ name: My Project Go Benchmark
+ tool: 'go'
+ output-file-path: output.txt
+ # Set auto-push to false since GitHub API token is not given
+ auto-push: false
+# Push gh-pages branch by yourself
+- name: Push benchmark result
+ run: git push 'https://you:${{ secrets.GITHUB_TOKEN }}@github.com/you/repo-name.git' gh-pages:gh-pages
+```
+
+Please add a step to push the branch to the remote.
+
+
+### Tool specific setup
+
+Please read `README.md` files at each example directory. Usually, take stdout from a benchmark tool
+and store it to file. Then specify the file path to `output-file-path` input.
+
+- [`cargo bench` for Rust projects](./examples/rust/README.md)
+- [`go test` for Go projects](./examples/go/README.md)
+- [Benchmark.js for JavaScript/TypeScript projects](./examples/benchmarkjs/README.md)
+- [pytest-benchmark for Python projects with pytest](./examples/pytest/README.md)
+- [Google Benchmark Framework for C++ projects](./examples/cpp/README.md)
+- [catch2 for C++ projects](./examples/cpp/README.md)
+- [BenchmarkTools.jl for Julia projects](./examples/julia/README.md)
+- [Benchmark.Net for .Net projects](./examples/benchmarkdotnet/README.md)
+- [benchmarkluau for Luau projects](#) - Examples for this are still a work in progress.
+
+These examples are run in workflows of this repository as described in the 'Examples' section above.
+
+
+### Action inputs
+
+Input definitions are written in [action.yml](./action.yml).
+
+#### `name` (Required)
+
+- Type: String
+- Default: `"Benchmark"`
+
+Name of the benchmark. This value must be identical across all benchmarks in your repository.
+
+#### `tool` (Required)
+
+- Type: String
+- Default: N/A
+
+Tool for running benchmark. The value must be one of `"cargo"`, `"go"`, `"benchmarkjs"`, `"pytest"`,
+`"googlecpp"`, `"catch2"`, `"julia"`, `"jmh"`, `"benchmarkdotnet"`,`"benchmarkluau"`, `"customBiggerIsBetter"`, `"customSmallerIsBetter"`.
+
+#### `output-file-path` (Required)
+
+- Type: String
+- Default: N/A
+
+Path to a file which contains the output from benchmark tool. The path can be relative to repository root.
+
+#### `gh-pages-branch` (Required)
+
+- Type: String
+- Default: `"gh-pages"`
+
+Name of your GitHub pages branch.
+
+Note: If you're using `docs/` directory of `master` branch for GitHub pages, please set `gh-pages-branch`
+to `master` and `benchmark-data-dir-path` to the directory under `docs` like `docs/dev/bench`.
+
+#### `gh-repository`
+
+- Type: String
+
+Url to an optional different repository to store benchmark results (eg. `github.com/benchmark-action/github-action-benchmark-results`)
+
+NOTE: if you want to auto push to a different repository you need to use a separate Personal Access Token that has a write access to the specified repository.
+If you are not using the `auto-push` option then you can avoid passing the `gh-token` if your data repository is public
+
+#### `benchmark-data-dir-path` (Required)
+
+- Type: String
+- Default: `"dev/bench"`
+
+Path to a directory that contains benchmark files on the GitHub pages branch. For example, when this value
+is set to `"path/to/bench"`, `https://you.github.io/repo-name/path/to/bench` will be available as benchmarks
+dashboard page. If it does not contain `index.html`, this action automatically generates it at first run.
+The path can be relative to repository root.
+
+#### `github-token` (Optional)
+
+- Type: String
+- Default: N/A
+
+GitHub API access token.
+
+#### `ref` (Optional)
+
+- Type: String
+- Default: N/A
+
+Ref to use for reporting the commit
+
+#### `auto-push` (Optional)
+
+- Type: Boolean
+- Default: `false`
+
+If it is set to `true`, this action automatically pushes the generated commit to GitHub Pages branch.
+Otherwise, you need to push it by your own. Please read 'Commit comment' section above for more details.
+
+#### `comment-always` (Optional)
+
+- Type: Boolean
+- Default: `false`
+
+If it is set to `true`, this action will leave a commit comment comparing the current benchmark with previous.
+`github-token` is necessary as well.
+
+#### `save-data-file` (Optional)
+
+- Type: Boolean
+- Default: `true`
+
+If it is set to `false`, this action will not save the current benchmark to the external data file.
+You can use this option to set up your action to compare the benchmarks between PR and base branch.
+
+#### `alert-threshold` (Optional)
+
+- Type: String
+- Default: `"200%"`
+
+Percentage value like `"150%"`. It is a ratio indicating how worse the current benchmark result is.
+For example, if we now get `150 ns/iter` and previously got `100 ns/iter`, it gets `150%` worse.
+
+If the current benchmark result is worse than previous exceeding the threshold, an alert will happen.
+See `comment-on-alert` and `fail-on-alert` also.
+
+#### `comment-on-alert` (Optional)
+
+- Type: Boolean
+- Default: `false`
+
+If it is set to `true`, this action will leave a commit comment when an alert happens [like this][alert-comment-example].
+`github-token` is necessary as well. For the threshold, please see `alert-threshold` also.
+
+#### `fail-on-alert` (Optional)
+
+- Type: Boolean
+- Default: `false`
+
+If it is set to `true`, the workflow will fail when an alert happens. For the threshold for this, please
+see `alert-threshold` and `fail-threshold` also.
+
+#### `fail-threshold` (Optional)
+
+- Type: String
+- Default: The same value as `alert-threshold`
+
+Percentage value in the same format as `alert-threshold`. If this value is set, the threshold value
+will be used to determine if the workflow should fail. Default value is set to the same value as
+`alert-threshold` input. **This value must be equal or larger than `alert-threshold` value.**
+
+#### `alert-comment-cc-users` (Optional)
+
+- Type: String
+- Default: N/A
+
+Comma-separated GitHub user names mentioned in alert commit comment like `"@foo,@bar"`. These users
+will be mentioned in a commit comment when an alert happens. For configuring alerts, please see
+`alert-threshold` and `comment-on-alert` also.
+
+#### `external-data-json-path` (Optional)
+
+- Type: String
+- Default: N/A
+
+External JSON file which contains benchmark results until previous job run. When this value is set,
+this action updates the file content instead of generating a Git commit in GitHub Pages branch.
+This option is useful if you don't want to put benchmark results in GitHub Pages branch. Instead,
+you need to keep the JSON file persistently among job runs. One option is using a workflow cache
+with `actions/cache` action. Please read 'Minimal setup' section above.
+
+#### `max-items-in-chart` (Optional)
+
+- Type: Number
+- Default: N/A
+
+Max number of data points in a chart for avoiding too busy chart. This value must be unsigned integer
+larger than zero. If the number of benchmark results for some benchmark suite exceeds this value,
+the oldest one will be removed before storing the results to file. By default this value is empty
+which means there is no limit.
+
+#### `skip-fetch-gh-pages` (Optional)
+
+- Type: Boolean
+- Default: `false`
+
+If set to `true`, the workflow will skip fetching branch defined with the `gh-pages-branch` variable.
+
+
+### Action outputs
+
+No action output is set by this action for the parent GitHub workflow.
+
+
+### Caveats
+
+#### Run only on your branches
+
+Please ensure that your benchmark workflow runs only on your branches. Please avoid running it on
+pull requests. If a branch were pushed to GitHub pages branch on a pull request, anyone who creates
+a pull request on your repository could modify your GitHub pages branch.
+
+For this, you can specify a branch that runs your benchmark workflow on `on:` section. Or set the
+proper condition to `if:` section of step which pushes GitHub pages.
+
+e.g. Runs on only `master` branch
+
+```yaml
+on:
+ push:
+ branches:
+ - master
+```
+
+e.g. Push when not running for a pull request
+
+```yaml
+- name: Push benchmark result
+ run: git push ...
+ if: github.event_name != 'pull_request'
+```
+
+#### Stability of Virtual Environment
+
+As far as watching the benchmark results of examples in this repository, the amplitude of the benchmarks
+is about +- 10~20%. If your benchmarks use some resources such as networks or file I/O, the amplitude
+might be bigger.
+
+If the amplitude is not acceptable, please prepare a stable environment to run benchmarks.
+GitHub action supports [self-hosted runners](https://docs.github.com/en/actions/hosting-your-own-runners/about-self-hosted-runners).
+
+
+### Customizing the benchmarks result page
+
+This action creates the default `index.html` in the directory specified with `benchmark-data-dir-path`
+input. By default, every benchmark test case has own chart on the page. Charts are drawn with
+[Chart.js](https://www.chartjs.org/).
+
+If it does not fit your use case, please modify the HTML file or replace it with your favorite one.
+Every benchmark data is stored in `window.BENCHMARK_DATA` so you can create your favorite view.
+
+
+### Versioning
+
+This action conforms semantic versioning 2.0.
+
+For example, `benchmark-action/github-action-benchmark@v1` means the latest version of `1.x.y`. And
+`benchmark-action/github-action-benchmark@v1.0.2` always uses `v1.0.2` even if a newer version is published.
+
+`master` branch of this repository is for development and does not work as action.
+
+
+### Track updates of this action
+
+To notice new version releases, please [watch 'release only'][help-watch-release] at [this repository][proj].
+Every release will appear on your GitHub notifications page.
+
+
+
+## Future work
+
+- Support pull requests. Instead of updating GitHub pages, add a comment to the pull request to explain
+ benchmark results.
+- Add more benchmark tools:
+ - [airspeed-velocity Python benchmarking tool](https://github.com/airspeed-velocity/asv)
+- Allow uploading results to metrics services such as [mackerel](https://en.mackerel.io/)
+- Show extracted benchmark data in the output from this action
+- Add a table view in dashboard page to see all data points in table
+
+
+
+## Related actions
+
+- [lighthouse-ci-action][] is an action for [Lighthouse CI][lighthouse-ci]. If you're measuring performance
+ of your web application, using Lighthouse CI and lighthouse-ci-action would be better than using this
+ action.
+
+
+
+## License
+
+[the MIT License](./LICENSE.txt)
+
+
+
+[build-badge]: https://github.com/benchmark-action/github-action-benchmark/actions/workflows/ci.yml/badge.svg
+[ci]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3ACI
+[codecov-badge]: https://codecov.io/gh/benchmark-action/github-action-benchmark/branch/master/graph/badge.svg
+[codecov]: https://app.codecov.io/gh/benchmark-action/github-action-benchmark
+[release-badge]: https://img.shields.io/github/v/release/benchmark-action/github-action-benchmark.svg
+[marketplace]: https://github.com/marketplace/actions/continuous-benchmark
+[proj]: https://github.com/benchmark-action/github-action-benchmark
+[rust-badge]: https://github.com/benchmark-action/github-action-benchmark/actions/workflows/rust.yml/badge.svg
+[go-badge]: https://github.com/benchmark-action/github-action-benchmark/actions/workflows/go.yml/badge.svg
+[benchmarkjs-badge]: https://github.com/benchmark-action/github-action-benchmark/actions/workflows/benchmarkjs.yml/badge.svg
+[pytest-benchmark-badge]: https://github.com/benchmark-action/github-action-benchmark/actions/workflows/pytest.yml/badge.svg
+[cpp-badge]: https://github.com/benchmark-action/github-action-benchmark/actions/workflows/cpp.yml/badge.svg
+[catch2-badge]: https://github.com/benchmark-action/github-action-benchmark/actions/workflows/catch2.yml/badge.svg
+[julia-badge]: https://github.com/benchmark-action/github-action-benchmark/actions/workflows/julia.yml/badge.svg
+[java-badge]: https://github.com/benchmark-action/github-action-benchmark/actions/workflows/java.yml/badge.svg
+[github-action]: https://github.com/features/actions
+[cargo-bench]: https://doc.rust-lang.org/cargo/commands/cargo-bench.html
+[benchmarkjs]: https://benchmarkjs.com/
+[gh-pages]: https://pages.github.com/
+[examples-page]: https://benchmark-action.github.io/github-action-benchmark/dev/bench/
+[pytest-benchmark]: https://pypi.org/project/pytest-benchmark/
+[pytest]: https://pypi.org/project/pytest/
+[alert-comment-example]: https://github.com/benchmark-action/github-action-benchmark/commit/077dde1c236baba9244caad4d9e82ea8399dae20#commitcomment-36047186
+[rust-workflow-example]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Rust+Example%22
+[go-workflow-example]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Go+Example%22
+[benchmarkjs-workflow-example]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Benchmark.js+Example%22
+[pytest-workflow-example]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Python+Example+with+pytest%22
+[cpp-workflow-example]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22C%2B%2B+Example%22
+[catch2-workflow-example]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Catch2+C%2B%2B+Example%22
+[julia-workflow-example]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Julia+Example+with+BenchmarkTools.jl%22
+[java-workflow-example]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22JMH+Example%22
+[help-watch-release]: https://docs.github.com/en/github/receiving-notifications-about-activity-on-github/watching-and-unwatching-releases-for-a-repository
+[help-github-token]: https://docs.github.com/en/actions/security-guides/automatic-token-authentication
+[minimal-workflow-example]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Example+for+minimal+setup%22
+[commit-comment-workflow-example]: https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Example+for+alert+with+commit+comment%22
+[google-benchmark]: https://github.com/google/benchmark
+[catch2]: https://github.com/catchorg/Catch2
+[jmh]: https://openjdk.java.net/projects/code-tools/jmh/
+[lighthouse-ci-action]: https://github.com/treosh/lighthouse-ci-action
+[lighthouse-ci]: https://github.com/GoogleChrome/lighthouse-ci
+[BenchmarkTools.jl]: https://github.com/JuliaCI/BaseBenchmarks.jl
+[benchmarkdotnet]: https://benchmarkdotnet.org
+[benchmarkdotnet-badge]: https://github.com/benchmark-action/github-action-benchmark/actions/workflows/benchmarkdotnet.yml/badge.svg
+[benchmarkdotnet-workflow-example]: https://github.com/rhysd/github-action-benchmark/actions?query=workflow%3A%22Benchmark.Net+Example%22
+[job-summaries]: https://github.blog/2022-05-09-supercharging-github-actions-with-job-summaries/
diff --git a/action-types.yml b/action-types.yml
new file mode 100644
index 000000000..e199a6627
--- /dev/null
+++ b/action-types.yml
@@ -0,0 +1,57 @@
+inputs:
+ name:
+ type: string
+ tool:
+ type: enum
+ allowed-values:
+ - cargo
+ - go
+ - benchmarkjs
+ - pytest
+ - googlecpp
+ - catch2
+ - julia
+ - jmh
+ - benchmarkdotnet
+ - benchmarkluau
+ - customBiggerIsBetter
+ - customSmallerIsBetter
+ output-file-path:
+ type: string
+ gh-pages-branch:
+ type: string
+ gh-repository:
+ type: string
+ benchmark-data-dir-path:
+ type: string
+ github-token:
+ type: string
+ ref:
+ type: string
+ auto-push:
+ type: boolean
+ skip-fetch-gh-pages:
+ type: boolean
+ comment-always:
+ type: boolean
+ summary-always:
+ type: boolean
+ save-data-file:
+ type: boolean
+ comment-on-alert:
+ type: boolean
+ alert-threshold:
+ type: string
+ fail-on-alert:
+ type: boolean
+ fail-threshold:
+ type: string
+ alert-comment-cc-users:
+ type: list
+ separator: ','
+ list-item:
+ type: string
+ external-data-json-path:
+ type: string
+ max-items-in-chart:
+ type: integer
diff --git a/action.yml b/action.yml
index fe83ac711..daa6cd343 100644
--- a/action.yml
+++ b/action.yml
@@ -11,7 +11,7 @@ inputs:
required: true
default: 'Benchmark'
tool:
- description: 'Tool to use get benchmark output. One of "cargo", "go", "benchmarkjs", "pytest", "customBiggerIsBetter", "customSmallerIsBetter"'
+ description: 'Tool to use get benchmark output. One of "cargo", "go", "benchmarkjs", "pytest", "googlecpp", "catch2", "julia", "benchmarkdotnet", "customBiggerIsBetter", "customSmallerIsBetter"'
required: true
output-file-path:
description: 'A path to file which contains the benchmark output'
@@ -20,6 +20,9 @@ inputs:
description: 'Branch for gh-pages'
required: true
default: 'gh-pages'
+ gh-repository:
+ description: 'Url to an optional different repository to store benchmark results'
+ required: false
benchmark-data-dir-path:
description: 'Path to directory which contains benchmark files on GitHub pages branch'
required: true
@@ -27,6 +30,9 @@ inputs:
github-token:
description: 'GitHub API token to pull/push GitHub pages branch and deploy GitHub pages. For public repository, this must be personal access token for now. Please read README.md for more details'
required: false
+ ref:
+ description: 'optional Ref to use when finding commit'
+ required: false
auto-push:
description: 'Push GitHub Pages branch to remote automatically. This option requires github-token input'
required: false
@@ -39,12 +45,16 @@ inputs:
description: 'Leave a comment with benchmark result comparison. To enable this feature, github-token input must be given as well'
required: false
default: false
+ summary-always:
+ description: 'Leave a job summary with benchmark result comparison'
+ required: false
+ default: false
save-data-file:
description: 'Save the benchmark data to external file'
required: false
default: true
comment-on-alert:
- description: 'Leave an alert comment when current benchmark result is worse than previous. Threshold is specified with alert-comment-threshold input. To enable this feature, github-token input must be given as well'
+ description: 'Leave an alert comment when current benchmark result is worse than previous. Threshold is specified with alert-threshold input. To enable this feature, github-token input must be given as well'
required: false
default: false
alert-threshold:
@@ -71,5 +81,5 @@ inputs:
required: false
runs:
- using: 'node16'
+ using: 'node20'
main: 'dist/src/index.js'
diff --git a/dist/src/config.js b/dist/src/config.js
index d810be5d7..49381d84b 100644
--- a/dist/src/config.js
+++ b/dist/src/config.js
@@ -1,7 +1,11 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
@@ -11,15 +15,26 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
}) : function(o, v) {
o["default"] = v;
});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
+var __importStar = (this && this.__importStar) || (function () {
+ var ownKeys = function(o) {
+ ownKeys = Object.getOwnPropertyNames || function (o) {
+ var ar = [];
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
+ return ar;
+ };
+ return ownKeys(o);
+ };
+ return function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
+ __setModuleDefault(result, mod);
+ return result;
+ };
+})();
Object.defineProperty(exports, "__esModule", { value: true });
-exports.configFromJobInput = exports.VALID_TOOLS = void 0;
+exports.VALID_TOOLS = void 0;
+exports.configFromJobInput = configFromJobInput;
const core = __importStar(require("@actions/core"));
const fs_1 = require("fs");
const os = __importStar(require("os"));
@@ -28,10 +43,13 @@ exports.VALID_TOOLS = [
'cargo',
'go',
'benchmarkjs',
+ 'benchmarkluau',
'pytest',
'googlecpp',
'catch2',
'julia',
+ 'jmh',
+ 'benchmarkdotnet',
'customBiggerIsBetter',
'customSmallerIsBetter',
];
@@ -195,12 +213,15 @@ async function configFromJobInput() {
const tool = core.getInput('tool');
let outputFilePath = core.getInput('output-file-path');
const ghPagesBranch = core.getInput('gh-pages-branch');
+ const ghRepository = core.getInput('gh-repository');
let benchmarkDataDirPath = core.getInput('benchmark-data-dir-path');
const name = core.getInput('name');
const githubToken = core.getInput('github-token') || undefined;
+ const ref = core.getInput('ref') || undefined;
const autoPush = getBoolInput('auto-push');
const skipFetchGhPages = getBoolInput('skip-fetch-gh-pages');
const commentAlways = getBoolInput('comment-always');
+ const summaryAlways = getBoolInput('summary-always');
const saveDataFile = getBoolInput('save-data-file');
const commentOnAlert = getBoolInput('comment-on-alert');
const alertThreshold = getPercentageInput('alert-threshold');
@@ -223,6 +244,9 @@ async function configFromJobInput() {
if (commentOnAlert) {
validateGitHubToken('comment-on-alert', githubToken, 'to send commit comment on alert');
}
+ if (ghRepository) {
+ validateGitHubToken('gh-repository', githubToken, 'to clone the repository');
+ }
validateAlertThreshold(alertThreshold, failThreshold);
validateAlertCommentCcUsers(alertCommentCcUsers);
externalDataJsonPath = await validateExternalDataJsonPath(externalDataJsonPath, autoPush);
@@ -235,11 +259,13 @@ async function configFromJobInput() {
tool,
outputFilePath,
ghPagesBranch,
+ ghRepository,
benchmarkDataDirPath,
githubToken,
autoPush,
skipFetchGhPages,
commentAlways,
+ summaryAlways,
saveDataFile,
commentOnAlert,
alertThreshold,
@@ -248,7 +274,7 @@ async function configFromJobInput() {
externalDataJsonPath,
maxItemsInChart,
failThreshold,
+ ref,
};
}
-exports.configFromJobInput = configFromJobInput;
//# sourceMappingURL=config.js.map
\ No newline at end of file
diff --git a/dist/src/default_index_html.js b/dist/src/default_index_html.js
index 65540b4dd..6babb4fb7 100644
--- a/dist/src/default_index_html.js
+++ b/dist/src/default_index_html.js
@@ -117,10 +117,13 @@ exports.DEFAULT_INDEX_HTML = String.raw `
cargo: '#dea584',
go: '#00add8',
benchmarkjs: '#f1e05a',
+ benchmarkluau: '#000080',
pytest: '#3572a5',
googlecpp: '#f34b7d',
catch2: '#f34b7d',
julia: '#a270ba',
+ jmh: '#b07219',
+ benchmarkdotnet: '#178600',
customBiggerIsBetter: '#38ff38',
customSmallerIsBetter: '#ff3838',
_: '#333333'
diff --git a/dist/src/extract.js b/dist/src/extract.js
index 2b4e72939..a8870ff44 100644
--- a/dist/src/extract.js
+++ b/dist/src/extract.js
@@ -1,7 +1,11 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
@@ -11,18 +15,38 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
}) : function(o, v) {
o["default"] = v;
});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
+var __importStar = (this && this.__importStar) || (function () {
+ var ownKeys = function(o) {
+ ownKeys = Object.getOwnPropertyNames || function (o) {
+ var ar = [];
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
+ return ar;
+ };
+ return ownKeys(o);
+ };
+ return function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
+ __setModuleDefault(result, mod);
+ return result;
+ };
+})();
Object.defineProperty(exports, "__esModule", { value: true });
-exports.extractResult = void 0;
+exports.BenchmarkResults = exports.BenchmarkResult = void 0;
+exports.extractResult = extractResult;
/* eslint-disable @typescript-eslint/naming-convention */
const fs_1 = require("fs");
const github = __importStar(require("@actions/github"));
+const zod_1 = require("zod");
+exports.BenchmarkResult = zod_1.z.object({
+ name: zod_1.z.coerce.string(),
+ value: zod_1.z.coerce.number(),
+ range: zod_1.z.coerce.string().optional(),
+ unit: zod_1.z.coerce.string(),
+ extra: zod_1.z.coerce.string().optional(),
+});
+exports.BenchmarkResults = zod_1.z.array(exports.BenchmarkResult);
function getHumanReadableUnitValue(seconds) {
if (seconds < 1.0e-6) {
return [seconds * 1e9, 'nsec'];
@@ -42,7 +66,7 @@ function getCommitFromPullRequestPayload(pr) {
const id = pr.head.sha;
const username = pr.head.user.login;
const user = {
- name: username,
+ name: username, // XXX: Fallback, not correct
username,
};
return {
@@ -54,12 +78,13 @@ function getCommitFromPullRequestPayload(pr) {
url: `${pr.html_url}/commits/${id}`,
};
}
-async function getCommitFromGitHubAPIRequest(githubToken) {
- const octocat = new github.GitHub(githubToken);
- const { status, data } = await octocat.repos.getCommit({
+async function getCommitFromGitHubAPIRequest(githubToken, ref) {
+ var _a, _b, _c, _d, _e, _f, _g;
+ const octocat = github.getOctokit(githubToken);
+ const { status, data } = await octocat.rest.repos.getCommit({
owner: github.context.repo.owner,
repo: github.context.repo.repo,
- ref: github.context.ref,
+ ref: ref !== null && ref !== void 0 ? ref : github.context.ref,
});
if (!(status === 200 || status === 304)) {
throw new Error(`Could not fetch the head commit. Received code: ${status}`);
@@ -67,22 +92,22 @@ async function getCommitFromGitHubAPIRequest(githubToken) {
const { commit } = data;
return {
author: {
- name: commit.author.name,
- username: data.author.login,
- email: commit.author.email,
+ name: (_a = commit.author) === null || _a === void 0 ? void 0 : _a.name,
+ username: (_b = data.author) === null || _b === void 0 ? void 0 : _b.login,
+ email: (_c = commit.author) === null || _c === void 0 ? void 0 : _c.email,
},
committer: {
- name: commit.committer.name,
- username: data.committer.login,
- email: commit.committer.email,
+ name: (_d = commit.committer) === null || _d === void 0 ? void 0 : _d.name,
+ username: (_e = data.committer) === null || _e === void 0 ? void 0 : _e.login,
+ email: (_f = commit.committer) === null || _f === void 0 ? void 0 : _f.email,
},
id: data.sha,
message: commit.message,
- timestamp: commit.author.date,
+ timestamp: (_g = commit.author) === null || _g === void 0 ? void 0 : _g.date,
url: data.html_url,
};
}
-async function getCommit(githubToken) {
+async function getCommit(githubToken, ref) {
if (github.context.payload.head_commit) {
return github.context.payload.head_commit;
}
@@ -93,14 +118,12 @@ async function getCommit(githubToken) {
if (!githubToken) {
throw new Error(`No commit information is found in payload: ${JSON.stringify(github.context.payload, null, 2)}. Also, no 'github-token' provided, could not fallback to GitHub API Request.`);
}
- return getCommitFromGitHubAPIRequest(githubToken);
+ return getCommitFromGitHubAPIRequest(githubToken, ref);
}
function extractCargoResult(output) {
const lines = output.split(/\r?\n/g);
const ret = [];
- // Example:
- // test bench_fib_20 ... bench: 37,174 ns/iter (+/- 7,527)
- const reExtract = /^test (.+)\s+\.\.\. bench:\s+([0-9,]+) ns\/iter \(\+\/- ([0-9,]+)\)$/;
+ const reExtract = /^test (.+)\s+\.\.\. bench:\s+([0-9,.]+) (\w+\/\w+) \(\+\/- ([0-9,.]+)\)$/;
const reComma = /,/g;
for (const line of lines) {
const m = line.match(reExtract);
@@ -108,13 +131,14 @@ function extractCargoResult(output) {
continue;
}
const name = m[1].trim();
- const value = parseInt(m[2].replace(reComma, ''), 10);
- const range = m[3].replace(reComma, '');
+ const value = parseFloat(m[2].replace(reComma, ''));
+ const unit = m[3].trim();
+ const range = m[4].replace(reComma, '');
ret.push({
name,
value,
range: `± ${range}`,
- unit: 'ns/iter',
+ unit: unit,
});
}
return ret;
@@ -125,22 +149,41 @@ function extractGoResult(output) {
// Example:
// BenchmarkFib20-8 30000 41653 ns/op
// BenchmarkDoWithConfigurer1-8 30000000 42.3 ns/op
- const reExtract = /^(Benchmark\w+(?:\/?[\w()$%^&*-]*?)*?)(-\d+)?\s+(\d+)\s+([0-9.]+)\s+(.+)$/;
+ // Example if someone has used the ReportMetric function to add additional metrics to each benchmark:
+ // BenchmarkThing-16 1 95258906556 ns/op 64.02 UnitsForMeasure2 31.13 UnitsForMeasure3
+ // reference, "Proposal: Go Benchmark Data Format": https://go.googlesource.com/proposal/+/master/design/14313-benchmark-format.md
+ // "A benchmark result line has the general form: [ ...]"
+ // "The fields are separated by runs of space characters (as defined by unicode.IsSpace), so the line can be parsed with strings.Fields. The line must have an even number of fields, and at least four."
+ const reExtract = /^(?Benchmark\w+[\w()$%^&*-=|,[\]{}"#]*?)(?-\d+)?\s+(?\d+)\s+(?.+)$/;
for (const line of lines) {
const m = line.match(reExtract);
- if (m === null) {
- continue;
- }
- const name = m[1];
- const procs = m[2] !== undefined ? m[2].slice(1) : null;
- const times = m[3];
- const value = parseFloat(m[4]);
- const unit = m[5];
- let extra = `${times} times`;
- if (procs !== null) {
- extra += `\n${procs} procs`;
+ if (m === null || m === void 0 ? void 0 : m.groups) {
+ const procs = m.groups.procs !== undefined ? m.groups.procs.slice(1) : null;
+ const times = m.groups.times;
+ const remainder = m.groups.remainder;
+ const pieces = remainder.split(/[ \t]+/);
+ // This is done for backwards compatibility with Go benchmarks that had multiple metrics in output,
+ // but they were not extracted properly before v1.18.0
+ if (pieces.length > 2) {
+ pieces.unshift(pieces[0], remainder.slice(remainder.indexOf(pieces[1])));
+ }
+ for (let i = 0; i < pieces.length; i = i + 2) {
+ let extra = `${times} times`.replace(/\s\s+/g, ' ');
+ if (procs !== null) {
+ extra += `\n${procs} procs`;
+ }
+ const value = parseFloat(pieces[i]);
+ const unit = pieces[i + 1];
+ let name;
+ if (i > 0) {
+ name = m.groups.name + ' - ' + unit;
+ }
+ else {
+ name = m.groups.name;
+ }
+ ret.push({ name, value, unit, extra });
+ }
}
- ret.push({ name, value, unit, extra });
}
return ret;
}
@@ -214,7 +257,7 @@ function extractCatch2Result(output) {
// Fibonacci 20 100 2 8.4318 ms <-- Start actual benchmark
// 43.186 us 41.402 us 46.246 us <-- Actual benchmark data
// 11.719 us 7.847 us 17.747 us <-- Ignored
- const reTestCaseStart = /^benchmark name +samples +iterations +estimated/;
+ const reTestCaseStart = /^benchmark name +samples +iterations +(estimated|est run time)/;
const reBenchmarkStart = /(\d+) +(\d+) +(?:\d+(\.\d+)?) (?:ns|ms|us|s)\s*$/;
const reBenchmarkValues = /^ +(\d+(?:\.\d+)?) (ns|us|ms|s) +(?:\d+(?:\.\d+)?) (?:ns|us|ms|s) +(?:\d+(?:\.\d+)?) (?:ns|us|ms|s)/;
const reEmptyLine = /^\s*$/;
@@ -242,26 +285,8 @@ function extractCatch2Result(output) {
if (!mean) {
throw new Error(`Mean values cannot be retrieved for benchmark '${name}' on parsing input '${meanLine !== null && meanLine !== void 0 ? meanLine : 'EOF'}' at line ${meanLineNum}`);
}
- let unit = 'ms';
- let factor = 1;
- switch (mean[2]) {
- case 'ns':
- factor = 1/1000000;
- break;
- case 'us':
- factor = 1/1000;
- break;
- case 's':
- factor = 1000;
- break;
- case 'm':
- factor = 60 * 1000;
- break;
- default:
- unit = mean[2];
- }
- const value = factor * parseFloat(mean[1]);
-
+ const value = parseFloat(mean[1]);
+ const unit = mean[2];
const [stdDevLine, stdDevLineNum] = nextLine();
const stdDev = stdDevLine === null || stdDevLine === void 0 ? void 0 : stdDevLine.match(reBenchmarkValues);
if (!stdDev) {
@@ -349,20 +374,68 @@ function extractJuliaBenchmarkResult(output) {
}
return res;
}
+function extractJmhResult(output) {
+ let json;
+ try {
+ json = JSON.parse(output);
+ }
+ catch (err) {
+ throw new Error(`Output file for 'jmh' must be JSON file generated by -rf json option: ${err.message}`);
+ }
+ return json.map((b) => {
+ const name = b.benchmark;
+ const value = b.primaryMetric.score;
+ const unit = b.primaryMetric.scoreUnit;
+ const params = b.params ? ' ( ' + JSON.stringify(b.params) + ' )' : '';
+ const extra = `iterations: ${b.measurementIterations}\nforks: ${b.forks}\nthreads: ${b.threads}`;
+ return { name: name + params, value, unit, extra };
+ });
+}
+function extractBenchmarkDotnetResult(output) {
+ let json;
+ try {
+ json = JSON.parse(output);
+ }
+ catch (err) {
+ throw new Error(`Output file for 'benchmarkdotnet' must be JSON file generated by '--exporters json' option or by adding the JsonExporter to your run config: ${err.message}`);
+ }
+ return json.Benchmarks.map((benchmark) => {
+ const name = benchmark.FullName;
+ const value = benchmark.Statistics.Mean;
+ const stdDev = benchmark.Statistics.StandardDeviation;
+ const range = `± ${stdDev}`;
+ return { name, value, unit: 'ns', range };
+ });
+}
function extractCustomBenchmarkResult(output) {
try {
- const json = JSON.parse(output);
- return json.map(({ name, value, unit, range, extra }) => {
- return { name, value, unit, range, extra };
- });
+ return exports.BenchmarkResults.parse(JSON.parse(output));
}
catch (err) {
- throw new Error(`Output file for 'custom-(bigger|smaller)-is-better' must be JSON file containing an array of entries in BenchmarkResult format: ${err.message}`);
+ const errMessage = err instanceof Error ? err.message : String(err);
+ throw new Error(`Output file for 'custom-(bigger|smaller)-is-better' must be JSON file containing an array of entries in BenchmarkResult format: ${errMessage}`);
}
}
+function extractLuauBenchmarkResult(output) {
+ const lines = output.split(/\n/);
+ const results = [];
+ for (const line of lines) {
+ if (!line.startsWith('SUCCESS'))
+ continue;
+ const [_0, name, _2, valueStr, _4, range, _6, extra] = line.split(/\s+/);
+ results.push({
+ name: name,
+ value: parseFloat(valueStr),
+ unit: valueStr.replace(/.[0-9]+/g, ''),
+ range: `±${range}`,
+ extra: extra,
+ });
+ }
+ return results;
+}
async function extractResult(config) {
const output = await fs_1.promises.readFile(config.outputFilePath, 'utf8');
- const { tool, githubToken } = config;
+ const { tool, githubToken, ref } = config;
let benches;
switch (tool) {
case 'cargo':
@@ -386,19 +459,28 @@ async function extractResult(config) {
case 'julia':
benches = extractJuliaBenchmarkResult(output);
break;
+ case 'jmh':
+ benches = extractJmhResult(output);
+ break;
+ case 'benchmarkdotnet':
+ benches = extractBenchmarkDotnetResult(output);
+ break;
case 'customBiggerIsBetter':
benches = extractCustomBenchmarkResult(output);
break;
case 'customSmallerIsBetter':
benches = extractCustomBenchmarkResult(output);
break;
+ case 'benchmarkluau':
+ benches = extractLuauBenchmarkResult(output);
+ break;
default:
throw new Error(`FATAL: Unexpected tool: '${tool}'`);
}
if (benches.length === 0) {
throw new Error(`No benchmark result was found in ${config.outputFilePath}. Benchmark output was '${output}'`);
}
- const commit = await getCommit(githubToken);
+ const commit = await getCommit(githubToken, ref);
return {
commit,
date: Date.now(),
@@ -406,5 +488,4 @@ async function extractResult(config) {
benches,
};
}
-exports.extractResult = extractResult;
-//# sourceMappingURL=extract.js.map
+//# sourceMappingURL=extract.js.map
\ No newline at end of file
diff --git a/dist/src/git.js b/dist/src/git.js
index 39058b564..acc6043af 100644
--- a/dist/src/git.js
+++ b/dist/src/git.js
@@ -1,7 +1,11 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
@@ -11,18 +15,38 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
}) : function(o, v) {
o["default"] = v;
});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
+var __importStar = (this && this.__importStar) || (function () {
+ var ownKeys = function(o) {
+ ownKeys = Object.getOwnPropertyNames || function (o) {
+ var ar = [];
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
+ return ar;
+ };
+ return ownKeys(o);
+ };
+ return function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
+ __setModuleDefault(result, mod);
+ return result;
+ };
+})();
Object.defineProperty(exports, "__esModule", { value: true });
-exports.fetch = exports.pull = exports.push = exports.cmd = void 0;
+exports.getServerUrlObj = getServerUrlObj;
+exports.getServerUrl = getServerUrl;
+exports.getServerName = getServerName;
+exports.cmd = cmd;
+exports.push = push;
+exports.pull = pull;
+exports.fetch = fetch;
+exports.clone = clone;
+exports.checkout = checkout;
const exec_1 = require("@actions/exec");
const core = __importStar(require("@actions/core"));
const github = __importStar(require("@actions/github"));
+const url_1 = require("url");
+const DEFAULT_GITHUB_URL = 'https://github.com';
async function capture(cmd, args) {
const res = {
stdout: '',
@@ -49,15 +73,31 @@ async function capture(cmd, args) {
throw new Error(msg);
}
}
-async function cmd(...args) {
+function getServerUrlObj(repositoryUrl) {
+ var _a;
+ const urlValue = repositoryUrl && repositoryUrl.trim().length > 0
+ ? repositoryUrl
+ : (_a = process.env['GITHUB_SERVER_URL']) !== null && _a !== void 0 ? _a : DEFAULT_GITHUB_URL;
+ return new url_1.URL(urlValue);
+}
+function getServerUrl(repositoryUrl) {
+ return getServerUrlObj(repositoryUrl).origin;
+}
+function getServerName(repositoryUrl) {
+ return getServerUrlObj(repositoryUrl).hostname;
+}
+async function cmd(additionalGitOptions, ...args) {
+ var _a;
core.debug(`Executing Git: ${args.join(' ')}`);
+ const serverUrl = getServerUrl((_a = github.context.payload.repository) === null || _a === void 0 ? void 0 : _a.html_url);
const userArgs = [
+ ...additionalGitOptions,
'-c',
'user.name=github-action-benchmark',
'-c',
'user.email=github@users.noreply.github.com',
'-c',
- 'http.https://github.com/.extraheader=', // This config is necessary to support actions/checkout@v2 (#9)
+ `http.${serverUrl}/.extraheader=`, // This config is necessary to support actions/checkout@v2 (#9)
];
const res = await capture('git', userArgs.concat(args));
if (res.code !== 0) {
@@ -65,39 +105,57 @@ async function cmd(...args) {
}
return res.stdout;
}
-exports.cmd = cmd;
-function getRemoteUrl(token) {
+function getCurrentRepoRemoteUrl(token) {
+ var _a;
const { repo, owner } = github.context.repo;
- return `https://x-access-token:${token}@github.com/${owner}/${repo}.git`;
+ const serverName = getServerName((_a = github.context.payload.repository) === null || _a === void 0 ? void 0 : _a.html_url);
+ return getRepoRemoteUrl(token, `${serverName}/${owner}/${repo}`);
+}
+function getRepoRemoteUrl(token, repoUrl) {
+ return `https://x-access-token:${token}@${repoUrl}.git`;
}
-async function push(token, branch, ...options) {
+async function push(token, repoUrl, branch, additionalGitOptions = [], ...options) {
core.debug(`Executing 'git push' to branch '${branch}' with token and options '${options.join(' ')}'`);
- const remote = getRemoteUrl(token);
+ const remote = repoUrl ? getRepoRemoteUrl(token, repoUrl) : getCurrentRepoRemoteUrl(token);
let args = ['push', remote, `${branch}:${branch}`, '--no-verify'];
if (options.length > 0) {
args = args.concat(options);
}
- return cmd(...args);
+ return cmd(additionalGitOptions, ...args);
}
-exports.push = push;
-async function pull(token, branch, ...options) {
+async function pull(token, branch, additionalGitOptions = [], ...options) {
core.debug(`Executing 'git pull' to branch '${branch}' with token and options '${options.join(' ')}'`);
- const remote = token !== undefined ? getRemoteUrl(token) : 'origin';
+ const remote = token !== undefined ? getCurrentRepoRemoteUrl(token) : 'origin';
let args = ['pull', remote, branch];
if (options.length > 0) {
args = args.concat(options);
}
- return cmd(...args);
+ return cmd(additionalGitOptions, ...args);
}
-exports.pull = pull;
-async function fetch(token, branch, ...options) {
+async function fetch(token, branch, additionalGitOptions = [], ...options) {
core.debug(`Executing 'git fetch' for branch '${branch}' with token and options '${options.join(' ')}'`);
- const remote = token !== undefined ? getRemoteUrl(token) : 'origin';
+ const remote = token !== undefined ? getCurrentRepoRemoteUrl(token) : 'origin';
let args = ['fetch', remote, `${branch}:${branch}`];
if (options.length > 0) {
args = args.concat(options);
}
- return cmd(...args);
+ return cmd(additionalGitOptions, ...args);
+}
+async function clone(token, ghRepository, baseDirectory, additionalGitOptions = [], ...options) {
+ core.debug(`Executing 'git clone' to directory '${baseDirectory}' with token and options '${options.join(' ')}'`);
+ const remote = getRepoRemoteUrl(token, ghRepository);
+ let args = ['clone', remote, baseDirectory];
+ if (options.length > 0) {
+ args = args.concat(options);
+ }
+ return cmd(additionalGitOptions, ...args);
+}
+async function checkout(ghRef, additionalGitOptions = [], ...options) {
+ core.debug(`Executing 'git checkout' to ref '${ghRef}' with token and options '${options.join(' ')}'`);
+ let args = ['checkout', ghRef];
+ if (options.length > 0) {
+ args = args.concat(options);
+ }
+ return cmd(additionalGitOptions, ...args);
}
-exports.fetch = fetch;
//# sourceMappingURL=git.js.map
\ No newline at end of file
diff --git a/dist/src/index.js b/dist/src/index.js
index ff527b2e2..a0d6ae481 100644
--- a/dist/src/index.js
+++ b/dist/src/index.js
@@ -1,7 +1,11 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
@@ -11,13 +15,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
}) : function(o, v) {
o["default"] = v;
});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
+var __importStar = (this && this.__importStar) || (function () {
+ var ownKeys = function(o) {
+ ownKeys = Object.getOwnPropertyNames || function (o) {
+ var ar = [];
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
+ return ar;
+ };
+ return ownKeys(o);
+ };
+ return function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
+ __setModuleDefault(result, mod);
+ return result;
+ };
+})();
Object.defineProperty(exports, "__esModule", { value: true });
const core = __importStar(require("@actions/core"));
const config_1 = require("./config");
diff --git a/dist/src/write.js b/dist/src/write.js
index f0dd47d87..f85efa3cd 100644
--- a/dist/src/write.js
+++ b/dist/src/write.js
@@ -1,7 +1,11 @@
"use strict";
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+ var desc = Object.getOwnPropertyDescriptor(m, k);
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
+ desc = { enumerable: true, get: function() { return m[k]; } };
+ }
+ Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
if (k2 === undefined) k2 = k;
o[k2] = m[k];
@@ -11,15 +15,27 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
}) : function(o, v) {
o["default"] = v;
});
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
- __setModuleDefault(result, mod);
- return result;
-};
+var __importStar = (this && this.__importStar) || (function () {
+ var ownKeys = function(o) {
+ ownKeys = Object.getOwnPropertyNames || function (o) {
+ var ar = [];
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
+ return ar;
+ };
+ return ownKeys(o);
+ };
+ return function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
+ __setModuleDefault(result, mod);
+ return result;
+ };
+})();
Object.defineProperty(exports, "__esModule", { value: true });
-exports.writeBenchmark = exports.SCRIPT_PREFIX = void 0;
+exports.SCRIPT_PREFIX = void 0;
+exports.buildComment = buildComment;
+exports.writeBenchmark = writeBenchmark;
const fs_1 = require("fs");
const path = __importStar(require("path"));
const io = __importStar(require("@actions/io"));
@@ -27,6 +43,9 @@ const core = __importStar(require("@actions/core"));
const github = __importStar(require("@actions/github"));
const git = __importStar(require("./git"));
const default_index_html_1 = require("./default_index_html");
+const leavePRComment_1 = require("./comment/leavePRComment");
+const leaveCommitComment_1 = require("./comment/leaveCommitComment");
+const addBenchmarkEntry_1 = require("./addBenchmarkEntry");
exports.SCRIPT_PREFIX = 'window.BENCHMARK_DATA = ';
const DEFAULT_DATA_JSON = {
lastUpdate: 0,
@@ -51,19 +70,20 @@ async function storeDataJs(dataPath, data) {
await fs_1.promises.writeFile(dataPath, script, 'utf8');
core.debug(`Overwrote ${dataPath} for adding new data`);
}
-async function addIndexHtmlIfNeeded(dir) {
- const indexHtml = path.join(dir, 'index.html');
+async function addIndexHtmlIfNeeded(additionalGitArguments, dir, baseDir) {
+ const indexHtmlRelativePath = path.join(dir, 'index.html');
+ const indexHtmlFullPath = path.join(baseDir, indexHtmlRelativePath);
try {
- await fs_1.promises.stat(indexHtml);
- core.debug(`Skipped to create default index.html since it is already existing: ${indexHtml}`);
+ await fs_1.promises.stat(indexHtmlFullPath);
+ core.debug(`Skipped to create default index.html since it is already existing: ${indexHtmlFullPath}`);
return;
}
catch (_) {
// Continue
}
- await fs_1.promises.writeFile(indexHtml, default_index_html_1.DEFAULT_INDEX_HTML, 'utf8');
- await git.cmd('add', indexHtml);
- console.log('Created default index.html at', indexHtml);
+ await fs_1.promises.writeFile(indexHtmlFullPath, default_index_html_1.DEFAULT_INDEX_HTML, 'utf8');
+ await git.cmd(additionalGitArguments, 'add', indexHtmlRelativePath);
+ console.log('Created default index.html at', indexHtmlFullPath);
}
function biggerIsBetter(tool) {
switch (tool) {
@@ -73,6 +93,8 @@ function biggerIsBetter(tool) {
return false;
case 'benchmarkjs':
return true;
+ case 'benchmarkluau':
+ return false;
case 'pytest':
return true;
case 'googlecpp':
@@ -81,6 +103,10 @@ function biggerIsBetter(tool) {
return false;
case 'julia':
return false;
+ case 'jmh':
+ return false;
+ case 'benchmarkdotnet':
+ return false;
case 'customBiggerIsBetter':
return true;
case 'customSmallerIsBetter':
@@ -96,9 +122,7 @@ function findAlerts(curSuite, prevSuite, threshold) {
core.debug(`Skipped because benchmark '${current.name}' is not found in previous benchmarks`);
continue;
}
- const ratio = biggerIsBetter(curSuite.tool)
- ? prev.value / current.value // e.g. current=100, prev=200
- : current.value / prev.value; // e.g. current=200, prev=100
+ const ratio = getRatio(curSuite.tool, prev, current);
if (ratio > threshold) {
core.warning(`Performance alert! Previous value was ${prev.value} and current value is ${current.value}.` +
` It is ${ratio}x worse than previous exceeding a ratio threshold ${threshold}`);
@@ -108,17 +132,22 @@ function findAlerts(curSuite, prevSuite, threshold) {
return alerts;
}
function getCurrentRepoMetadata() {
+ var _a;
const { repo, owner } = github.context.repo;
+ const serverUrl = git.getServerUrl((_a = github.context.payload.repository) === null || _a === void 0 ? void 0 : _a.html_url);
return {
name: repo,
owner: {
login: owner,
},
// eslint-disable-next-line @typescript-eslint/naming-convention
- html_url: `https://github.com/${owner}/${repo}`,
+ html_url: `${serverUrl}/${owner}/${repo}`,
};
}
function floatStr(n) {
+ if (!Number.isFinite(n)) {
+ return `${n > 0 ? '+' : '-'}∞`;
+ }
if (Number.isInteger(n)) {
return n.toFixed(0);
}
@@ -141,11 +170,11 @@ function commentFooter() {
const actionUrl = repoUrl + '/actions?query=workflow%3A' + encodeURIComponent(github.context.workflow);
return `This comment was automatically generated by [workflow](${actionUrl}) using [github-action-benchmark](https://github.com/marketplace/actions/continuous-benchmark).`;
}
-function buildComment(benchName, curSuite, prevSuite) {
+function buildComment(benchName, curSuite, prevSuite, expandableDetails = true) {
const lines = [
`# ${benchName}`,
'',
- '',
+ expandableDetails ? '' : '',
'',
`| Benchmark suite | Current: ${curSuite.commit.id} | Previous: ${prevSuite.commit.id} | Ratio |`,
'|-|-|-|-|',
@@ -154,9 +183,7 @@ function buildComment(benchName, curSuite, prevSuite) {
let line;
const prev = prevSuite.benches.find((i) => i.name === current.name);
if (prev) {
- const ratio = biggerIsBetter(curSuite.tool)
- ? prev.value / current.value // e.g. current=100, prev=200
- : current.value / prev.value;
+ const ratio = getRatio(curSuite.tool, prev, current);
line = `| \`${current.name}\` | ${strVal(current)} | ${strVal(prev)} | \`${floatStr(ratio)}\` |`;
}
else {
@@ -165,7 +192,7 @@ function buildComment(benchName, curSuite, prevSuite) {
lines.push(line);
}
// Footer
- lines.push('', ' ', '', commentFooter());
+ lines.push('', expandableDetails ? ' ' : '', '', commentFooter());
return lines.join('\n');
}
function buildAlertComment(alerts, benchName, curSuite, prevSuite, threshold, cc) {
@@ -194,22 +221,13 @@ function buildAlertComment(alerts, benchName, curSuite, prevSuite, threshold, cc
}
return lines.join('\n');
}
-async function leaveComment(commitId, body, token) {
- var _a;
+async function leaveComment(commitId, body, commentId, token) {
core.debug('Sending comment:\n' + body);
const repoMetadata = getCurrentRepoMetadata();
- const repoUrl = (_a = repoMetadata.html_url) !== null && _a !== void 0 ? _a : '';
- const client = new github.GitHub(token);
- const res = await client.repos.createCommitComment({
- owner: repoMetadata.owner.login,
- repo: repoMetadata.name,
- // eslint-disable-next-line @typescript-eslint/naming-convention
- commit_sha: commitId,
- body,
- });
- const commitUrl = `${repoUrl}/commit/${commitId}`;
- console.log(`Comment was sent to ${commitUrl}. Response:`, res.status, res.data);
- return res;
+ const pr = github.context.payload.pull_request;
+ return await ((pr === null || pr === void 0 ? void 0 : pr.number)
+ ? (0, leavePRComment_1.leavePRComment)(repoMetadata.owner.login, repoMetadata.name, pr.number, body, commentId, token)
+ : (0, leaveCommitComment_1.leaveCommitComment)(repoMetadata.owner.login, repoMetadata.name, commitId, body, commentId, token));
}
async function handleComment(benchName, curSuite, prevSuite, config) {
const { commentAlways, githubToken } = config;
@@ -222,7 +240,7 @@ async function handleComment(benchName, curSuite, prevSuite, config) {
}
core.debug('Commenting about benchmark comparison');
const body = buildComment(benchName, curSuite, prevSuite);
- await leaveComment(curSuite.commit.id, body, githubToken);
+ await leaveComment(curSuite.commit.id, body, `${benchName} Summary`, githubToken);
}
async function handleAlert(benchName, curSuite, prevSuite, config) {
const { alertThreshold, githubToken, commentOnAlert, failOnAlert, alertCommentCcUsers, failThreshold } = config;
@@ -238,13 +256,12 @@ async function handleAlert(benchName, curSuite, prevSuite, config) {
core.debug(`Found ${alerts.length} alerts`);
const body = buildAlertComment(alerts, benchName, curSuite, prevSuite, alertThreshold, alertCommentCcUsers);
let message = body;
- let url = null;
if (commentOnAlert) {
if (!githubToken) {
throw new Error("'comment-on-alert' input is set but 'github-token' input is not set");
}
- const res = await leaveComment(curSuite.commit.id, body, githubToken);
- url = res.data.html_url;
+ const res = await leaveComment(curSuite.commit.id, body, `${benchName} Alert`, githubToken);
+ const url = res.data.html_url;
message = body + `\nComment was generated at ${url}`;
}
if (failOnAlert) {
@@ -262,7 +279,7 @@ async function handleAlert(benchName, curSuite, prevSuite, config) {
}
else {
core.debug(`${len} alerts exceeding the alert threshold ${alertThreshold} were found but` +
- ` all of them did not exceed the failure threshold ${threshold}`);
+ ` none of them exceeded the failure threshold ${threshold}`);
}
}
}
@@ -270,30 +287,10 @@ function addBenchmarkToDataJson(benchName, bench, data, maxItems) {
var _a;
const repoMetadata = getCurrentRepoMetadata();
const htmlUrl = (_a = repoMetadata.html_url) !== null && _a !== void 0 ? _a : '';
- let prevBench = null;
data.lastUpdate = Date.now();
data.repoUrl = htmlUrl;
- // Add benchmark result
- if (data.entries[benchName] === undefined) {
- data.entries[benchName] = [bench];
- core.debug(`No suite was found for benchmark '${benchName}' in existing data. Created`);
- }
- else {
- const suites = data.entries[benchName];
- // Get last suite which has different commit ID for alert comment
- for (const e of suites.slice().reverse()) {
- if (e.commit.id !== bench.commit.id) {
- prevBench = e;
- break;
- }
- }
- suites.push(bench);
- if (maxItems !== null && suites.length > maxItems) {
- suites.splice(0, suites.length - maxItems);
- core.debug(`Number of data items for '${benchName}' was truncated to ${maxItems} due to max-items-in-charts`);
- }
- }
- return prevBench;
+ const { prevBench, normalizedCurrentBench } = (0, addBenchmarkEntry_1.addBenchmarkEntry)(benchName, bench, data.entries, maxItems);
+ return { prevBench, normalizedCurrentBench };
}
function isRemoteRejectedError(err) {
if (err instanceof Error) {
@@ -303,27 +300,51 @@ function isRemoteRejectedError(err) {
}
async function writeBenchmarkToGitHubPagesWithRetry(bench, config, retry) {
var _a, _b;
- const { name, tool, ghPagesBranch, benchmarkDataDirPath, githubToken, autoPush, skipFetchGhPages, maxItemsInChart, } = config;
- const dataPath = path.join(benchmarkDataDirPath, 'data.js');
+ const { name, tool, ghPagesBranch, ghRepository, benchmarkDataDirPath, githubToken, autoPush, skipFetchGhPages, maxItemsInChart, } = config;
+ const rollbackActions = new Array();
// FIXME: This payload is not available on `schedule:` or `workflow_dispatch:` events.
const isPrivateRepo = (_b = (_a = github.context.payload.repository) === null || _a === void 0 ? void 0 : _a.private) !== null && _b !== void 0 ? _b : false;
- if (!skipFetchGhPages && (!isPrivateRepo || githubToken)) {
+ let benchmarkBaseDir = './';
+ let extraGitArguments = [];
+ if (githubToken && !skipFetchGhPages && ghRepository) {
+ benchmarkBaseDir = './benchmark-data-repository';
+ await git.clone(githubToken, ghRepository, benchmarkBaseDir);
+ rollbackActions.push(async () => {
+ await io.rmRF(benchmarkBaseDir);
+ });
+ extraGitArguments = [`--work-tree=${benchmarkBaseDir}`, `--git-dir=${benchmarkBaseDir}/.git`];
+ await git.checkout(ghPagesBranch, extraGitArguments);
+ }
+ else if (!skipFetchGhPages && (!isPrivateRepo || githubToken)) {
await git.pull(githubToken, ghPagesBranch);
}
else if (isPrivateRepo && !skipFetchGhPages) {
core.warning("'git pull' was skipped. If you want to ensure GitHub Pages branch is up-to-date " +
"before generating a commit, please set 'github-token' input to pull GitHub pages branch");
}
- await io.mkdirP(benchmarkDataDirPath);
+ else {
+ console.warn('NOTHING EXECUTED:', {
+ skipFetchGhPages,
+ ghRepository,
+ isPrivateRepo,
+ githubToken: !!githubToken,
+ });
+ }
+ // `benchmarkDataDirPath` is an absolute path at this stage,
+ // so we need to convert it to relative to be able to prepend the `benchmarkBaseDir`
+ const benchmarkDataRelativeDirPath = path.relative(process.cwd(), benchmarkDataDirPath);
+ const benchmarkDataDirFullPath = path.join(benchmarkBaseDir, benchmarkDataRelativeDirPath);
+ const dataPath = path.join(benchmarkDataDirFullPath, 'data.js');
+ await io.mkdirP(benchmarkDataDirFullPath);
const data = await loadDataJs(dataPath);
- const prevBench = addBenchmarkToDataJson(name, bench, data, maxItemsInChart);
+ const { prevBench, normalizedCurrentBench } = addBenchmarkToDataJson(name, bench, data, maxItemsInChart);
await storeDataJs(dataPath, data);
- await git.cmd('add', dataPath);
- await addIndexHtmlIfNeeded(benchmarkDataDirPath);
- await git.cmd('commit', '-m', `add ${name} (${tool}) benchmark result for ${bench.commit.id}`);
+ await git.cmd(extraGitArguments, 'add', path.join(benchmarkDataRelativeDirPath, 'data.js'));
+ await addIndexHtmlIfNeeded(extraGitArguments, benchmarkDataRelativeDirPath, benchmarkBaseDir);
+ await git.cmd(extraGitArguments, 'commit', '-m', `add ${name} (${tool}) benchmark result for ${bench.commit.id}`);
if (githubToken && autoPush) {
try {
- await git.push(githubToken, ghPagesBranch);
+ await git.push(githubToken, ghRepository, ghPagesBranch, extraGitArguments);
console.log(`Automatically pushed the generated commit to ${ghPagesBranch} branch since 'auto-push' is set to true`);
}
catch (err) {
@@ -334,7 +355,11 @@ async function writeBenchmarkToGitHubPagesWithRetry(bench, config, retry) {
core.warning(`Auto-push failed because the remote ${ghPagesBranch} was updated after git pull`);
if (retry > 0) {
core.debug('Rollback the auto-generated commit before retry');
- await git.cmd('reset', '--hard', 'HEAD~1');
+ await git.cmd(extraGitArguments, 'reset', '--hard', 'HEAD~1');
+ // we need to rollback actions in order so not running them concurrently
+ for (const action of rollbackActions) {
+ await action();
+ }
core.warning(`Retrying to generate a commit and push to remote ${ghPagesBranch} with retry count ${retry}...`);
return await writeBenchmarkToGitHubPagesWithRetry(bench, config, retry - 1); // Recursively retry
}
@@ -347,20 +372,24 @@ async function writeBenchmarkToGitHubPagesWithRetry(bench, config, retry) {
else {
core.debug(`Auto-push to ${ghPagesBranch} is skipped because it requires both 'github-token' and 'auto-push' inputs`);
}
- return prevBench;
+ return { prevBench, normalizedCurrentBench };
}
async function writeBenchmarkToGitHubPages(bench, config) {
- const { ghPagesBranch, skipFetchGhPages, githubToken } = config;
- if (!skipFetchGhPages) {
- await git.fetch(githubToken, ghPagesBranch);
+ const { ghPagesBranch, skipFetchGhPages, ghRepository, githubToken } = config;
+ if (!ghRepository) {
+ if (!skipFetchGhPages) {
+ await git.fetch(githubToken, ghPagesBranch);
+ }
+ await git.cmd([], 'switch', ghPagesBranch);
}
- await git.cmd('switch', ghPagesBranch);
try {
return await writeBenchmarkToGitHubPagesWithRetry(bench, config, 10);
}
finally {
- // `git switch` does not work for backing to detached head
- await git.cmd('checkout', '-');
+ if (!ghRepository) {
+ // `git switch` does not work for backing to detached head
+ await git.cmd([], 'checkout', '-');
+ }
}
}
async function loadDataJson(jsonPath) {
@@ -378,10 +407,10 @@ async function loadDataJson(jsonPath) {
async function writeBenchmarkToExternalJson(bench, jsonFilePath, config) {
const { name, maxItemsInChart, saveDataFile } = config;
const data = await loadDataJson(jsonFilePath);
- const prevBench = addBenchmarkToDataJson(name, bench, data, maxItemsInChart);
+ const { prevBench, normalizedCurrentBench } = addBenchmarkToDataJson(name, bench, data, maxItemsInChart);
if (!saveDataFile) {
core.debug('Skipping storing benchmarks in external data file');
- return prevBench;
+ return { prevBench, normalizedCurrentBench };
}
try {
const jsonDirPath = path.dirname(jsonFilePath);
@@ -391,11 +420,11 @@ async function writeBenchmarkToExternalJson(bench, jsonFilePath, config) {
catch (err) {
throw new Error(`Could not store benchmark data as JSON at ${jsonFilePath}: ${err}`);
}
- return prevBench;
+ return { prevBench, normalizedCurrentBench };
}
async function writeBenchmark(bench, config) {
const { name, externalDataJsonPath } = config;
- const prevBench = externalDataJsonPath
+ const { prevBench, normalizedCurrentBench } = externalDataJsonPath
? await writeBenchmarkToExternalJson(bench, externalDataJsonPath, config)
: await writeBenchmarkToGitHubPages(bench, config);
// Put this after `git push` for reducing possibility to get conflict on push. Since sending
@@ -404,9 +433,28 @@ async function writeBenchmark(bench, config) {
core.debug('Alert check was skipped because previous benchmark result was not found');
}
else {
- await handleComment(name, bench, prevBench, config);
- await handleAlert(name, bench, prevBench, config);
+ await handleComment(name, normalizedCurrentBench, prevBench, config);
+ await handleSummary(name, normalizedCurrentBench, prevBench, config);
+ await handleAlert(name, normalizedCurrentBench, prevBench, config);
}
}
-exports.writeBenchmark = writeBenchmark;
+async function handleSummary(benchName, currBench, prevBench, config) {
+ const { summaryAlways } = config;
+ if (!summaryAlways) {
+ core.debug('Summary was skipped because summary-always is disabled');
+ return;
+ }
+ const body = buildComment(benchName, currBench, prevBench, false);
+ const summary = core.summary.addRaw(body);
+ core.debug('Writing a summary about benchmark comparison');
+ core.debug(summary.stringify());
+ await summary.write();
+}
+function getRatio(tool, prev, current) {
+ if (prev.value === 0 && current.value === 0)
+ return 1;
+ return biggerIsBetter(tool)
+ ? prev.value / current.value // e.g. current=100, prev=200
+ : current.value / prev.value; // e.g. current=200, prev=100
+}
//# sourceMappingURL=write.js.map
\ No newline at end of file
diff --git a/examples/benchmarkdotnet/Benchmarks.cs b/examples/benchmarkdotnet/Benchmarks.cs
new file mode 100644
index 000000000..d9f79c816
--- /dev/null
+++ b/examples/benchmarkdotnet/Benchmarks.cs
@@ -0,0 +1,23 @@
+using BenchmarkDotNet.Attributes;
+
+namespace Sample
+{
+ public class Benchmarks
+ {
+ public static int Fib(int n) {
+ switch (n)
+ {
+ case 0: return 0;
+ case 1: return 1;
+ default:
+ return Fib(n-2) + Fib(2-1);
+ }
+ }
+
+ [Benchmark]
+ public void Fib10() => Fib(10);
+
+ [Benchmark]
+ public void Fib20() => Fib(20);
+ }
+}
diff --git a/examples/benchmarkdotnet/Program.cs b/examples/benchmarkdotnet/Program.cs
new file mode 100644
index 000000000..f12c00f3e
--- /dev/null
+++ b/examples/benchmarkdotnet/Program.cs
@@ -0,0 +1,9 @@
+using BenchmarkDotNet.Running;
+
+namespace Sample
+{
+ public class Program
+ {
+ public static void Main(string[] args) => BenchmarkSwitcher.FromAssembly(typeof(Program).Assembly).Run(args);
+ }
+}
\ No newline at end of file
diff --git a/examples/benchmarkdotnet/README.md b/examples/benchmarkdotnet/README.md
new file mode 100644
index 000000000..8810c884b
--- /dev/null
+++ b/examples/benchmarkdotnet/README.md
@@ -0,0 +1,90 @@
+C# example for benchmarking with `Benchmark.Net`
+================================================
+
+- [Workflow for this example](../../.github/workflows/benchmarkdotnet.yml)
+- [Action log of this example](https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Benchmark.Net+example%22)
+- [Benchmark results on GitHub pages](https://benchmark-action.github.io/github-action-benchmark/dev/bench/)
+
+This directory shows how to use [`github-action-benchmark`](https://github.com/benchmark-action/github-action-benchmark)
+with [`BenchmarkDotNet`](https://benchmarkdotnet.org/).
+
+## Run benchmarks
+
+Official documentation for usage of `BenchmarkDotNet`:
+
+https://benchmarkdotnet.org/articles/overview.html
+
+You should add the `BenchmarkDotNet` package to your test project and configure your tests according to the [Getting Started](https://benchmarkdotnet.org/articles/guides/getting-started.html) docs. A simple test file might look like
+
+
+```csharp
+using System;
+using System.Security.Cryptography;
+using BenchmarkDotNet.Attributes;
+using BenchmarkDotNet.Running;
+
+namespace MyBenchmarks
+{
+ [JsonExporterAttribute.Full]
+ [JsonExporterAttribute.FullCompressed]
+ public class Md5VsSha256
+ {
+ private const int N = 10000;
+ private readonly byte[] data;
+
+ private readonly SHA256 sha256 = SHA256.Create();
+ private readonly MD5 md5 = MD5.Create();
+
+ public Md5VsSha256()
+ {
+ data = new byte[N];
+ new Random(42).NextBytes(data);
+ }
+
+ [Benchmark]
+ public byte[] Sha256() => sha256.ComputeHash(data);
+
+ [Benchmark]
+ public byte[] Md5() => md5.ComputeHash(data);
+ }
+
+ public class Program
+ {
+ public static void Main(string[] args)
+ {
+ var summary = BenchmarkRunner.Run();
+ }
+ }
+}
+```
+
+You can then run the tests using `dotnet run`. It's _very_ important that you ensure the JSON exporter is configured. You can do this by adding at least one of the exporter attributes in the example above, or by using the `BenchmarkSwitcher` type to run your tests, passing in your `args`, and using `--exporters json` from the command line.
+
+## Process benchmark results
+
+Store the benchmark results with step using the action. Please set `benchmarkdotnet` to `tool` input.
+
+By default, BenchmarkDotNet will output results files to the current directory in a structure like:
+
+```
+BenchmarkDotNet.Artifacts
+├── Sample.Benchmarks-20200529-153703.log
+├── Sample.Benchmarks-20200529-153729.log
+└── results
+ ├── Sample.Benchmarks-report-full-compressed.json
+ ├── Sample.Benchmarks-report-github.md
+ ├── Sample.Benchmarks-report.csv
+ └── Sample.Benchmarks-report.html
+```
+
+You want to get the path of the `-report-full-compressed.json` report for use with this action. Once you have both pieces of data, use the action like so, replacing the output file path with your own path.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'benchmarkdotnet'
+ output-file-path: BenchmarkDotNet.Artifacts/results/Sample.Benchmarks-report-full-compressed.json
+```
+
+Please read [How to use section](https://github.com/benchmark-action/github-action-benchmark#how-to-use) for common usage.
diff --git a/examples/benchmarkdotnet/Sample.csproj b/examples/benchmarkdotnet/Sample.csproj
new file mode 100644
index 000000000..3f2769425
--- /dev/null
+++ b/examples/benchmarkdotnet/Sample.csproj
@@ -0,0 +1,17 @@
+
+
+ net6.0
+ Exe
+
+
+ AnyCPU
+ portable
+ true
+ true
+ true
+ Release
+
+
+
+
+
\ No newline at end of file
diff --git a/examples/benchmarkdotnet/global.json b/examples/benchmarkdotnet/global.json
new file mode 100644
index 000000000..e52d340bc
--- /dev/null
+++ b/examples/benchmarkdotnet/global.json
@@ -0,0 +1,5 @@
+{
+ "sdk": {
+ "version": "6.0.101"
+ }
+}
diff --git a/examples/benchmarkjs/.gitignore b/examples/benchmarkjs/.gitignore
new file mode 100644
index 000000000..d50251241
--- /dev/null
+++ b/examples/benchmarkjs/.gitignore
@@ -0,0 +1,2 @@
+/node_modules
+/package-lock.json
diff --git a/examples/benchmarkjs/README.md b/examples/benchmarkjs/README.md
new file mode 100644
index 000000000..b4621f264
--- /dev/null
+++ b/examples/benchmarkjs/README.md
@@ -0,0 +1,62 @@
+JavaScript example for benchmarking with [benchmark.js][tool]
+=============================================================
+
+- [Workflow for this example](../../.github/workflows/benchmarkjs.yml)
+- [Action log of this example](https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Benchmark.js+Example%22)
+- [Benchmark results on GitHub pages](https://benchmark-action.github.io/github-action-benchmark/dev/bench/)
+
+This directory shows how to use [`github-action-benchmark`](https://github.com/benchmark-action/github-action-benchmark)
+with [benchmark.js][tool].
+
+## Run benchmarks
+
+Official documentation for usage of benchmark.js:
+
+https://benchmarkjs.com/
+
+Prepare script `bench.js` as follows:
+
+e.g.
+
+```javascript
+const Benchmark = require('benchmark');
+const suite = new Benchmark.Suite();
+
+suite
+ .add('some test case', () => {
+ // ...
+ })
+ .on('cycle', event => {
+ // Output benchmark result by converting benchmark result to string
+ console.log(String(event.target));
+ })
+ .run();
+```
+
+Ensure the output includes string values converted from benchmark results.
+This action extracts measured values fron the output.
+
+Run the script in workflow:
+
+e.g.
+
+```yaml
+- name: Run benchmark
+ run: node bench.js | tee output.txt
+```
+
+## Process benchmark results
+
+Store the benchmark results with step using the action. Please set `benchmarkjs` to `tool` input.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'benchmarkjs'
+ output-file-path: output.txt
+```
+
+Please read ['How to use' section](https://github.com/benchmark-action/github-action-benchmark#how-to-use) for common usage.
+
+[tool]: https://benchmarkjs.com/
diff --git a/examples/benchmarkjs/bench.js b/examples/benchmarkjs/bench.js
new file mode 100644
index 000000000..2cc518338
--- /dev/null
+++ b/examples/benchmarkjs/bench.js
@@ -0,0 +1,15 @@
+const Benchmark = require('benchmark');
+const suite = new Benchmark.Suite();
+const { fib } = require('./index');
+
+suite
+ .add('fib(10)', () => {
+ fib(10);
+ })
+ .add('fib(20)', () => {
+ fib(20);
+ })
+ .on('cycle', (event) => {
+ console.log(String(event.target));
+ })
+ .run();
diff --git a/examples/benchmarkjs/index.js b/examples/benchmarkjs/index.js
new file mode 100644
index 000000000..868afdd58
--- /dev/null
+++ b/examples/benchmarkjs/index.js
@@ -0,0 +1,8 @@
+function fib(n) {
+ if (n <= 1) {
+ return 1;
+ }
+ return fib(n - 2) + fib(n - 1);
+}
+
+exports.fib = fib;
diff --git a/examples/benchmarkjs/package.json b/examples/benchmarkjs/package.json
new file mode 100644
index 000000000..2a27c0fd6
--- /dev/null
+++ b/examples/benchmarkjs/package.json
@@ -0,0 +1,15 @@
+{
+ "name": "benchmark-example",
+ "private": true,
+ "version": "0.0.0",
+ "description": "",
+ "main": "index.js",
+ "scripts": {
+ "test": "echo \"Error: no test specified\" && exit 1"
+ },
+ "author": "rhysd (https://rhysd.github.io/)",
+ "license": "MIT",
+ "devDependencies": {
+ "benchmark": "^2.1.4"
+ }
+}
diff --git a/examples/catch2/.gitignore b/examples/catch2/.gitignore
new file mode 100644
index 000000000..567609b12
--- /dev/null
+++ b/examples/catch2/.gitignore
@@ -0,0 +1 @@
+build/
diff --git a/examples/catch2/CMakeLists.txt b/examples/catch2/CMakeLists.txt
new file mode 100644
index 000000000..844f5324e
--- /dev/null
+++ b/examples/catch2/CMakeLists.txt
@@ -0,0 +1,26 @@
+cmake_minimum_required(VERSION 3.12)
+project("Catch2_bench")
+
+include(FetchContent)
+
+FetchContent_Declare(
+ catch2
+ GIT_REPOSITORY https://github.com/catchorg/Catch2.git
+ GIT_TAG v3.6.0)
+
+FetchContent_GetProperties(catch2)
+if(NOT catch2_POPULATED)
+ FetchContent_Populate(catch2)
+ add_subdirectory(${catch2_SOURCE_DIR} ${catch2_BINARY_DIR})
+endif()
+
+add_executable(${PROJECT_NAME})
+target_sources(${PROJECT_NAME} PRIVATE catch2_bench.cpp)
+target_link_libraries(${PROJECT_NAME} Catch2::Catch2WithMain)
+
+target_compile_options(
+ ${PROJECT_NAME}
+ PRIVATE
+ $<$:/DCATCH_CONFIG_ENABLE_BENCHMARKING>
+ $<$,$,$>:-DCATCH_CONFIG_ENABLE_BENCHMARKING>
+)
diff --git a/examples/catch2/README.md b/examples/catch2/README.md
new file mode 100644
index 000000000..b22944b36
--- /dev/null
+++ b/examples/catch2/README.md
@@ -0,0 +1,68 @@
+C++ example for benchmarking with [Catch2 Framework][tool]
+====================================================================
+
+- [Workflow for this example](../../.github/workflows/catch2.yml)
+- [Action log of this example](https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Catch2+C%2B%2B+Example%22)
+- [Benchmark results on GitHub pages](https://benchmark-action.github.io/github-action-benchmark/dev/bench/)
+
+This directory shows how to use [`github-action-benchmark`][action] with [Catch2 Framework][tool].
+
+
+
+## Run benchmarks
+
+Official documentation for usage of Catch2 Framework can be found in its repository:
+
+https://github.com/catchorg/Catch2
+
+Since Catch2 is a header-only test framework, you don't need to build it in advance.
+Download and put the headers in your `include` directory and write your benchmarks.
+
+```cpp
+#define CATCH_CONFIG_MAIN
+#include
+
+TEST_CASE("Fibonacci") {
+ // now let's benchmark:
+ BENCHMARK("Some benchmark") {
+ // Your benchmark goes here
+ };
+}
+```
+
+Build the source with C++ compiler and run the built executable to get the benchmark output.
+Ensure to use `console` reporter for this. `xml` reporter may be supported in the future.
+
+
+
+## Process benchmark results
+
+Store the benchmark results with step using the action. Please set `catch2` to `tool` input.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'catch2'
+ output-file-path: benchmark_result.json
+```
+
+Please read ['How to use' section](https://github.com/benchmark-action/github-action-benchmark#how-to-use) for common usage.
+
+
+
+## Run this example
+
+To try this example, please use [cmake](./CMakeLists.txt) and `clang++`.
+
+```sh
+$ mkdir build
+$ cd build
+$ cmake -DCMAKE_BUILD_TYPE=Release ..
+$ cmake --build . --config Release
+```
+
+This will create `Catch2_bench` executable. The results are output to stdout.
+
+[tool]: https://github.com/catchorg/Catch2
+[action]: https://github.com/benchmark-action/github-action-benchmark
diff --git a/examples/catch2/catch2_bench.cpp b/examples/catch2/catch2_bench.cpp
new file mode 100644
index 000000000..b0f58cb45
--- /dev/null
+++ b/examples/catch2/catch2_bench.cpp
@@ -0,0 +1,11 @@
+#include "fib.hpp"
+#include
+#include
+
+TEST_CASE("Fibonacci") {
+
+ // now let's benchmark:
+ BENCHMARK("Fibonacci 10") { return fib(10); };
+
+ BENCHMARK("Fibonacci 20") { return fib(20); };
+}
diff --git a/examples/catch2/fib.hpp b/examples/catch2/fib.hpp
new file mode 100644
index 000000000..559e886c8
--- /dev/null
+++ b/examples/catch2/fib.hpp
@@ -0,0 +1,11 @@
+#if !defined FIB_HPP_INCLUDED
+#define FIB_HPP_INCLUDED
+
+int fib(int const i) {
+ if (i <= 1) {
+ return 1;
+ }
+ return fib(i - 2) + fib(i - 1);
+}
+
+#endif // FIB_HPP_INCLUDED
diff --git a/examples/catch2_v2/.gitignore b/examples/catch2_v2/.gitignore
new file mode 100644
index 000000000..567609b12
--- /dev/null
+++ b/examples/catch2_v2/.gitignore
@@ -0,0 +1 @@
+build/
diff --git a/examples/catch2_v2/CMakeLists.txt b/examples/catch2_v2/CMakeLists.txt
new file mode 100644
index 000000000..5d0ba3153
--- /dev/null
+++ b/examples/catch2_v2/CMakeLists.txt
@@ -0,0 +1,26 @@
+cmake_minimum_required(VERSION 3.12)
+project("Catch2_bench")
+
+include(FetchContent)
+
+FetchContent_Declare(
+ catch2
+ GIT_REPOSITORY https://github.com/catchorg/Catch2.git
+ GIT_TAG v2.13.10)
+
+FetchContent_GetProperties(catch2)
+if(NOT catch2_POPULATED)
+ FetchContent_Populate(catch2)
+ add_subdirectory(${catch2_SOURCE_DIR} ${catch2_BINARY_DIR})
+endif()
+
+add_executable(${PROJECT_NAME})
+target_sources(${PROJECT_NAME} PRIVATE catch2_bench.cpp)
+target_link_libraries(${PROJECT_NAME} Catch2::Catch2)
+
+target_compile_options(
+ ${PROJECT_NAME}
+ PRIVATE
+ $<$:/DCATCH_CONFIG_ENABLE_BENCHMARKING>
+ $<$,$,$>:-DCATCH_CONFIG_ENABLE_BENCHMARKING>
+)
diff --git a/examples/catch2_v2/README.md b/examples/catch2_v2/README.md
new file mode 100644
index 000000000..b22944b36
--- /dev/null
+++ b/examples/catch2_v2/README.md
@@ -0,0 +1,68 @@
+C++ example for benchmarking with [Catch2 Framework][tool]
+====================================================================
+
+- [Workflow for this example](../../.github/workflows/catch2.yml)
+- [Action log of this example](https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Catch2+C%2B%2B+Example%22)
+- [Benchmark results on GitHub pages](https://benchmark-action.github.io/github-action-benchmark/dev/bench/)
+
+This directory shows how to use [`github-action-benchmark`][action] with [Catch2 Framework][tool].
+
+
+
+## Run benchmarks
+
+Official documentation for usage of Catch2 Framework can be found in its repository:
+
+https://github.com/catchorg/Catch2
+
+Since Catch2 is a header-only test framework, you don't need to build it in advance.
+Download and put the headers in your `include` directory and write your benchmarks.
+
+```cpp
+#define CATCH_CONFIG_MAIN
+#include
+
+TEST_CASE("Fibonacci") {
+ // now let's benchmark:
+ BENCHMARK("Some benchmark") {
+ // Your benchmark goes here
+ };
+}
+```
+
+Build the source with C++ compiler and run the built executable to get the benchmark output.
+Ensure to use `console` reporter for this. `xml` reporter may be supported in the future.
+
+
+
+## Process benchmark results
+
+Store the benchmark results with step using the action. Please set `catch2` to `tool` input.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'catch2'
+ output-file-path: benchmark_result.json
+```
+
+Please read ['How to use' section](https://github.com/benchmark-action/github-action-benchmark#how-to-use) for common usage.
+
+
+
+## Run this example
+
+To try this example, please use [cmake](./CMakeLists.txt) and `clang++`.
+
+```sh
+$ mkdir build
+$ cd build
+$ cmake -DCMAKE_BUILD_TYPE=Release ..
+$ cmake --build . --config Release
+```
+
+This will create `Catch2_bench` executable. The results are output to stdout.
+
+[tool]: https://github.com/catchorg/Catch2
+[action]: https://github.com/benchmark-action/github-action-benchmark
diff --git a/examples/catch2_v2/catch2_bench.cpp b/examples/catch2_v2/catch2_bench.cpp
new file mode 100644
index 000000000..4c2880410
--- /dev/null
+++ b/examples/catch2_v2/catch2_bench.cpp
@@ -0,0 +1,11 @@
+#include "fib.hpp"
+#define CATCH_CONFIG_MAIN
+#include
+
+TEST_CASE("Fibonacci") {
+
+ // now let's benchmark:
+ BENCHMARK("Fibonacci 10") { return fib(10); };
+
+ BENCHMARK("Fibonacci 20") { return fib(20); };
+}
diff --git a/examples/catch2_v2/fib.hpp b/examples/catch2_v2/fib.hpp
new file mode 100644
index 000000000..559e886c8
--- /dev/null
+++ b/examples/catch2_v2/fib.hpp
@@ -0,0 +1,11 @@
+#if !defined FIB_HPP_INCLUDED
+#define FIB_HPP_INCLUDED
+
+int fib(int const i) {
+ if (i <= 1) {
+ return 1;
+ }
+ return fib(i - 2) + fib(i - 1);
+}
+
+#endif // FIB_HPP_INCLUDED
diff --git a/examples/cpp/.gitignore b/examples/cpp/.gitignore
new file mode 100644
index 000000000..a52ac63ae
--- /dev/null
+++ b/examples/cpp/.gitignore
@@ -0,0 +1,3 @@
+/benchmark
+/a.out
+/benchmark_result.json
diff --git a/examples/cpp/Makefile b/examples/cpp/Makefile
new file mode 100644
index 000000000..0b7cc6dc6
--- /dev/null
+++ b/examples/cpp/Makefile
@@ -0,0 +1,27 @@
+bench: a.out
+ ./a.out
+
+json: a.out
+ ./a.out --benchmark_format=json | tee benchmark_result.json
+
+a.out: benchmark/build/src/libbenchmark.a bench.cpp fib.hpp
+ clang++ -std=c++14 -O3 -I ./benchmark/include -L ./benchmark/build/src/ -pthread bench.cpp -l benchmark
+
+benchmark/build/src/libbenchmark.a: benchmark/build benchmark/googletest
+ cd ./benchmark/build && \
+ cmake -DCMAKE_BUILD_TYPE=Release -DBENCHMARK_ENABLE_TESTING=true ../ && \
+ make -j
+
+benchmark/build: benchmark
+ mkdir -p benchmark/build
+
+benchmark:
+ [ -d benchmark ] || git clone --depth=1 --single-branch --branch v1.9.3 https://github.com/google/benchmark.git benchmark
+
+benchmark/googletest: benchmark
+ [ -d benchmark/googletest ] || git clone --depth=1 --single-branch --branch release-1.12.1 https://github.com/google/googletest.git benchmark/googletest
+
+clean:
+ rm -rf a.out benchmark
+
+.PHONY: bench json clean
diff --git a/examples/cpp/README.md b/examples/cpp/README.md
new file mode 100644
index 000000000..5151b1853
--- /dev/null
+++ b/examples/cpp/README.md
@@ -0,0 +1,99 @@
+C++ example for benchmarking with [Google Benchmark Framework][tool]
+====================================================================
+
+- [Workflow for this example](../../.github/workflows/cpp.yml)
+- [Action log of this example](https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22C%2B%2B+Example%22)
+- [Benchmark results on GitHub pages](https://benchmark-action.github.io/github-action-benchmark/dev/bench/)
+
+This directory shows how to use [`github-action-benchmark`][action] with [Google Benchmark Framework][tool].
+
+## Run benchmarks
+
+Official documentation for usage of Google Benchmark Framework:
+
+https://github.com/google/benchmark
+
+Build and install `benchmark` library and write up your benchmark suites following instructions in
+the above repository:
+
+```cpp
+#include "benchmark/benchmark.h"
+
+static void bench1(benchmark::State &state) {
+ for (auto _ : state) {
+ // Your benchmark goes here
+ }
+}
+
+// Register the function as a benchmark
+BENCHMARK(bench1);
+
+// Run the benchmark
+BENCHMARK_MAIN();
+```
+
+Build the source with C++ compiler:
+
+```sh
+$ clang++ -std=c++14 -O3 -l benchmark bench.cpp
+```
+
+And run built executable to output the result in JSON format:
+
+```sh
+$ ./a.out --benchmark_format=json | tee benchmark_result.json
+```
+
+## Process benchmark results
+
+Store the benchmark results with step using the action. Please set `googlecpp` to `tool` input.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'googlecpp'
+ output-file-path: benchmark_result.json
+```
+
+Please read ['How to use' section](https://github.com/benchmark-action/github-action-benchmark#how-to-use) for common usage.
+
+## Run this example
+
+To try this example, please use [make](./Makefile) and `clang++`.
+
+```sh
+$ make bench
+```
+
+`bench` subcommand prepares all dependencies, compiles `bench.cpp` and runs benchmarks. The results
+are output to console.
+
+```
+2019-11-29 21:13:55
+Running ./a.out
+Run on (4 X 2700 MHz CPU s)
+CPU Caches:
+ L1 Data 32K (x2)
+ L1 Instruction 32K (x2)
+ L2 Unified 262K (x2)
+ L3 Unified 3145K (x1)
+Load Average: 1.66, 1.98, 2.49
+-----------------------------------------------------
+Benchmark Time CPU Iterations
+-----------------------------------------------------
+fib_10 210 ns 210 ns 3239181
+fib_20 27857 ns 27786 ns 25206
+```
+
+To get JSON output for running [github-action-benchmark][action], please use another subcommand.
+
+```sh
+$ make json
+```
+
+`json` subcommand outputs the benchmark results in JSON format and generates `benchmark_result.json`
+file in current directory.
+
+[tool]: https://github.com/google/benchmark
+[action]: https://github.com/benchmark-action/github-action-benchmark
diff --git a/examples/cpp/bench.cpp b/examples/cpp/bench.cpp
new file mode 100644
index 000000000..e1b0b6f1a
--- /dev/null
+++ b/examples/cpp/bench.cpp
@@ -0,0 +1,26 @@
+#include "./fib.hpp"
+#include "benchmark/benchmark.h"
+
+static void fib_10(benchmark::State &state) {
+ for (auto _ : state) {
+ // Suppress optimization otherwise this line is removed by DCE
+ int i = 10;
+ benchmark::DoNotOptimize(i);
+ benchmark::DoNotOptimize(fib(i));
+ }
+}
+
+static void fib_20(benchmark::State &state) {
+ for (auto _ : state) {
+ int i = 20;
+ benchmark::DoNotOptimize(i);
+ benchmark::DoNotOptimize(fib(i));
+ }
+}
+
+// Register the function as a benchmark
+BENCHMARK(fib_10);
+BENCHMARK(fib_20);
+
+// Run the benchmark
+BENCHMARK_MAIN();
diff --git a/examples/cpp/fib.hpp b/examples/cpp/fib.hpp
new file mode 100644
index 000000000..559e886c8
--- /dev/null
+++ b/examples/cpp/fib.hpp
@@ -0,0 +1,11 @@
+#if !defined FIB_HPP_INCLUDED
+#define FIB_HPP_INCLUDED
+
+int fib(int const i) {
+ if (i <= 1) {
+ return 1;
+ }
+ return fib(i - 2) + fib(i - 1);
+}
+
+#endif // FIB_HPP_INCLUDED
diff --git a/examples/criterion-rs/Cargo.toml b/examples/criterion-rs/Cargo.toml
new file mode 100644
index 000000000..9f9adcb08
--- /dev/null
+++ b/examples/criterion-rs/Cargo.toml
@@ -0,0 +1,17 @@
+[package]
+name = "criterion_example"
+version = "0.1.0"
+authors = ["rhysd "]
+edition = "2018"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
+criterion = "*"
+
+[lib]
+bench = false
+
+[[bench]]
+name = "bench"
+harness = false
diff --git a/examples/criterion-rs/README.md b/examples/criterion-rs/README.md
new file mode 100644
index 000000000..2deaa5db5
--- /dev/null
+++ b/examples/criterion-rs/README.md
@@ -0,0 +1,37 @@
+# Rust Criterion example for benchmarking with `cargo bench`
+
+- [Workflow for this example](../../.github/workflows/criterion-rs.yml)
+- [Benchmark results on GitHub pages](https://benchmark-action.github.io/github-action-benchmark/dev/bench/)
+
+This directory shows how to use [`github-action-benchmark`](https://github.com/benchmark-action/github-action-benchmark)
+with [`criterion`](https://github.com/bheisler/criterion.rs).
+
+## Run benchmarks
+
+Official documentation for usage of `cargo bench` with Criterion:
+
+https://github.com/bheisler/criterion.rs
+
+e.g.
+
+```yaml
+- name: Run benchmark
+ run: cargo bench -- --output-format bencher | tee output.txt
+```
+
+Note that you should run the benchmarks using the bencher output format.
+
+
+## Process benchmark results
+
+Store the benchmark results with step using the action. Please set `cargo` to `tool` input.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'cargo'
+ output-file-path: output.txt
+```
+
+Please read ['How to use' section](https://github.com/benchmark-action/github-action-benchmark#how-to-use) for common usage.
diff --git a/examples/criterion-rs/benches/bench.rs b/examples/criterion-rs/benches/bench.rs
new file mode 100644
index 000000000..420f852a3
--- /dev/null
+++ b/examples/criterion-rs/benches/bench.rs
@@ -0,0 +1,35 @@
+#[macro_use]
+extern crate criterion;
+use criterion::{black_box, Criterion, BenchmarkId};
+use criterion_example::{fib, fast_fib};
+
+fn bench_fib_10(c: &mut Criterion) {
+ c.bench_function("BenchFib10", move |b| {
+ b.iter(|| {
+ let _ = fib(black_box(10));
+ });
+ });
+}
+
+fn bench_fib_20(c: &mut Criterion) {
+ c.bench_function("BenchFib20", move |b| {
+ b.iter(|| {
+ let _ = fib(20);
+ });
+ });
+}
+
+fn bench_fibs(c: &mut Criterion) {
+ let mut group = c.benchmark_group("Fibonacci");
+ for i in [20, 21].iter() {
+ group.bench_with_input(BenchmarkId::new("Recursive", i), i,
+ |b, i| b.iter(|| fib(*i)));
+ group.bench_with_input(BenchmarkId::new("Iterative", i), i,
+ |b, i| b.iter(|| fast_fib(*i)));
+ }
+ group.finish();
+}
+
+
+criterion_group!(benches, bench_fib_10, bench_fib_20, bench_fibs);
+criterion_main!(benches);
diff --git a/examples/criterion-rs/src/lib.rs b/examples/criterion-rs/src/lib.rs
new file mode 100644
index 000000000..a42246eb6
--- /dev/null
+++ b/examples/criterion-rs/src/lib.rs
@@ -0,0 +1,25 @@
+pub fn fib(u: u32) -> u32 {
+ if u <= 1 {
+ 1
+ } else {
+ fib(u - 2) + fib(u - 1)
+ }
+}
+
+pub fn fast_fib(n: u32) -> u32 {
+ let mut a = 0;
+ let mut b = 1;
+
+ match n {
+ 0 => b,
+ _ => {
+ for _ in 0..n {
+ let c = a + b;
+ a = b;
+ b = c;
+ }
+ b
+ }
+ }
+}
+
diff --git a/examples/go/README.md b/examples/go/README.md
new file mode 100644
index 000000000..1f8fca08d
--- /dev/null
+++ b/examples/go/README.md
@@ -0,0 +1,36 @@
+Go example for benchmarking with `go test -bench`
+=================================================
+
+- [Workflow for this example](../../.github/workflows/go.yml)
+- [Action log of this example](https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Go+Example%22)
+- [Benchmark results on GitHub pages](https://benchmark-action.github.io/github-action-benchmark/dev/bench/)
+
+This directory shows how to use [`github-action-benchmark`](https://github.com/benchmark-action/github-action-benchmark)
+with `go test -bench` command.
+
+## Run benchmarks
+
+Official documentation for usage of `go test -bench`:
+
+https://pkg.go.dev/testing#hdr-Benchmarks
+
+e.g.
+
+```yaml
+- name: Run benchmark
+ run: go test -bench 'Benchmark' | tee output.txt
+```
+
+## Process benchmark results
+
+Store the benchmark results with step using the action. Please set `go` to `tool` input.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'go'
+ output-file-path: output.txt
+```
+
+Please read ['How to use' section](https://github.com/benchmark-action/github-action-benchmark#how-to-use) for common usage.
diff --git a/examples/go/fib.go b/examples/go/fib.go
new file mode 100644
index 000000000..21a3676a7
--- /dev/null
+++ b/examples/go/fib.go
@@ -0,0 +1,8 @@
+package fib
+
+func Fib(u uint) uint {
+ if u <= 1 {
+ return 1
+ }
+ return Fib(u-2) + Fib(u-1)
+}
diff --git a/examples/go/fib_test.go b/examples/go/fib_test.go
new file mode 100644
index 000000000..5b92c203f
--- /dev/null
+++ b/examples/go/fib_test.go
@@ -0,0 +1,24 @@
+package fib
+
+import (
+ "testing"
+)
+
+func BenchmarkFib10(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ var _ = Fib(10)
+ }
+}
+
+func BenchmarkFib20(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ var _ = Fib(20)
+ }
+}
+
+func BenchmarkFib20WithAuxMetric(b *testing.B) {
+ for i := 0; i < b.N; i++ {
+ var _ = Fib(20)
+ }
+ b.ReportMetric(4.0, "auxMetricUnits")
+}
diff --git a/examples/go/go.mod b/examples/go/go.mod
new file mode 100644
index 000000000..daa95f50a
--- /dev/null
+++ b/examples/go/go.mod
@@ -0,0 +1,3 @@
+module github.com/arup-group/github-action-benchmark/examples/go
+
+go 1.20
diff --git a/examples/java/pom.xml b/examples/java/pom.xml
new file mode 100644
index 000000000..fd6f342d2
--- /dev/null
+++ b/examples/java/pom.xml
@@ -0,0 +1,172 @@
+
+
+
+ 4.0.0
+
+ org.openjdk.jmh.samples
+ jmh-sample
+ 1.0
+ jar
+
+ JMH benchmark sample: Java
+
+
+
+
+
+ org.openjdk.jmh
+ jmh-core
+ ${jmh.version}
+
+
+ org.openjdk.jmh
+ jmh-generator-annprocess
+ ${jmh.version}
+ provided
+
+
+
+
+ UTF-8
+
+
+ 1.29
+
+
+ 1.8
+
+
+ benchmarks
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ 3.8.0
+
+ ${javac.target}
+ ${javac.target}
+ ${javac.target}
+
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ 3.2.1
+
+
+ package
+
+ shade
+
+
+ ${uberjar.name}
+
+
+ org.openjdk.jmh.Main
+
+
+
+
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+
+
+
+
+
+
+
+
+
+
+
+ maven-clean-plugin
+ 2.5
+
+
+ maven-deploy-plugin
+ 2.8.1
+
+
+ maven-install-plugin
+ 2.5.1
+
+
+ maven-jar-plugin
+ 2.4
+
+
+ maven-javadoc-plugin
+ 2.9.1
+
+
+ maven-resources-plugin
+ 2.6
+
+
+ maven-site-plugin
+ 3.3
+
+
+ maven-source-plugin
+ 2.2.1
+
+
+ maven-surefire-plugin
+ 2.17
+
+
+
+
+
+
diff --git a/examples/java/src/main/java/org/openjdk/jmh/samples/JMHSample_01_HelloWorld.java b/examples/java/src/main/java/org/openjdk/jmh/samples/JMHSample_01_HelloWorld.java
new file mode 100644
index 000000000..cd7af888d
--- /dev/null
+++ b/examples/java/src/main/java/org/openjdk/jmh/samples/JMHSample_01_HelloWorld.java
@@ -0,0 +1,92 @@
+/*
+ * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * This code is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License version 2 only, as
+ * published by the Free Software Foundation. Oracle designates this
+ * particular file as subject to the "Classpath" exception as provided
+ * by Oracle in the LICENSE file that accompanied this code.
+ *
+ * This code is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
+ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
+ * version 2 for more details (a copy is included in the LICENSE file that
+ * accompanied this code).
+ *
+ * You should have received a copy of the GNU General Public License version
+ * 2 along with this work; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
+ * or visit www.oracle.com if you need additional information or have any
+ * questions.
+ */
+package org.openjdk.jmh.samples;
+
+import org.openjdk.jmh.annotations.Benchmark;
+import org.openjdk.jmh.runner.Runner;
+import org.openjdk.jmh.runner.RunnerException;
+import org.openjdk.jmh.runner.options.Options;
+import org.openjdk.jmh.runner.options.OptionsBuilder;
+
+public class JMHSample_01_HelloWorld {
+
+ /*
+ * This is our first benchmark method.
+ *
+ * The contract for the benchmark methods is very simple:
+ * annotate it with @Benchmark, and you are set to go.
+ * JMH will run the test by continuously calling this method, and measuring
+ * the performance metrics for its execution.
+ *
+ * The method names are non-essential, it matters they are marked with
+ * @Benchmark. You can have multiple benchmark methods
+ * within the same class.
+ *
+ * Note: if the benchmark method never finishes, then JMH run never
+ * finishes as well. If you throw the exception from the method body,
+ * the JMH run ends abruptly for this benchmark, and JMH will run
+ * the next benchmark down the list.
+ *
+ * Although this benchmark measures "nothing", it is the good showcase
+ * for the overheads the infrastructure bear on the code you measure
+ * in the method. There are no magical infrastructures which incur no
+ * overhead, and it's important to know what are the infra overheads
+ * you are dealing with. You might find this thought unfolded in future
+ * examples by having the "baseline" measurements to compare against.
+ */
+
+ @Benchmark
+ public void wellHelloThere() {
+ // this method was intentionally left blank.
+ }
+
+ /*
+ * ============================== HOW TO RUN THIS TEST: ====================================
+ *
+ * You are expected to see the run with large number of iterations, and
+ * very large throughput numbers. You can see that as the estimate of the
+ * harness overheads per method call. In most of our measurements, it is
+ * down to several cycles per call.
+ *
+ * a) Via command-line:
+ * $ mvn clean install
+ * $ java -jar target/benchmarks.jar ".*JMHSample_01.*"
+ *
+ * JMH generates self-contained JARs, bundling JMH together with it.
+ * The runtime options for the JMH are available with "-h":
+ * $ java -jar target/benchmarks.jar -h
+ *
+ * b) Via Java API:
+ */
+
+ public static void main(String[] args) throws RunnerException {
+ Options opt = new OptionsBuilder()
+ .include(".*" + JMHSample_01_HelloWorld.class.getSimpleName() + ".*")
+ .forks(1)
+ .build();
+
+ new Runner(opt).run();
+ }
+}
diff --git a/examples/julia/.gitignore b/examples/julia/.gitignore
new file mode 100644
index 000000000..e76e6eed9
--- /dev/null
+++ b/examples/julia/.gitignore
@@ -0,0 +1 @@
+/output.json
diff --git a/examples/julia/Manifest.toml b/examples/julia/Manifest.toml
new file mode 100644
index 000000000..4103525cd
--- /dev/null
+++ b/examples/julia/Manifest.toml
@@ -0,0 +1,116 @@
+# This file is machine-generated - editing it directly is not advised
+
+julia_version = "1.10.0"
+manifest_format = "2.0"
+project_hash = "cdb03a69499471ffe0f32a9f377a6fd82c192b6f"
+
+[[deps.Artifacts]]
+uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33"
+
+[[deps.BenchmarkTools]]
+deps = ["JSON", "Logging", "Printf", "Profile", "Statistics", "UUIDs"]
+git-tree-sha1 = "f1f03a9fa24271160ed7e73051fba3c1a759b53f"
+uuid = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
+version = "1.4.0"
+
+[[deps.CompilerSupportLibraries_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae"
+version = "1.0.5+1"
+
+[[deps.Dates]]
+deps = ["Printf"]
+uuid = "ade2ca70-3891-5945-98fb-dc099432e06a"
+
+[[deps.JSON]]
+deps = ["Dates", "Mmap", "Parsers", "Unicode"]
+git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a"
+uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6"
+version = "0.21.4"
+
+[[deps.Libdl]]
+uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb"
+
+[[deps.LinearAlgebra]]
+deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"]
+uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
+
+[[deps.Logging]]
+uuid = "56ddb016-857b-54e1-b83d-db4d58db5568"
+
+[[deps.Mmap]]
+uuid = "a63ad114-7e13-5084-954f-fe012c677804"
+
+[[deps.OpenBLAS_jll]]
+deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"]
+uuid = "4536629a-c528-5b80-bd46-f80d51c5b363"
+version = "0.3.23+2"
+
+[[deps.Parsers]]
+deps = ["Dates", "PrecompileTools", "UUIDs"]
+git-tree-sha1 = "8489905bcdbcfac64d1daa51ca07c0d8f0283821"
+uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0"
+version = "2.8.1"
+
+[[deps.PrecompileTools]]
+deps = ["Preferences"]
+git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f"
+uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
+version = "1.2.0"
+
+[[deps.Preferences]]
+deps = ["TOML"]
+git-tree-sha1 = "00805cd429dcb4870060ff49ef443486c262e38e"
+uuid = "21216c6a-2e73-6563-6e65-726566657250"
+version = "1.4.1"
+
+[[deps.Printf]]
+deps = ["Unicode"]
+uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7"
+
+[[deps.Profile]]
+deps = ["Printf"]
+uuid = "9abbd945-dff8-562f-b5e8-e1ebf5ef1b79"
+
+[[deps.Random]]
+deps = ["SHA"]
+uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
+
+[[deps.SHA]]
+uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce"
+version = "0.7.0"
+
+[[deps.Serialization]]
+uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b"
+
+[[deps.SparseArrays]]
+deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"]
+uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
+version = "1.10.0"
+
+[[deps.Statistics]]
+deps = ["LinearAlgebra", "SparseArrays"]
+uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2"
+version = "1.10.0"
+
+[[deps.SuiteSparse_jll]]
+deps = ["Artifacts", "Libdl", "libblastrampoline_jll"]
+uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c"
+version = "7.2.1+1"
+
+[[deps.TOML]]
+deps = ["Dates"]
+uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76"
+version = "1.0.3"
+
+[[deps.UUIDs]]
+deps = ["Random", "SHA"]
+uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4"
+
+[[deps.Unicode]]
+uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5"
+
+[[deps.libblastrampoline_jll]]
+deps = ["Artifacts", "Libdl"]
+uuid = "8e850b90-86db-534c-a0d3-1478176c7d93"
+version = "5.8.0+1"
diff --git a/examples/julia/Project.toml b/examples/julia/Project.toml
new file mode 100644
index 000000000..05a4894b2
--- /dev/null
+++ b/examples/julia/Project.toml
@@ -0,0 +1,2 @@
+[deps]
+BenchmarkTools = "6e4b80f9-dd63-53aa-95a3-0cdb28fa8baf"
diff --git a/examples/julia/README.md b/examples/julia/README.md
new file mode 100644
index 000000000..e7bef72df
--- /dev/null
+++ b/examples/julia/README.md
@@ -0,0 +1,5 @@
+# Julia example with `BenchmarkTools.jl`
+
+Please read the [docs](https://juliaci.github.io/BenchmarkTools.jl/stable/manual/) of `BenchmarkTools.jl` first. Expecially the [BenchmarkGroup](https://juliaci.github.io/BenchmarkTools.jl/stable/manual/#The-BenchmarkGroup-type) section. Generally speaking, we only need the `json` file exported by `BenchmarkTools.save`. You can checkout the [`fib.jl`](./fib.jl) file for how to do it. A [workflow](../../.github/workflows/julia.yml) for this example is also provided to help you integrate it in your project.
+
+**Note:** Currently we only support test suite after applying an estimation (`minimumm`,`median`, `mean`, `maximum`, `std`).
\ No newline at end of file
diff --git a/examples/julia/fib.jl b/examples/julia/fib.jl
new file mode 100644
index 000000000..0d6c6bd12
--- /dev/null
+++ b/examples/julia/fib.jl
@@ -0,0 +1,15 @@
+using BenchmarkTools
+
+fib(n) = n <= 1 ? 1 : fib(n - 2) + fib(n - 1)
+
+suite = BenchmarkGroup()
+
+suite["fib"] = BenchmarkGroup(["tag1", "tag2"])
+
+suite["fib"][10] = @benchmarkable fib(10)
+suite["fib"][20] = @benchmarkable fib(20)
+
+tune!(suite)
+results = run(suite, verbose = true)
+
+BenchmarkTools.save("output.json", median(results))
diff --git a/examples/pytest/.gitignore b/examples/pytest/.gitignore
new file mode 100644
index 000000000..cde6fdd9e
--- /dev/null
+++ b/examples/pytest/.gitignore
@@ -0,0 +1,4 @@
+/venv
+__pycache__
+/.benchmarks
+/.pytest_cache
diff --git a/examples/pytest/README.md b/examples/pytest/README.md
new file mode 100644
index 000000000..9af2a6186
--- /dev/null
+++ b/examples/pytest/README.md
@@ -0,0 +1,60 @@
+Python example for benchmarking with [pytest-benchmark][tool]
+=============================================================
+
+- [Workflow for this example](../../.github/workflows/pytest.yml)
+- [Action log of this example](https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Python+Example+with+pytest%22)
+- [Benchmark results on GitHub pages](https://benchmark-action.github.io/github-action-benchmark/dev/bench/)
+
+This directory shows how to use [`github-action-benchmark`](https://github.com/benchmark-action/github-action-benchmark)
+with [pytest-benchmark][tool].
+
+## Run benchmarks
+
+Official documentation for usage of pytest-benchmark:
+
+https://pytest-benchmark.readthedocs.io/en/stable/
+
+Install dependencies with `venv` package using Python3.
+
+```sh
+$ python -m venv venv
+$ source venv/bin/activate
+$ pip install pytest pytest-benchmark
+```
+
+Prepare `bench.py` as follows:
+
+e.g.
+
+```python
+import pytest
+
+def some_test_case(benchmark):
+ benchmark(some_func, args)
+```
+
+And run benchmarks with `--benchmark-json` in workflow. The JSON file will be an input to
+github-action-benchmark.
+
+e.g.
+
+```yaml
+- name: Run benchmark
+ run: pytest bench.py --benchmark-json output.json
+```
+
+## Process benchmark results
+
+Store the benchmark results with step using the action. Please set `pytest` to `tool` input.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'pytest'
+ output-file-path: output.json
+```
+
+Please read ['How to use' section](https://github.com/benchmark-action/github-action-benchmark#how-to-use) for common usage.
+
+[tool]: https://pypi.org/project/pytest-benchmark/
diff --git a/examples/pytest/bench.py b/examples/pytest/bench.py
new file mode 100644
index 000000000..da9223990
--- /dev/null
+++ b/examples/pytest/bench.py
@@ -0,0 +1,8 @@
+from fib import fib
+import pytest
+
+def test_fib_10(benchmark):
+ benchmark(fib, 10)
+
+def test_fib_20(benchmark):
+ benchmark(fib, 20)
diff --git a/examples/pytest/fib/__init__.py b/examples/pytest/fib/__init__.py
new file mode 100644
index 000000000..3cb91618c
--- /dev/null
+++ b/examples/pytest/fib/__init__.py
@@ -0,0 +1,4 @@
+def fib(n):
+ if n <= 1:
+ return 1
+ return fib(n - 2) + fib(n - 1)
diff --git a/examples/pytest/requirements.txt b/examples/pytest/requirements.txt
new file mode 100644
index 000000000..37949b65c
--- /dev/null
+++ b/examples/pytest/requirements.txt
@@ -0,0 +1,14 @@
+atomicwrites==1.3.0
+attrs==19.3.0
+importlib-metadata==0.23
+more-itertools==7.2.0
+packaging==19.2
+pluggy==0.13.0
+py==1.10.0
+py-cpuinfo==5.0.0
+pyparsing==2.4.5
+pytest==5.2.4
+pytest-benchmark==3.2.2
+six==1.13.0
+wcwidth==0.1.7
+zipp==3.19.1
diff --git a/examples/pytest/setup.py b/examples/pytest/setup.py
new file mode 100644
index 000000000..9aafc04bb
--- /dev/null
+++ b/examples/pytest/setup.py
@@ -0,0 +1,11 @@
+from setuptools import setup
+
+setup(
+ name='benchmark-example',
+ version='0.0.0',
+ url='https://github.com/arup-group/github-action-benchmark',
+ author='rhysd ',
+ author_email='github@users.noreply.github.com',
+ description='Benchmark example with timeit package',
+ packages=['fib'],
+)
diff --git a/examples/rust/Cargo.toml b/examples/rust/Cargo.toml
new file mode 100644
index 000000000..c47cf0713
--- /dev/null
+++ b/examples/rust/Cargo.toml
@@ -0,0 +1,9 @@
+[package]
+name = "rust_example"
+version = "0.1.0"
+authors = ["rhysd "]
+edition = "2018"
+
+# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
+
+[dependencies]
diff --git a/examples/rust/README.md b/examples/rust/README.md
new file mode 100644
index 000000000..dbbfe014a
--- /dev/null
+++ b/examples/rust/README.md
@@ -0,0 +1,49 @@
+Rust example for benchmarking with `cargo bench`
+================================================
+
+- [Workflow for this example](../../.github/workflows/rust.yml)
+- [Action log of this example](https://github.com/benchmark-action/github-action-benchmark/actions?query=workflow%3A%22Rust+Example%22)
+- [Benchmark results on GitHub pages](https://benchmark-action.github.io/github-action-benchmark/dev/bench/)
+
+This directory shows how to use [`github-action-benchmark`](https://github.com/benchmark-action/github-action-benchmark)
+with [`cargo bench`](https://doc.rust-lang.org/cargo/commands/cargo-bench.html).
+
+## Run benchmarks
+
+Official documentation for usage of `cargo bench`:
+
+https://doc.rust-lang.org/unstable-book/library-features/test.html
+
+e.g.
+
+```yaml
+- name: Run benchmark
+ run: cargo +nightly bench | tee output.txt
+```
+
+Note that `cargo bench` is available only with nightly toolchain.
+
+Note that this example does not use LTO for benchmarking because entire code in benchmark iteration
+will be removed as dead code. For normal use case, please enable it in `Cargo.toml` for production
+performance.
+
+```yaml
+[profile.bench]
+lto = true
+```
+
+## Process benchmark results
+
+Store the benchmark results with step using the action. Please set `cargo` to `tool` input.
+
+```yaml
+- name: Store benchmark result
+ uses: benchmark-action/github-action-benchmark@v1
+ with:
+ tool: 'cargo'
+ output-file-path: output.txt
+```
+
+Please read ['How to use' section](https://github.com/benchmark-action/github-action-benchmark#how-to-use) for common usage.
+
+
diff --git a/examples/rust/benches/bench.rs b/examples/rust/benches/bench.rs
new file mode 100644
index 000000000..b5671cfef
--- /dev/null
+++ b/examples/rust/benches/bench.rs
@@ -0,0 +1,20 @@
+#![feature(test)]
+
+extern crate test;
+
+use rust_example::fib;
+use test::Bencher;
+
+#[bench]
+fn bench_fib_10(b: &mut Bencher) {
+ b.iter(|| {
+ let _ = fib(10);
+ });
+}
+
+#[bench]
+fn bench_fib_20(b: &mut Bencher) {
+ b.iter(|| {
+ let _ = fib(20);
+ });
+}
diff --git a/examples/rust/src/lib.rs b/examples/rust/src/lib.rs
new file mode 100644
index 000000000..13893643c
--- /dev/null
+++ b/examples/rust/src/lib.rs
@@ -0,0 +1,7 @@
+pub fn fib(u: u32) -> u32 {
+ if u <= 1 {
+ 1
+ } else {
+ fib(u - 2) + fib(u - 1)
+ }
+}
diff --git a/jest.config.js b/jest.config.js
new file mode 100644
index 000000000..da1fb4c9b
--- /dev/null
+++ b/jest.config.js
@@ -0,0 +1,10 @@
+/** @type {import('ts-jest/dist/types').InitialOptionsTsJest} */
+module.exports = {
+ globals: {
+ 'ts-jest': {
+ tsconfig: 'tsconfig.spec.json',
+ },
+ },
+ preset: 'ts-jest',
+ testEnvironment: 'node',
+};
diff --git a/node_modules/.bin/semver b/node_modules/.bin/semver
index 317eb293d..77443e787 120000
--- a/node_modules/.bin/semver
+++ b/node_modules/.bin/semver
@@ -1 +1,12 @@
-../semver/bin/semver
\ No newline at end of file
+#!/bin/sh
+basedir=$(dirname "$(echo "$0" | sed -e 's,\\,/,g')")
+
+case `uname` in
+ *CYGWIN*|*MINGW*|*MSYS*) basedir=`cygpath -w "$basedir"`;;
+esac
+
+if [ -x "$basedir/node" ]; then
+ exec "$basedir/node" "$basedir/../semver/bin/semver.js" "$@"
+else
+ exec node "$basedir/../semver/bin/semver.js" "$@"
+fi
diff --git a/node_modules/.bin/which b/node_modules/.bin/which
deleted file mode 120000
index f62471c85..000000000
--- a/node_modules/.bin/which
+++ /dev/null
@@ -1 +0,0 @@
-../which/bin/which
\ No newline at end of file
diff --git a/node_modules/.package-lock.json b/node_modules/.package-lock.json
index ce23f17d6..e94a45308 100644
--- a/node_modules/.package-lock.json
+++ b/node_modules/.package-lock.json
@@ -5,472 +5,6000 @@
"requires": true,
"packages": {
"node_modules/@actions/core": {
- "version": "1.2.6",
- "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.2.6.tgz",
- "integrity": "sha512-ZQYitnqiyBc3D+k7LsgSBmMDVkOVidaagDG7j3fOym77jNunWRuYx7VSHa9GNfFZh+zh61xsCjRj4JxMZlDqTA=="
+ "version": "1.10.0",
+ "resolved": "https://registry.npmjs.org/@actions/core/-/core-1.10.0.tgz",
+ "integrity": "sha512-2aZDDa3zrrZbP5ZYg159sNoLRb61nQ7awl5pSvIq5Qpj81vwDzdMRKzkWJGJuwVvWpvZKx7vspJALyvaaIQyug==",
+ "dependencies": {
+ "@actions/http-client": "^2.0.1",
+ "uuid": "^8.3.2"
+ }
},
"node_modules/@actions/exec": {
- "version": "1.0.3",
- "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.0.3.tgz",
- "integrity": "sha512-TogJGnueOmM7ntCi0ASTUj4LapRRtDfj57Ja4IhPmg2fls28uVOPbAn8N+JifaOumN2UG3oEO/Ixek2A4NcYSA==",
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/@actions/exec/-/exec-1.1.1.tgz",
+ "integrity": "sha512-+sCcHHbVdk93a0XT19ECtO/gIXoxvdsgQLzb2fE2/5sIZmWQuluYyjPQtrtTHdU1YzTZ7bAPN4sITq2xi1679w==",
"dependencies": {
"@actions/io": "^1.0.1"
}
},
"node_modules/@actions/github": {
- "version": "2.1.1",
- "resolved": "https://registry.npmjs.org/@actions/github/-/github-2.1.1.tgz",
- "integrity": "sha512-kAgTGUx7yf5KQCndVeHSwCNZuDBvPyxm5xKTswW2lofugeuC1AZX73nUUVDNaysnM9aKFMHv9YCdVJbg7syEyA==",
- "dependencies": {
- "@actions/http-client": "^1.0.3",
- "@octokit/graphql": "^4.3.1",
- "@octokit/rest": "^16.43.1"
- }
- },
- "node_modules/@actions/github/node_modules/@octokit/rest": {
- "version": "16.43.1",
- "resolved": "https://registry.npmjs.org/@octokit/rest/-/rest-16.43.1.tgz",
- "integrity": "sha512-gfFKwRT/wFxq5qlNjnW2dh+qh74XgTQ2B179UX5K1HYCluioWj8Ndbgqw2PVqa1NnVJkGHp2ovMpVn/DImlmkw==",
- "dependencies": {
- "@octokit/auth-token": "^2.4.0",
- "@octokit/plugin-paginate-rest": "^1.1.1",
- "@octokit/plugin-request-log": "^1.0.0",
- "@octokit/plugin-rest-endpoint-methods": "2.4.0",
- "@octokit/request": "^5.2.0",
- "@octokit/request-error": "^1.0.2",
- "atob-lite": "^2.0.0",
- "before-after-hook": "^2.0.0",
- "btoa-lite": "^1.0.0",
- "deprecation": "^2.0.0",
- "lodash.get": "^4.4.2",
- "lodash.set": "^4.3.2",
- "lodash.uniq": "^4.5.0",
- "octokit-pagination-methods": "^1.1.0",
- "once": "^1.4.0",
- "universal-user-agent": "^4.0.0"
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/@actions/github/-/github-5.1.1.tgz",
+ "integrity": "sha512-Nk59rMDoJaV+mHCOJPXuvB1zIbomlKS0dmSIqPGxd0enAXBnOfn4VWF+CGtRCwXZG9Epa54tZA7VIRlJDS8A6g==",
+ "dependencies": {
+ "@actions/http-client": "^2.0.1",
+ "@octokit/core": "^3.6.0",
+ "@octokit/plugin-paginate-rest": "^2.17.0",
+ "@octokit/plugin-rest-endpoint-methods": "^5.13.0"
}
},
"node_modules/@actions/http-client": {
- "version": "1.0.8",
- "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-1.0.8.tgz",
- "integrity": "sha512-G4JjJ6f9Hb3Zvejj+ewLLKLf99ZC+9v+yCxoYf9vSyH+WkzPLB2LuUtRMGNkooMqdugGBFStIKXOuvH1W+EctA==",
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@actions/http-client/-/http-client-2.1.0.tgz",
+ "integrity": "sha512-BonhODnXr3amchh4qkmjPMUO8mFi/zLaaCeCAJZqch8iQqyDnVIkySjB38VHAC8IJ+bnlgfOqlhpyCUZHlQsqw==",
"dependencies": {
- "tunnel": "0.0.6"
+ "tunnel": "^0.0.6"
}
},
"node_modules/@actions/io": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.0.2.tgz",
- "integrity": "sha512-J8KuFqVPr3p6U8W93DOXlXW6zFvrQAJANdS+vw0YhusLIq+bszW8zmK2Fh1C2kDPX8FMvwIl1OUcFgvJoXLbAg=="
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@actions/io/-/io-1.1.2.tgz",
+ "integrity": "sha512-d+RwPlMp+2qmBfeLYPLXuSRykDIFEwdTA0MMxzS9kh4kvP1ftrc/9fzy6pX6qAjthdXruHQ6/6kjT/DNo5ALuw=="
},
- "node_modules/@octokit/auth-token": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.4.0.tgz",
- "integrity": "sha512-eoOVMjILna7FVQf96iWc3+ZtE/ZT6y8ob8ZzcqKY1ibSQCnu4O/B7pJvzMx5cyZ/RjAff6DAdEb0O0Cjcxidkg==",
+ "node_modules/@ampproject/remapping": {
+ "version": "2.2.1",
+ "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz",
+ "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==",
+ "dev": true,
"dependencies": {
- "@octokit/types": "^2.0.0"
+ "@jridgewell/gen-mapping": "^0.3.0",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
}
},
- "node_modules/@octokit/endpoint": {
- "version": "5.5.3",
- "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-5.5.3.tgz",
- "integrity": "sha512-EzKwkwcxeegYYah5ukEeAI/gYRLv2Y9U5PpIsseGSFDk+G3RbipQGBs8GuYS1TLCtQaqoO66+aQGtITPalxsNQ==",
+ "node_modules/@babel/code-frame": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
+ "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==",
+ "dev": true,
"dependencies": {
- "@octokit/types": "^2.0.0",
- "is-plain-object": "^3.0.0",
- "universal-user-agent": "^5.0.0"
+ "@babel/highlight": "^7.23.4",
+ "chalk": "^2.4.2"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@octokit/endpoint/node_modules/universal-user-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz",
- "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==",
+ "node_modules/@babel/code-frame/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
"dependencies": {
- "os-name": "^3.1.0"
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/@octokit/graphql": {
- "version": "4.3.1",
- "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.3.1.tgz",
- "integrity": "sha512-hCdTjfvrK+ilU2keAdqNBWOk+gm1kai1ZcdjRfB30oA3/T6n53UVJb7w0L5cR3/rhU91xT3HSqCd+qbvH06yxA==",
+ "node_modules/@babel/code-frame/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
"dependencies": {
- "@octokit/request": "^5.3.0",
- "@octokit/types": "^2.0.0",
- "universal-user-agent": "^4.0.0"
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/@octokit/plugin-paginate-rest": {
- "version": "1.1.2",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-1.1.2.tgz",
- "integrity": "sha512-jbsSoi5Q1pj63sC16XIUboklNw+8tL9VOnJsWycWYR78TKss5PVpIPb1TUUcMQ+bBh7cY579cVAWmf5qG+dw+Q==",
+ "node_modules/@babel/code-frame/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
"dependencies": {
- "@octokit/types": "^2.0.1"
+ "color-name": "1.1.3"
}
},
- "node_modules/@octokit/plugin-request-log": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-request-log/-/plugin-request-log-1.0.0.tgz",
- "integrity": "sha512-ywoxP68aOT3zHCLgWZgwUJatiENeHE7xJzYjfz8WI0goynp96wETBF+d95b8g/uL4QmS6owPVlaxiz3wyMAzcw=="
+ "node_modules/@babel/code-frame/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true
},
- "node_modules/@octokit/plugin-rest-endpoint-methods": {
- "version": "2.4.0",
- "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-2.4.0.tgz",
- "integrity": "sha512-EZi/AWhtkdfAYi01obpX0DF7U6b1VRr30QNQ5xSFPITMdLSfhcBqjamE3F+sKcxPbD7eZuMHu3Qkk2V+JGxBDQ==",
- "dependencies": {
- "@octokit/types": "^2.0.1",
- "deprecation": "^2.3.1"
+ "node_modules/@babel/code-frame/node_modules/escape-string-regexp": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
}
},
- "node_modules/@octokit/request": {
- "version": "5.3.2",
- "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.3.2.tgz",
- "integrity": "sha512-7NPJpg19wVQy1cs2xqXjjRq/RmtSomja/VSWnptfYwuBxLdbYh2UjhGi0Wx7B1v5Iw5GKhfFDQL7jM7SSp7K2g==",
+ "node_modules/@babel/code-frame/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
"dependencies": {
- "@octokit/endpoint": "^5.5.0",
- "@octokit/request-error": "^1.0.1",
- "@octokit/types": "^2.0.0",
- "deprecation": "^2.0.0",
- "is-plain-object": "^3.0.0",
- "node-fetch": "^2.3.0",
- "once": "^1.4.0",
- "universal-user-agent": "^5.0.0"
+ "has-flag": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=4"
}
},
- "node_modules/@octokit/request-error": {
- "version": "1.2.1",
- "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-1.2.1.tgz",
- "integrity": "sha512-+6yDyk1EES6WK+l3viRDElw96MvwfJxCt45GvmjDUKWjYIb3PJZQkq3i46TwGwoPD4h8NmTrENmtyA1FwbmhRA==",
+ "node_modules/@babel/compat-data": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz",
+ "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/core": {
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz",
+ "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==",
+ "dev": true,
"dependencies": {
- "@octokit/types": "^2.0.0",
- "deprecation": "^2.0.0",
- "once": "^1.4.0"
+ "@ampproject/remapping": "^2.2.0",
+ "@babel/code-frame": "^7.23.5",
+ "@babel/generator": "^7.23.6",
+ "@babel/helper-compilation-targets": "^7.23.6",
+ "@babel/helper-module-transforms": "^7.23.3",
+ "@babel/helpers": "^7.23.9",
+ "@babel/parser": "^7.23.9",
+ "@babel/template": "^7.23.9",
+ "@babel/traverse": "^7.23.9",
+ "@babel/types": "^7.23.9",
+ "convert-source-map": "^2.0.0",
+ "debug": "^4.1.0",
+ "gensync": "^1.0.0-beta.2",
+ "json5": "^2.2.3",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/babel"
}
},
- "node_modules/@octokit/request/node_modules/universal-user-agent": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-5.0.0.tgz",
- "integrity": "sha512-B5TPtzZleXyPrUMKCpEHFmVhMN6EhmJYjG5PQna9s7mXeSqGTLap4OpqLl5FCEFUI3UBmllkETwKf/db66Y54Q==",
+ "node_modules/@babel/core/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/@babel/generator": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz",
+ "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==",
+ "dev": true,
"dependencies": {
- "os-name": "^3.1.0"
+ "@babel/types": "^7.23.6",
+ "@jridgewell/gen-mapping": "^0.3.2",
+ "@jridgewell/trace-mapping": "^0.3.17",
+ "jsesc": "^2.5.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@octokit/types": {
- "version": "2.2.0",
- "resolved": "https://registry.npmjs.org/@octokit/types/-/types-2.2.0.tgz",
- "integrity": "sha512-iEeW3XlkxeM/CObeoYvbUv24Oe+DldGofY+3QyeJ5XKKA6B+V94ePk14EDCarseWdMs6afKZPv3dFq8C+SY5lw==",
+ "node_modules/@babel/helper-compilation-targets": {
+ "version": "7.23.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz",
+ "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==",
+ "dev": true,
"dependencies": {
- "@types/node": ">= 8"
+ "@babel/compat-data": "^7.23.5",
+ "@babel/helper-validator-option": "^7.23.5",
+ "browserslist": "^4.22.2",
+ "lru-cache": "^5.1.1",
+ "semver": "^6.3.1"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/@types/node": {
- "version": "13.9.1",
- "resolved": "https://registry.npmjs.org/@types/node/-/node-13.9.1.tgz",
- "integrity": "sha512-E6M6N0blf/jiZx8Q3nb0vNaswQeEyn0XlupO+xN6DtJ6r6IT4nXrTry7zhIfYvFCl3/8Cu6WIysmUBKiqV0bqQ=="
+ "node_modules/@babel/helper-compilation-targets/node_modules/lru-cache": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz",
+ "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^3.0.2"
+ }
},
- "node_modules/atob-lite": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/atob-lite/-/atob-lite-2.0.0.tgz",
- "integrity": "sha1-D+9a1G8b16hQLGVyfwNn1e5D1pY="
+ "node_modules/@babel/helper-compilation-targets/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
},
- "node_modules/before-after-hook": {
- "version": "2.1.0",
- "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.1.0.tgz",
- "integrity": "sha512-IWIbu7pMqyw3EAJHzzHbWa85b6oud/yfKYg5rqB5hNE8CeMi3nX+2C2sj0HswfblST86hpVEOAb9x34NZd6P7A=="
+ "node_modules/@babel/helper-compilation-targets/node_modules/yallist": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz",
+ "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==",
+ "dev": true
},
- "node_modules/btoa-lite": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/btoa-lite/-/btoa-lite-1.0.0.tgz",
- "integrity": "sha1-M3dm2hWAEhD92VbCLpxokaudAzc="
+ "node_modules/@babel/helper-environment-visitor": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz",
+ "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
},
- "node_modules/cross-spawn": {
- "version": "6.0.5",
- "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz",
- "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==",
+ "node_modules/@babel/helper-function-name": {
+ "version": "7.23.0",
+ "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz",
+ "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==",
+ "dev": true,
"dependencies": {
- "nice-try": "^1.0.4",
- "path-key": "^2.0.1",
- "semver": "^5.5.0",
- "shebang-command": "^1.2.0",
- "which": "^1.2.9"
+ "@babel/template": "^7.22.15",
+ "@babel/types": "^7.23.0"
},
"engines": {
- "node": ">=4.8"
+ "node": ">=6.9.0"
}
},
- "node_modules/deprecation": {
- "version": "2.3.1",
- "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
- "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
+ "node_modules/@babel/helper-hoist-variables": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz",
+ "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.22.5"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
},
- "node_modules/end-of-stream": {
- "version": "1.4.4",
- "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz",
- "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==",
+ "node_modules/@babel/helper-module-imports": {
+ "version": "7.22.15",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz",
+ "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==",
+ "dev": true,
"dependencies": {
- "once": "^1.4.0"
+ "@babel/types": "^7.22.15"
+ },
+ "engines": {
+ "node": ">=6.9.0"
}
},
- "node_modules/execa": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz",
- "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==",
+ "node_modules/@babel/helper-module-transforms": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz",
+ "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==",
+ "dev": true,
"dependencies": {
- "cross-spawn": "^6.0.0",
- "get-stream": "^4.0.0",
- "is-stream": "^1.1.0",
- "npm-run-path": "^2.0.0",
- "p-finally": "^1.0.0",
- "signal-exit": "^3.0.0",
- "strip-eof": "^1.0.0"
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-module-imports": "^7.22.15",
+ "@babel/helper-simple-access": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/helper-validator-identifier": "^7.22.20"
},
"engines": {
- "node": ">=6"
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
}
},
- "node_modules/get-stream": {
- "version": "4.1.0",
- "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz",
- "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==",
+ "node_modules/@babel/helper-plugin-utils": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.22.5.tgz",
+ "integrity": "sha512-uLls06UVKgFG9QD4OeFYLEGteMIAa5kpTPcFL28yuCIIzsf6ZyKZMllKVOCZFhiZ5ptnwX4mtKdWCBE/uT4amg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@babel/helper-simple-access": {
+ "version": "7.22.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz",
+ "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==",
+ "dev": true,
"dependencies": {
- "pump": "^3.0.0"
+ "@babel/types": "^7.22.5"
},
"engines": {
- "node": ">=6"
+ "node": ">=6.9.0"
}
},
- "node_modules/is-plain-object": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-3.0.0.tgz",
- "integrity": "sha512-tZIpofR+P05k8Aocp7UI/2UTa9lTJSebCXpFFoR9aibpokDj/uXBsJ8luUu0tTVYKkMU6URDUuOfJZ7koewXvg==",
+ "node_modules/@babel/helper-split-export-declaration": {
+ "version": "7.22.6",
+ "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz",
+ "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==",
+ "dev": true,
"dependencies": {
- "isobject": "^4.0.0"
+ "@babel/types": "^7.22.5"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.9.0"
}
},
- "node_modules/is-stream": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz",
- "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=",
+ "node_modules/@babel/helper-string-parser": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz",
+ "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==",
+ "dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.9.0"
}
},
- "node_modules/isexe": {
- "version": "2.0.0",
- "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
- "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA="
+ "node_modules/@babel/helper-validator-identifier": {
+ "version": "7.22.20",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
+ "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
},
- "node_modules/isobject": {
- "version": "4.0.0",
- "resolved": "https://registry.npmjs.org/isobject/-/isobject-4.0.0.tgz",
- "integrity": "sha512-S/2fF5wH8SJA/kmwr6HYhK/RI/OkhD84k8ntalo0iJjZikgq1XFvR5M8NPT1x5F7fBwCG3qHfnzeP/Vh/ZxCUA==",
+ "node_modules/@babel/helper-validator-option": {
+ "version": "7.23.5",
+ "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz",
+ "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==",
+ "dev": true,
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.9.0"
}
},
- "node_modules/lodash.get": {
- "version": "4.4.2",
- "resolved": "https://registry.npmjs.org/lodash.get/-/lodash.get-4.4.2.tgz",
- "integrity": "sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk="
+ "node_modules/@babel/helpers": {
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.23.9.tgz",
+ "integrity": "sha512-87ICKgU5t5SzOT7sBMfCOZQ2rHjRU+Pcb9BoILMYz600W6DkVRLFBPwQ18gwUVvggqXivaUakpnxWQGbpywbBQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.23.9",
+ "@babel/traverse": "^7.23.9",
+ "@babel/types": "^7.23.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
},
- "node_modules/lodash.set": {
- "version": "4.3.2",
- "resolved": "https://registry.npmjs.org/lodash.set/-/lodash.set-4.3.2.tgz",
- "integrity": "sha1-2HV7HagH3eJIFrDWqEvqGnYjCyM="
+ "node_modules/@babel/highlight": {
+ "version": "7.23.4",
+ "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz",
+ "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "chalk": "^2.4.2",
+ "js-tokens": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
},
- "node_modules/lodash.uniq": {
- "version": "4.5.0",
- "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz",
- "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M="
+ "node_modules/@babel/highlight/node_modules/ansi-styles": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz",
+ "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^1.9.0"
+ },
+ "engines": {
+ "node": ">=4"
+ }
},
- "node_modules/macos-release": {
- "version": "2.3.0",
- "resolved": "https://registry.npmjs.org/macos-release/-/macos-release-2.3.0.tgz",
- "integrity": "sha512-OHhSbtcviqMPt7yfw5ef5aghS2jzFVKEFyCJndQt2YpSQ9qRVSEv2axSJI1paVThEu+FFGs584h/1YhxjVqajA==",
+ "node_modules/@babel/highlight/node_modules/chalk": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz",
+ "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^3.2.1",
+ "escape-string-regexp": "^1.0.5",
+ "supports-color": "^5.3.0"
+ },
"engines": {
- "node": ">=6"
+ "node": ">=4"
}
},
- "node_modules/nice-try": {
+ "node_modules/@babel/highlight/node_modules/color-convert": {
+ "version": "1.9.3",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz",
+ "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "1.1.3"
+ }
+ },
+ "node_modules/@babel/highlight/node_modules/color-name": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz",
+ "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==",
+ "dev": true
+ },
+ "node_modules/@babel/highlight/node_modules/escape-string-regexp": {
"version": "1.0.5",
- "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz",
- "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ=="
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz",
+ "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.0"
+ }
},
- "node_modules/node-fetch": {
- "version": "2.6.6",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.6.tgz",
- "integrity": "sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==",
+ "node_modules/@babel/highlight/node_modules/supports-color": {
+ "version": "5.5.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz",
+ "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==",
+ "dev": true,
"dependencies": {
- "whatwg-url": "^5.0.0"
+ "has-flag": "^3.0.0"
},
"engines": {
- "node": "4.x || >=6.0.0"
+ "node": ">=4"
}
},
- "node_modules/node-fetch/node_modules/tr46": {
- "version": "0.0.3",
- "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
- "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o="
+ "node_modules/@babel/parser": {
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.23.9.tgz",
+ "integrity": "sha512-9tcKgqKbs3xGJ+NtKF2ndOBBLVwPjl1SHxPQkd36r3Dlirw3xWUeGaTbqr7uGZcTaxkVNwc+03SVP7aCdWrTlA==",
+ "dev": true,
+ "bin": {
+ "parser": "bin/babel-parser.js"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
},
- "node_modules/node-fetch/node_modules/webidl-conversions": {
- "version": "3.0.1",
- "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
- "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE="
+ "node_modules/@babel/plugin-syntax-async-generators": {
+ "version": "7.8.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz",
+ "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
},
- "node_modules/node-fetch/node_modules/whatwg-url": {
- "version": "5.0.0",
- "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
- "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=",
+ "node_modules/@babel/plugin-syntax-bigint": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-bigint/-/plugin-syntax-bigint-7.8.3.tgz",
+ "integrity": "sha512-wnTnFlG+YxQm3vDxpGE57Pj0srRU4sHE/mDkt1qv2YJJSeUAec2ma4WLUnUPeKjyrfntVwe/N6dCXpU+zL3Npg==",
+ "dev": true,
"dependencies": {
- "tr46": "~0.0.3",
- "webidl-conversions": "^3.0.0"
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/npm-run-path": {
- "version": "2.0.2",
- "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz",
- "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=",
+ "node_modules/@babel/plugin-syntax-class-properties": {
+ "version": "7.12.13",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz",
+ "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==",
+ "dev": true,
"dependencies": {
- "path-key": "^2.0.0"
+ "@babel/helper-plugin-utils": "^7.12.13"
},
- "engines": {
- "node": ">=4"
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/octokit-pagination-methods": {
- "version": "1.1.0",
- "resolved": "https://registry.npmjs.org/octokit-pagination-methods/-/octokit-pagination-methods-1.1.0.tgz",
- "integrity": "sha512-fZ4qZdQ2nxJvtcasX7Ghl+WlWS/d9IgnBIwFZXVNNZUmzpno91SX5bc5vuxiuKoCtK78XxGGNuSCrDC7xYB3OQ=="
+ "node_modules/@babel/plugin-syntax-import-meta": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz",
+ "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
},
- "node_modules/once": {
- "version": "1.4.0",
- "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
- "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "node_modules/@babel/plugin-syntax-json-strings": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz",
+ "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==",
+ "dev": true,
"dependencies": {
- "wrappy": "1"
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/os-name": {
- "version": "3.1.0",
- "resolved": "https://registry.npmjs.org/os-name/-/os-name-3.1.0.tgz",
- "integrity": "sha512-h8L+8aNjNcMpo/mAIBPn5PXCM16iyPGjHNWo6U1YO8sJTMHtEtyczI6QJnLoplswm6goopQkqc7OAnjhWcugVg==",
+ "node_modules/@babel/plugin-syntax-jsx": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.23.3.tgz",
+ "integrity": "sha512-EB2MELswq55OHUoRZLGg/zC7QWUKfNLpE57m/S2yr1uEneIgsTgrSzXP3NXEsMkVn76OlaVVnzN+ugObuYGwhg==",
+ "dev": true,
"dependencies": {
- "macos-release": "^2.2.0",
- "windows-release": "^3.1.0"
+ "@babel/helper-plugin-utils": "^7.22.5"
},
"engines": {
- "node": ">=6"
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/p-finally": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz",
- "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=",
- "engines": {
- "node": ">=4"
+ "node_modules/@babel/plugin-syntax-logical-assignment-operators": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz",
+ "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/path-key": {
- "version": "2.0.1",
- "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz",
- "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=",
- "engines": {
- "node": ">=4"
+ "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz",
+ "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/pump": {
- "version": "3.0.0",
- "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz",
- "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==",
+ "node_modules/@babel/plugin-syntax-numeric-separator": {
+ "version": "7.10.4",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz",
+ "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==",
+ "dev": true,
"dependencies": {
- "end-of-stream": "^1.1.0",
- "once": "^1.3.1"
+ "@babel/helper-plugin-utils": "^7.10.4"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/semver": {
- "version": "5.7.1",
- "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz",
- "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==",
- "bin": {
- "semver": "bin/semver"
+ "node_modules/@babel/plugin-syntax-object-rest-spread": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz",
+ "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/shebang-command": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz",
- "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=",
+ "node_modules/@babel/plugin-syntax-optional-catch-binding": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz",
+ "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-optional-chaining": {
+ "version": "7.8.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz",
+ "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.8.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
+ }
+ },
+ "node_modules/@babel/plugin-syntax-top-level-await": {
+ "version": "7.14.5",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz",
+ "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==",
+ "dev": true,
"dependencies": {
- "shebang-regex": "^1.0.0"
+ "@babel/helper-plugin-utils": "^7.14.5"
},
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/shebang-regex": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz",
- "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=",
+ "node_modules/@babel/plugin-syntax-typescript": {
+ "version": "7.23.3",
+ "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.23.3.tgz",
+ "integrity": "sha512-9EiNjVJOMwCO+43TqoTrgQ8jMwcAd0sWyXi9RPfIsLTj4R2MADDDQXELhffaUx/uJv2AYcxBgPwH6j4TIA4ytQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.22.5"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.9.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0-0"
}
},
- "node_modules/signal-exit": {
- "version": "3.0.6",
- "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz",
- "integrity": "sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ=="
+ "node_modules/@babel/template": {
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.23.9.tgz",
+ "integrity": "sha512-+xrD2BWLpvHKNmX2QbpdpsBaWnRxahMwJjO+KZk2JOElj5nSmKezyS1B4u+QbHMTX69t4ukm6hh9lsYQ7GHCKA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.23.5",
+ "@babel/parser": "^7.23.9",
+ "@babel/types": "^7.23.9"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
},
- "node_modules/strip-eof": {
- "version": "1.0.0",
- "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz",
- "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=",
+ "node_modules/@babel/traverse": {
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.23.9.tgz",
+ "integrity": "sha512-I/4UJ9vs90OkBtY6iiiTORVMyIhJ4kAVmsKo9KFc8UOxMeUfi2hvtIBsET5u9GizXE6/GFSuKCTNfgCswuEjRg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.23.5",
+ "@babel/generator": "^7.23.6",
+ "@babel/helper-environment-visitor": "^7.22.20",
+ "@babel/helper-function-name": "^7.23.0",
+ "@babel/helper-hoist-variables": "^7.22.5",
+ "@babel/helper-split-export-declaration": "^7.22.6",
+ "@babel/parser": "^7.23.9",
+ "@babel/types": "^7.23.9",
+ "debug": "^4.3.1",
+ "globals": "^11.1.0"
+ },
"engines": {
- "node": ">=0.10.0"
+ "node": ">=6.9.0"
}
},
- "node_modules/tunnel": {
- "version": "0.0.6",
- "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
- "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
+ "node_modules/@babel/traverse/node_modules/globals": {
+ "version": "11.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz",
+ "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==",
+ "dev": true,
"engines": {
- "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
+ "node": ">=4"
}
},
- "node_modules/universal-user-agent": {
- "version": "4.0.1",
- "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-4.0.1.tgz",
- "integrity": "sha512-LnST3ebHwVL2aNe4mejI9IQh2HfZ1RLo8Io2HugSif8ekzD1TlWpHpColOB/eh8JHMLkGH3Akqf040I+4ylNxg==",
+ "node_modules/@babel/types": {
+ "version": "7.23.9",
+ "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.23.9.tgz",
+ "integrity": "sha512-dQjSq/7HaSjRM43FFGnv5keM2HsxpmyV1PfaSVm0nzzjwwTmjOe6J4bC8e3+pTEIgHaHj+1ZlLThRJ2auc/w1Q==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-string-parser": "^7.23.4",
+ "@babel/helper-validator-identifier": "^7.22.20",
+ "to-fast-properties": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/@bcoe/v8-coverage": {
+ "version": "0.2.3",
+ "resolved": "https://registry.npmjs.org/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz",
+ "integrity": "sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw==",
+ "dev": true
+ },
+ "node_modules/@eslint-community/eslint-utils": {
+ "version": "4.4.0",
+ "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz",
+ "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==",
+ "dev": true,
"dependencies": {
- "os-name": "^3.1.0"
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0"
}
},
- "node_modules/which": {
- "version": "1.3.1",
- "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz",
- "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==",
+ "node_modules/@eslint/eslintrc": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.4.tgz",
+ "integrity": "sha512-h8Vx6MdxwWI2WM8/zREHMoqdgLNXEL4QX3MWSVMdyNJGvXVOs+6lp+m2hc3FnuMHDc4poxFNI20vCk0OmI4G0Q==",
+ "dev": true,
"dependencies": {
- "isexe": "^2.0.0"
+ "ajv": "^6.12.4",
+ "debug": "^4.3.2",
+ "espree": "^9.0.0",
+ "globals": "^13.9.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.2.1",
+ "js-yaml": "^4.1.0",
+ "minimatch": "^3.0.4",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/@eslint/eslintrc/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/@eslint/eslintrc/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
},
"bin": {
- "which": "bin/which"
+ "js-yaml": "bin/js-yaml.js"
}
},
- "node_modules/windows-release": {
- "version": "3.2.0",
- "resolved": "https://registry.npmjs.org/windows-release/-/windows-release-3.2.0.tgz",
- "integrity": "sha512-QTlz2hKLrdqukrsapKsINzqMgOUpQW268eJ0OaOpJN32h272waxR9fkB9VoWRtK7uKHG5EHJcTXQBD8XZVJkFA==",
+ "node_modules/@humanwhocodes/config-array": {
+ "version": "0.6.0",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz",
+ "integrity": "sha512-JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==",
+ "dev": true,
"dependencies": {
- "execa": "^1.0.0"
+ "@humanwhocodes/object-schema": "^1.2.0",
+ "debug": "^4.1.1",
+ "minimatch": "^3.0.4"
},
"engines": {
- "node": ">=6"
+ "node": ">=10.10.0"
}
},
- "node_modules/wrappy": {
- "version": "1.0.2",
- "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
- "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ "node_modules/@humanwhocodes/object-schema": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz",
+ "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==",
+ "dev": true
+ },
+ "node_modules/@istanbuljs/load-nyc-config": {
+ "version": "1.1.0",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz",
+ "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==",
+ "dev": true,
+ "dependencies": {
+ "camelcase": "^5.3.1",
+ "find-up": "^4.1.0",
+ "get-package-type": "^0.1.0",
+ "js-yaml": "^3.13.1",
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/load-nyc-config/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@istanbuljs/schema": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz",
+ "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/@jest/console": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/console/-/console-29.7.0.tgz",
+ "integrity": "sha512-5Ni4CU7XHQi32IJ398EEP4RrB8eV09sXP2ROqD4bksHrnTree52PsxvX8tpL8LvTZ3pFzXyPbNQReSN41CAhOg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/core": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/core/-/core-29.7.0.tgz",
+ "integrity": "sha512-n7aeXWKMnGtDA48y8TLWJPJmLmmZ642Ceo78cYWEpiD7FzDgmNDV/GCVRorPABdXLJZ/9wzzgZAlHjXjxDHGsg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/console": "^29.7.0",
+ "@jest/reporters": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-changed-files": "^29.7.0",
+ "jest-config": "^29.7.0",
+ "jest-haste-map": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-resolve": "^29.7.0",
+ "jest-resolve-dependencies": "^29.7.0",
+ "jest-runner": "^29.7.0",
+ "jest-runtime": "^29.7.0",
+ "jest-snapshot": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "jest-watcher": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/environment": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/environment/-/environment-29.7.0.tgz",
+ "integrity": "sha512-aQIfHDq33ExsN4jP1NWGXhxgQ/wixs60gDiKO+XVMd8Mn0NWPWgc34ZQDTb2jKaUWQ7MuwoitXAsN2XVXNMpAw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-mock": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/expect": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect/-/expect-29.7.0.tgz",
+ "integrity": "sha512-8uMeAMycttpva3P1lBHB8VciS9V0XAr3GymPpipdyQXbBcuhkLQOSe8E/p92RyAdToS6ZD1tFkX+CkhoECE0dQ==",
+ "dev": true,
+ "dependencies": {
+ "expect": "^29.7.0",
+ "jest-snapshot": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/expect-utils": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/expect-utils/-/expect-utils-29.7.0.tgz",
+ "integrity": "sha512-GlsNBWiFQFCVi9QVSx7f5AgMeLxe9YCCs5PuP2O2LdjDAA8Jh9eX7lA1Jq/xdXw3Wb3hyvlFNfZIfcRetSzYcA==",
+ "dev": true,
+ "dependencies": {
+ "jest-get-type": "^29.6.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/fake-timers": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-29.7.0.tgz",
+ "integrity": "sha512-q4DH1Ha4TTFPdxLsqDXK1d3+ioSL7yL5oCMJZgDYm6i+6CygW5E5xVr/D1HdsGxjt1ZWSfUAs9OxSB/BNelWrQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@sinonjs/fake-timers": "^10.0.2",
+ "@types/node": "*",
+ "jest-message-util": "^29.7.0",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/globals": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/globals/-/globals-29.7.0.tgz",
+ "integrity": "sha512-mpiz3dutLbkW2MNFubUGUEVLkTGiqW6yLVTA+JbP6fI6J5iL9Y0Nlg8k95pcF8ctKwCS7WVxteBs29hhfAotzQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/expect": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "jest-mock": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/reporters": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/reporters/-/reporters-29.7.0.tgz",
+ "integrity": "sha512-DApq0KJbJOEzAFYjHADNNxAE3KbhxQB1y5Kplb5Waqw6zVbuWatSnMjE5gs8FUgEPmNsnZA3NCWl9NG0ia04Pg==",
+ "dev": true,
+ "dependencies": {
+ "@bcoe/v8-coverage": "^0.2.3",
+ "@jest/console": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "exit": "^0.1.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "istanbul-lib-coverage": "^3.0.0",
+ "istanbul-lib-instrument": "^6.0.0",
+ "istanbul-lib-report": "^3.0.0",
+ "istanbul-lib-source-maps": "^4.0.0",
+ "istanbul-reports": "^3.1.3",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "slash": "^3.0.0",
+ "string-length": "^4.0.1",
+ "strip-ansi": "^6.0.0",
+ "v8-to-istanbul": "^9.0.1"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@jest/schemas": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/schemas/-/schemas-29.6.3.tgz",
+ "integrity": "sha512-mo5j5X+jIZmJQveBKeS/clAueipV7KgiX1vMgCxam1RNYiqE1w62n0/tJJnHtjW8ZHcQco5gY85jA3mi0L+nSA==",
+ "dev": true,
+ "dependencies": {
+ "@sinclair/typebox": "^0.27.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/source-map": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/source-map/-/source-map-29.6.3.tgz",
+ "integrity": "sha512-MHjT95QuipcPrpLM+8JMSzFx6eHp5Bm+4XeFDJlwsvVBjmKNiIAvasGK2fxz2WbGRlnvqehFbh07MMa7n3YJnw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "callsites": "^3.0.0",
+ "graceful-fs": "^4.2.9"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-result": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-result/-/test-result-29.7.0.tgz",
+ "integrity": "sha512-Fdx+tv6x1zlkJPcWXmMDAG2HBnaR9XPSd5aDWQVsfrZmLVT3lU1cwyxLgRmXR9yrq4NBoEm9BMsfgFzTQAbJYA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/console": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "collect-v8-coverage": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/test-sequencer": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/test-sequencer/-/test-sequencer-29.7.0.tgz",
+ "integrity": "sha512-GQwJ5WZVrKnOJuiYiAF52UNUJXgTZx1NHjFSEB0qEMmSZKAkdMoIzw/Cj6x6NF4AvV23AUqDpFzQkN/eYCYTxw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/test-result": "^29.7.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/transform": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-29.7.0.tgz",
+ "integrity": "sha512-ok/BTPFzFKVMwO5eOHRrvnBVHdRy9IrsrW1GpMaQ9MCnilNLXQKmAX8s1YXDFaai9xJpac2ySzV0YeRRECr2Vw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/types": "^29.6.3",
+ "@jridgewell/trace-mapping": "^0.3.18",
+ "babel-plugin-istanbul": "^6.1.1",
+ "chalk": "^4.0.0",
+ "convert-source-map": "^2.0.0",
+ "fast-json-stable-stringify": "^2.1.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "pirates": "^4.0.4",
+ "slash": "^3.0.0",
+ "write-file-atomic": "^4.0.2"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jest/types": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/@jest/types/-/types-29.6.3.tgz",
+ "integrity": "sha512-u3UPsIilWKOM3F9CXtrG8LEJmNxwoCQC/XVj4IKYXvvpx7QIi/Kg1LI5uDmDpKlac62NUtX7eLjRh+jVZcLOzw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "@types/istanbul-lib-coverage": "^2.0.0",
+ "@types/istanbul-reports": "^3.0.0",
+ "@types/node": "*",
+ "@types/yargs": "^17.0.8",
+ "chalk": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/@jridgewell/gen-mapping": {
+ "version": "0.3.3",
+ "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz",
+ "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/set-array": "^1.0.1",
+ "@jridgewell/sourcemap-codec": "^1.4.10",
+ "@jridgewell/trace-mapping": "^0.3.9"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/resolve-uri": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz",
+ "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/set-array": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz",
+ "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/@jridgewell/sourcemap-codec": {
+ "version": "1.4.15",
+ "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz",
+ "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==",
+ "dev": true
+ },
+ "node_modules/@jridgewell/trace-mapping": {
+ "version": "0.3.22",
+ "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.22.tgz",
+ "integrity": "sha512-Wf963MzWtA2sjrNt+g18IAln9lKnlRp+K2eH4jjIoF1wYeq3aMREpG09xhlhdzS0EjwU7qmUJYangWa+151vZw==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/resolve-uri": "^3.1.0",
+ "@jridgewell/sourcemap-codec": "^1.4.14"
+ }
+ },
+ "node_modules/@nodelib/fs.scandir": {
+ "version": "2.1.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz",
+ "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "2.0.5",
+ "run-parallel": "^1.1.9"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.stat": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz",
+ "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@nodelib/fs.walk": {
+ "version": "1.2.8",
+ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz",
+ "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.scandir": "2.1.5",
+ "fastq": "^1.6.0"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/@octokit/auth-token": {
+ "version": "2.5.0",
+ "resolved": "https://registry.npmjs.org/@octokit/auth-token/-/auth-token-2.5.0.tgz",
+ "integrity": "sha512-r5FVUJCOLl19AxiuZD2VRZ/ORjp/4IN98Of6YJoJOkY75CIBuYfmiNHGrDwXr+aLGG55igl9QrxX3hbiXlLb+g==",
+ "dependencies": {
+ "@octokit/types": "^6.0.3"
+ }
+ },
+ "node_modules/@octokit/core": {
+ "version": "3.6.0",
+ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-3.6.0.tgz",
+ "integrity": "sha512-7RKRKuA4xTjMhY+eG3jthb3hlZCsOwg3rztWh75Xc+ShDWOfDDATWbeZpAHBNRpm4Tv9WgBMOy1zEJYXG6NJ7Q==",
+ "dependencies": {
+ "@octokit/auth-token": "^2.4.4",
+ "@octokit/graphql": "^4.5.8",
+ "@octokit/request": "^5.6.3",
+ "@octokit/request-error": "^2.0.5",
+ "@octokit/types": "^6.0.3",
+ "before-after-hook": "^2.2.0",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "node_modules/@octokit/endpoint": {
+ "version": "6.0.12",
+ "resolved": "https://registry.npmjs.org/@octokit/endpoint/-/endpoint-6.0.12.tgz",
+ "integrity": "sha512-lF3puPwkQWGfkMClXb4k/eUT/nZKQfxinRWJrdZaJO85Dqwo/G0yOC434Jr2ojwafWJMYqFGFa5ms4jJUgujdA==",
+ "dependencies": {
+ "@octokit/types": "^6.0.3",
+ "is-plain-object": "^5.0.0",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "node_modules/@octokit/graphql": {
+ "version": "4.8.0",
+ "resolved": "https://registry.npmjs.org/@octokit/graphql/-/graphql-4.8.0.tgz",
+ "integrity": "sha512-0gv+qLSBLKF0z8TKaSKTsS39scVKF9dbMxJpj3U0vC7wjNWFuIpL/z76Qe2fiuCbDRcJSavkXsVtMS6/dtQQsg==",
+ "dependencies": {
+ "@octokit/request": "^5.6.0",
+ "@octokit/types": "^6.0.3",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "node_modules/@octokit/openapi-types": {
+ "version": "12.11.0",
+ "resolved": "https://registry.npmjs.org/@octokit/openapi-types/-/openapi-types-12.11.0.tgz",
+ "integrity": "sha512-VsXyi8peyRq9PqIz/tpqiL2w3w80OgVMwBHltTml3LmVvXiphgeqmY9mvBw9Wu7e0QWk/fqD37ux8yP5uVekyQ=="
+ },
+ "node_modules/@octokit/plugin-paginate-rest": {
+ "version": "2.21.3",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-paginate-rest/-/plugin-paginate-rest-2.21.3.tgz",
+ "integrity": "sha512-aCZTEf0y2h3OLbrgKkrfFdjRL6eSOo8komneVQJnYecAxIej7Bafor2xhuDJOIFau4pk0i/P28/XgtbyPF0ZHw==",
+ "dependencies": {
+ "@octokit/types": "^6.40.0"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=2"
+ }
+ },
+ "node_modules/@octokit/plugin-rest-endpoint-methods": {
+ "version": "5.16.2",
+ "resolved": "https://registry.npmjs.org/@octokit/plugin-rest-endpoint-methods/-/plugin-rest-endpoint-methods-5.16.2.tgz",
+ "integrity": "sha512-8QFz29Fg5jDuTPXVtey05BLm7OB+M8fnvE64RNegzX7U+5NUXcOcnpTIK0YfSHBg8gYd0oxIq3IZTe9SfPZiRw==",
+ "dependencies": {
+ "@octokit/types": "^6.39.0",
+ "deprecation": "^2.3.1"
+ },
+ "peerDependencies": {
+ "@octokit/core": ">=3"
+ }
+ },
+ "node_modules/@octokit/request": {
+ "version": "5.6.3",
+ "resolved": "https://registry.npmjs.org/@octokit/request/-/request-5.6.3.tgz",
+ "integrity": "sha512-bFJl0I1KVc9jYTe9tdGGpAMPy32dLBXXo1dS/YwSCTL/2nd9XeHsY616RE3HPXDVk+a+dBuzyz5YdlXwcDTr2A==",
+ "dependencies": {
+ "@octokit/endpoint": "^6.0.1",
+ "@octokit/request-error": "^2.1.0",
+ "@octokit/types": "^6.16.1",
+ "is-plain-object": "^5.0.0",
+ "node-fetch": "^2.6.7",
+ "universal-user-agent": "^6.0.0"
+ }
+ },
+ "node_modules/@octokit/request-error": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@octokit/request-error/-/request-error-2.1.0.tgz",
+ "integrity": "sha512-1VIvgXxs9WHSjicsRwq8PlR2LR2x6DwsJAaFgzdi0JfJoGSO8mYI/cHJQ+9FbN21aa+DrgNLnwObmyeSC8Rmpg==",
+ "dependencies": {
+ "@octokit/types": "^6.0.3",
+ "deprecation": "^2.0.0",
+ "once": "^1.4.0"
+ }
+ },
+ "node_modules/@octokit/types": {
+ "version": "6.41.0",
+ "resolved": "https://registry.npmjs.org/@octokit/types/-/types-6.41.0.tgz",
+ "integrity": "sha512-eJ2jbzjdijiL3B4PrSQaSjuF2sPEQPVCPzBvTHJD9Nz+9dw2SGH4K4xeQJ77YfTq5bRQ+bD8wT11JbeDPmxmGg==",
+ "dependencies": {
+ "@octokit/openapi-types": "^12.11.0"
+ }
+ },
+ "node_modules/@sinclair/typebox": {
+ "version": "0.27.8",
+ "resolved": "https://registry.npmjs.org/@sinclair/typebox/-/typebox-0.27.8.tgz",
+ "integrity": "sha512-+Fj43pSMwJs4KRrH/938Uf+uAELIgVBmQzg/q1YG10djyfA3TnrU8N8XzqCh/okZdszqBQTZf96idMfE5lnwTA==",
+ "dev": true
+ },
+ "node_modules/@sinonjs/commons": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/@sinonjs/commons/-/commons-3.0.1.tgz",
+ "integrity": "sha512-K3mCHKQ9sVh8o1C9cxkwxaOmXoAMlDxC1mYyHrjqOWEcBjYr76t96zL2zlj5dUGZ3HSw240X1qgH3Mjf1yJWpQ==",
+ "dev": true,
+ "dependencies": {
+ "type-detect": "4.0.8"
+ }
+ },
+ "node_modules/@sinonjs/fake-timers": {
+ "version": "10.3.0",
+ "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz",
+ "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==",
+ "dev": true,
+ "dependencies": {
+ "@sinonjs/commons": "^3.0.0"
+ }
+ },
+ "node_modules/@types/acorn": {
+ "version": "4.0.5",
+ "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.5.tgz",
+ "integrity": "sha512-603sPiZ4GVRHPvn6vNgEAvJewKsy+zwRWYS2MeIMemgoAtcjlw2G3lALxrb9OPA17J28bkB71R33yXlQbUatCA==",
+ "dev": true,
+ "dependencies": {
+ "@types/estree": "*"
+ }
+ },
+ "node_modules/@types/babel__core": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz",
+ "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.20.7",
+ "@babel/types": "^7.20.7",
+ "@types/babel__generator": "*",
+ "@types/babel__template": "*",
+ "@types/babel__traverse": "*"
+ }
+ },
+ "node_modules/@types/babel__generator": {
+ "version": "7.6.8",
+ "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz",
+ "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__template": {
+ "version": "7.4.4",
+ "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz",
+ "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==",
+ "dev": true,
+ "dependencies": {
+ "@babel/parser": "^7.1.0",
+ "@babel/types": "^7.0.0"
+ }
+ },
+ "node_modules/@types/babel__traverse": {
+ "version": "7.20.5",
+ "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz",
+ "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/types": "^7.20.7"
+ }
+ },
+ "node_modules/@types/cheerio": {
+ "version": "0.22.16",
+ "resolved": "https://registry.npmjs.org/@types/cheerio/-/cheerio-0.22.16.tgz",
+ "integrity": "sha512-bSbnU/D4yzFdzLpp3+rcDj0aQQMIRUBNJU7azPxdqMpnexjUSvGJyDuOBQBHeOZh1mMKgsJm6Dy+LLh80Ew4tQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/deep-diff": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/@types/deep-diff/-/deep-diff-1.0.0.tgz",
+ "integrity": "sha512-ENsJcujGbCU/oXhDfQ12mSo/mCBWodT2tpARZKmatoSrf8+cGRCPi0KVj3I0FORhYZfLXkewXu7AoIWqiBLkNw==",
+ "dev": true
+ },
+ "node_modules/@types/deep-equal": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/@types/deep-equal/-/deep-equal-1.0.1.tgz",
+ "integrity": "sha512-mMUu4nWHLBlHtxXY17Fg6+ucS/MnndyOWyOe7MmwkoMYxvfQU2ajtRaEvqSUv+aVkMqH/C0NCI8UoVfRNQ10yg==",
+ "dev": true
+ },
+ "node_modules/@types/estree": {
+ "version": "0.0.39",
+ "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz",
+ "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==",
+ "dev": true
+ },
+ "node_modules/@types/events": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz",
+ "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==",
+ "dev": true
+ },
+ "node_modules/@types/glob": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz",
+ "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==",
+ "dev": true,
+ "dependencies": {
+ "@types/events": "*",
+ "@types/minimatch": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/graceful-fs": {
+ "version": "4.1.9",
+ "resolved": "https://registry.npmjs.org/@types/graceful-fs/-/graceful-fs-4.1.9.tgz",
+ "integrity": "sha512-olP3sd1qOEe5dXTSaFvQG+02VdRXcdytWLAZsAq1PecU8uqQAhkrnbli7DagjtXKW/Bl7YJbUsa8MPcuc8LHEQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/istanbul-lib-coverage": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.6.tgz",
+ "integrity": "sha512-2QF/t/auWm0lsy8XtKVPG19v3sSOQlJe/YHZgfjb/KBBHOGSV+J2q/S671rcq9uTBrLAXmZpqJiaQbMT+zNU1w==",
+ "dev": true
+ },
+ "node_modules/@types/istanbul-lib-report": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-lib-report/-/istanbul-lib-report-3.0.3.tgz",
+ "integrity": "sha512-NQn7AHQnk/RSLOxrBbGyJM/aVQ+pjj5HCgasFxc0K/KhoATfQ/47AyUl15I2yBUpihjmas+a+VJBOqecrFH+uA==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-coverage": "*"
+ }
+ },
+ "node_modules/@types/istanbul-reports": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/@types/istanbul-reports/-/istanbul-reports-3.0.4.tgz",
+ "integrity": "sha512-pk2B1NWalF9toCRu6gjBzR69syFjP4Od8WRAX+0mmf9lAjCRicLOWc+ZrxZHx/0XRjotgkF9t6iaMJ+aXcOdZQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/istanbul-lib-report": "*"
+ }
+ },
+ "node_modules/@types/jest": {
+ "version": "29.5.11",
+ "resolved": "https://registry.npmjs.org/@types/jest/-/jest-29.5.11.tgz",
+ "integrity": "sha512-S2mHmYIVe13vrm6q4kN6fLYYAka15ALQki/vgDC3mIukEOx8WJlv0kQPM+d4w8Gp6u0uSdKND04IlTXBv0rwnQ==",
+ "dev": true,
+ "dependencies": {
+ "expect": "^29.0.0",
+ "pretty-format": "^29.0.0"
+ }
+ },
+ "node_modules/@types/json-schema": {
+ "version": "7.0.9",
+ "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.9.tgz",
+ "integrity": "sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==",
+ "dev": true
+ },
+ "node_modules/@types/linkify-it": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-2.1.0.tgz",
+ "integrity": "sha512-Q7DYAOi9O/+cLLhdaSvKdaumWyHbm7HAk/bFwwyTuU0arR5yyCeW5GOoqt4tJTpDRxhpx9Q8kQL6vMpuw9hDSw==",
+ "dev": true
+ },
+ "node_modules/@types/markdown-it": {
+ "version": "12.2.3",
+ "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz",
+ "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==",
+ "dev": true,
+ "dependencies": {
+ "@types/linkify-it": "*",
+ "@types/mdurl": "*"
+ }
+ },
+ "node_modules/@types/mdurl": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-1.0.2.tgz",
+ "integrity": "sha512-eC4U9MlIcu2q0KQmXszyn5Akca/0jrQmwDRgpAMJai7qBWq4amIQhZyNau4VYGtCeALvW1/NtjzJJ567aZxfKA==",
+ "dev": true
+ },
+ "node_modules/@types/minimatch": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz",
+ "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==",
+ "dev": true
+ },
+ "node_modules/@types/node": {
+ "version": "24.3.1",
+ "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.1.tgz",
+ "integrity": "sha512-3vXmQDXy+woz+gnrTvuvNrPzekOi+Ds0ReMxw0LzBiK3a+1k0kQn9f2NWk+lgD4rJehFUmYy2gMhJ2ZI+7YP9g==",
+ "dev": true,
+ "dependencies": {
+ "undici-types": "~7.10.0"
+ }
+ },
+ "node_modules/@types/rimraf": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/rimraf/-/rimraf-2.0.3.tgz",
+ "integrity": "sha512-dZfyfL/u9l/oi984hEXdmAjX3JHry7TLWw43u1HQ8HhPv6KtfxnrZ3T/bleJ0GEvnk9t5sM7eePkgMqz3yBcGg==",
+ "dev": true,
+ "dependencies": {
+ "@types/glob": "*",
+ "@types/node": "*"
+ }
+ },
+ "node_modules/@types/semver": {
+ "version": "7.5.6",
+ "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.6.tgz",
+ "integrity": "sha512-dn1l8LaMea/IjDoHNd9J52uBbInB796CDffS6VdIxvqYCPSG0V0DzHp76GpaWnlhg88uYyPbXCDIowa86ybd5A==",
+ "dev": true
+ },
+ "node_modules/@types/stack-utils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.3.tgz",
+ "integrity": "sha512-9aEbYZ3TbYMznPdcdr3SmIrLXwC/AKZXQeCf9Pgao5CKb8CyHuEX5jzWPTkvregvhRJHcpRO6BFoGW9ycaOkYw==",
+ "dev": true
+ },
+ "node_modules/@types/yargs": {
+ "version": "17.0.32",
+ "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz",
+ "integrity": "sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog==",
+ "dev": true,
+ "dependencies": {
+ "@types/yargs-parser": "*"
+ }
+ },
+ "node_modules/@types/yargs-parser": {
+ "version": "21.0.3",
+ "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.3.tgz",
+ "integrity": "sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ==",
+ "dev": true
+ },
+ "node_modules/@typescript-eslint/eslint-plugin": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.4.0.tgz",
+ "integrity": "sha512-9/yPSBlwzsetCsGEn9j24D8vGQgJkOTr4oMLas/w886ZtzKIs1iyoqFrwsX2fqYEeUwsdBpC21gcjRGo57u0eg==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/experimental-utils": "5.4.0",
+ "@typescript-eslint/scope-manager": "5.4.0",
+ "debug": "^4.3.2",
+ "functional-red-black-tree": "^1.0.1",
+ "ignore": "^5.1.8",
+ "regexpp": "^3.2.0",
+ "semver": "^7.3.5",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/parser": "^5.0.0",
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": {
+ "version": "5.1.9",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz",
+ "integrity": "sha512-2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/@typescript-eslint/experimental-utils": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.4.0.tgz",
+ "integrity": "sha512-Nz2JDIQUdmIGd6p33A+naQmwfkU5KVTLb/5lTk+tLVTDacZKoGQisj8UCxk7onJcrgjIvr8xWqkYI+DbI3TfXg==",
+ "dev": true,
+ "dependencies": {
+ "@types/json-schema": "^7.0.9",
+ "@typescript-eslint/scope-manager": "5.4.0",
+ "@typescript-eslint/types": "5.4.0",
+ "@typescript-eslint/typescript-estree": "5.4.0",
+ "eslint-scope": "^5.1.1",
+ "eslint-utils": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "*"
+ }
+ },
+ "node_modules/@typescript-eslint/parser": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.4.0.tgz",
+ "integrity": "sha512-JoB41EmxiYpaEsRwpZEYAJ9XQURPFer8hpkIW9GiaspVLX8oqbqNM8P4EP8HOZg96yaALiLEVWllA2E8vwsIKw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/scope-manager": "5.4.0",
+ "@typescript-eslint/types": "5.4.0",
+ "@typescript-eslint/typescript-estree": "5.4.0",
+ "debug": "^4.3.2"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.4.0.tgz",
+ "integrity": "sha512-pRxFjYwoi8R+n+sibjgF9iUiAELU9ihPBtHzocyW8v8D8G8KeQvXTsW7+CBYIyTYsmhtNk50QPGLE3vrvhM5KA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.4.0",
+ "@typescript-eslint/visitor-keys": "5.4.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/types": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.4.0.tgz",
+ "integrity": "sha512-GjXNpmn+n1LvnttarX+sPD6+S7giO+9LxDIGlRl4wK3a7qMWALOHYuVSZpPTfEIklYjaWuMtfKdeByx0AcaThA==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.4.0.tgz",
+ "integrity": "sha512-nhlNoBdhKuwiLMx6GrybPT3SFILm5Gij2YBdPEPFlYNFAXUJWX6QRgvi/lwVoadaQEFsizohs6aFRMqsXI2ewA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.4.0",
+ "@typescript-eslint/visitor-keys": "5.4.0",
+ "debug": "^4.3.2",
+ "globby": "^11.0.4",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.5",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.62.0.tgz",
+ "integrity": "sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==",
+ "dev": true,
+ "dependencies": {
+ "@eslint-community/eslint-utils": "^4.2.0",
+ "@types/json-schema": "^7.0.9",
+ "@types/semver": "^7.3.12",
+ "@typescript-eslint/scope-manager": "5.62.0",
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/typescript-estree": "5.62.0",
+ "eslint-scope": "^5.1.1",
+ "semver": "^7.3.7"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependencies": {
+ "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/scope-manager": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.62.0.tgz",
+ "integrity": "sha512-VXuvVvZeQCQb5Zgf4HAxc04q5j+WrNAtNh9OwCsCgpKqESMTu3tF/jhZ3xG6T4NZwWl65Bg8KuS2uEvhSfLl0w==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/types": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.62.0.tgz",
+ "integrity": "sha512-87NVngcbVXUahrRTqIK27gD2t5Cu1yuCXxbLcFtCzZGlfyVWWh8mLHkoxzjsB6DDNnvdL+fW8MiwPEJyGJQDgQ==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/typescript-estree": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.62.0.tgz",
+ "integrity": "sha512-CmcQ6uY7b9y694lKdRB8FEel7JbU/40iSAPomu++SjLMntB+2Leay2LO6i8VnJk58MtE9/nQSFIH6jpyRWyYzA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "@typescript-eslint/visitor-keys": "5.62.0",
+ "debug": "^4.3.4",
+ "globby": "^11.1.0",
+ "is-glob": "^4.0.3",
+ "semver": "^7.3.7",
+ "tsutils": "^3.21.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ },
+ "peerDependenciesMeta": {
+ "typescript": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@typescript-eslint/utils/node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.62.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.62.0.tgz",
+ "integrity": "sha512-07ny+LHRzQXepkGg6w0mFY41fVUNBrL2Roj/++7V1txKugfjm/Ci/qSND03r2RhlJhJYMcTn9AhhSSqQp0Ysyw==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.62.0",
+ "eslint-visitor-keys": "^3.3.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/@typescript-eslint/visitor-keys": {
+ "version": "5.4.0",
+ "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.4.0.tgz",
+ "integrity": "sha512-PVbax7MeE7tdLfW5SA0fs8NGVVr+buMPrcj+CWYWPXsZCH8qZ1THufDzbXm1xrZ2b2PA1iENJ0sRq5fuUtvsJg==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/types": "5.4.0",
+ "eslint-visitor-keys": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "type": "opencollective",
+ "url": "https://opencollective.com/typescript-eslint"
+ }
+ },
+ "node_modules/acorn": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-7.1.1.tgz",
+ "integrity": "sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/ajv": {
+ "version": "6.12.6",
+ "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz",
+ "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==",
+ "dev": true,
+ "dependencies": {
+ "fast-deep-equal": "^3.1.1",
+ "fast-json-stable-stringify": "^2.0.0",
+ "json-schema-traverse": "^0.4.1",
+ "uri-js": "^4.2.2"
+ },
+ "funding": {
+ "type": "github",
+ "url": "https://github.com/sponsors/epoberezkin"
+ }
+ },
+ "node_modules/ansi-escapes": {
+ "version": "4.3.2",
+ "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz",
+ "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.21.3"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/ansi-regex": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz",
+ "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/ansi-styles": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz",
+ "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==",
+ "dev": true,
+ "dependencies": {
+ "color-convert": "^2.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/anymatch": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz",
+ "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==",
+ "dev": true,
+ "dependencies": {
+ "normalize-path": "^3.0.0",
+ "picomatch": "^2.0.4"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/argparse": {
+ "version": "1.0.10",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz",
+ "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==",
+ "dev": true,
+ "dependencies": {
+ "sprintf-js": "~1.0.2"
+ }
+ },
+ "node_modules/array-union": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz",
+ "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-jest": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/babel-jest/-/babel-jest-29.7.0.tgz",
+ "integrity": "sha512-BrvGY3xZSwEcCzKvKsCi2GgHqDqsYkOP4/by5xCgIwGXQxIEh+8ew3gmrE1y7XRR6LHZIj6yLYnUi/mm2KXKBg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/transform": "^29.7.0",
+ "@types/babel__core": "^7.1.14",
+ "babel-plugin-istanbul": "^6.1.1",
+ "babel-preset-jest": "^29.6.3",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.8.0"
+ }
+ },
+ "node_modules/babel-plugin-istanbul": {
+ "version": "6.1.1",
+ "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz",
+ "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/helper-plugin-utils": "^7.0.0",
+ "@istanbuljs/load-nyc-config": "^1.0.0",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-instrument": "^5.0.4",
+ "test-exclude": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-istanbul/node_modules/istanbul-lib-instrument": {
+ "version": "5.2.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz",
+ "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^6.3.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/babel-plugin-istanbul/node_modules/semver": {
+ "version": "6.3.1",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz",
+ "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==",
+ "dev": true,
+ "bin": {
+ "semver": "bin/semver.js"
+ }
+ },
+ "node_modules/babel-plugin-jest-hoist": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/babel-plugin-jest-hoist/-/babel-plugin-jest-hoist-29.6.3.tgz",
+ "integrity": "sha512-ESAc/RJvGTFEzRwOTT4+lNDk/GNHMkKbNzsvT0qKRfDyyYTskxB5rnU2njIDYVxXCBHHEI1c0YwHob3WaYujOg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/template": "^7.3.3",
+ "@babel/types": "^7.3.3",
+ "@types/babel__core": "^7.1.14",
+ "@types/babel__traverse": "^7.0.6"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/babel-preset-current-node-syntax": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz",
+ "integrity": "sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/plugin-syntax-async-generators": "^7.8.4",
+ "@babel/plugin-syntax-bigint": "^7.8.3",
+ "@babel/plugin-syntax-class-properties": "^7.8.3",
+ "@babel/plugin-syntax-import-meta": "^7.8.3",
+ "@babel/plugin-syntax-json-strings": "^7.8.3",
+ "@babel/plugin-syntax-logical-assignment-operators": "^7.8.3",
+ "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3",
+ "@babel/plugin-syntax-numeric-separator": "^7.8.3",
+ "@babel/plugin-syntax-object-rest-spread": "^7.8.3",
+ "@babel/plugin-syntax-optional-catch-binding": "^7.8.3",
+ "@babel/plugin-syntax-optional-chaining": "^7.8.3",
+ "@babel/plugin-syntax-top-level-await": "^7.8.3"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/babel-preset-jest": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/babel-preset-jest/-/babel-preset-jest-29.6.3.tgz",
+ "integrity": "sha512-0B3bhxR6snWXJZtR/RliHTDPRgn1sNHOR0yVtq/IiQFyuOVjFS+wuio/R4gSNkyYmKmJB4wGZv2NZanmKmTnNA==",
+ "dev": true,
+ "dependencies": {
+ "babel-plugin-jest-hoist": "^29.6.3",
+ "babel-preset-current-node-syntax": "^1.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": "^7.0.0"
+ }
+ },
+ "node_modules/balanced-match": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz",
+ "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=",
+ "dev": true
+ },
+ "node_modules/before-after-hook": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/before-after-hook/-/before-after-hook-2.2.3.tgz",
+ "integrity": "sha512-NzUnlZexiaH/46WDhANlyR2bXRopNg4F/zuSA3OpZnllCUgRaOF2znDioDWrmbNVsuZk6l9pMquQB38cfBZwkQ=="
+ },
+ "node_modules/boolbase": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz",
+ "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=",
+ "dev": true
+ },
+ "node_modules/brace-expansion": {
+ "version": "1.1.11",
+ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz",
+ "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==",
+ "dev": true,
+ "dependencies": {
+ "balanced-match": "^1.0.0",
+ "concat-map": "0.0.1"
+ }
+ },
+ "node_modules/braces": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
+ "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
+ "dev": true,
+ "dependencies": {
+ "fill-range": "^7.1.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/browserslist": {
+ "version": "4.22.3",
+ "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.22.3.tgz",
+ "integrity": "sha512-UAp55yfwNv0klWNapjs/ktHoguxuQNGnOzxYmfnXIS+8AsRDZkSDxg7R1AX3GKzn078SBI5dzwzj/Yx0Or0e3A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "caniuse-lite": "^1.0.30001580",
+ "electron-to-chromium": "^1.4.648",
+ "node-releases": "^2.0.14",
+ "update-browserslist-db": "^1.0.13"
+ },
+ "bin": {
+ "browserslist": "cli.js"
+ },
+ "engines": {
+ "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+ }
+ },
+ "node_modules/bs-logger": {
+ "version": "0.2.6",
+ "resolved": "https://registry.npmjs.org/bs-logger/-/bs-logger-0.2.6.tgz",
+ "integrity": "sha512-pd8DCoxmbgc7hyPKOvxtqNcjYoOsABPQdcCUjGp3d42VR2CX1ORhk2A87oqqu5R1kk+76nsxZupkmyd+MVtCog==",
+ "dev": true,
+ "dependencies": {
+ "fast-json-stable-stringify": "2.x"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/bser": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz",
+ "integrity": "sha512-gQxTNE/GAfIIrmHLUE3oJyp5FO6HRBfhjnw4/wMmA63ZGDJnWBmgY/lyQBpnDUkGmAhbSe39tx2d/iTOAfglwQ==",
+ "dev": true,
+ "dependencies": {
+ "node-int64": "^0.4.0"
+ }
+ },
+ "node_modules/buffer-from": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz",
+ "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==",
+ "dev": true
+ },
+ "node_modules/callsites": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz",
+ "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/camelcase": {
+ "version": "5.3.1",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz",
+ "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/caniuse-lite": {
+ "version": "1.0.30001581",
+ "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001581.tgz",
+ "integrity": "sha512-whlTkwhqV2tUmP3oYhtNfaWGYHDdS3JYFQBKXxcUR9qqPWsRhFHhoISO2Xnl/g0xyKzht9mI1LZpiNWfMzHixQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ]
+ },
+ "node_modules/chalk": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz",
+ "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.1.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/chalk?sponsor=1"
+ }
+ },
+ "node_modules/char-regex": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz",
+ "integrity": "sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/cheerio": {
+ "version": "1.0.0-rc.10",
+ "resolved": "https://registry.npmjs.org/cheerio/-/cheerio-1.0.0-rc.10.tgz",
+ "integrity": "sha512-g0J0q/O6mW8z5zxQ3A8E8J1hUgp4SMOvEoW/x84OwyHKe/Zccz83PVT4y5Crcr530FV6NgmKI1qvGTKVl9XXVw==",
+ "dev": true,
+ "dependencies": {
+ "cheerio-select": "^1.5.0",
+ "dom-serializer": "^1.3.2",
+ "domhandler": "^4.2.0",
+ "htmlparser2": "^6.1.0",
+ "parse5": "^6.0.1",
+ "parse5-htmlparser2-tree-adapter": "^6.0.1",
+ "tslib": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/cheerio?sponsor=1"
+ }
+ },
+ "node_modules/cheerio-select": {
+ "version": "1.5.0",
+ "resolved": "https://registry.npmjs.org/cheerio-select/-/cheerio-select-1.5.0.tgz",
+ "integrity": "sha512-qocaHPv5ypefh6YNxvnbABM07KMxExbtbfuJoIie3iZXX1ERwYmJcIiRrr9H05ucQP1k28dav8rpdDgjQd8drg==",
+ "dev": true,
+ "dependencies": {
+ "css-select": "^4.1.3",
+ "css-what": "^5.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0",
+ "domutils": "^2.7.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/cheerio/node_modules/tslib": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz",
+ "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==",
+ "dev": true
+ },
+ "node_modules/ci-info": {
+ "version": "3.9.0",
+ "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-3.9.0.tgz",
+ "integrity": "sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/sibiraj-s"
+ }
+ ],
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/cjs-module-lexer": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.2.3.tgz",
+ "integrity": "sha512-0TNiGstbQmCFwt4akjjBg5pLRTSyj/PkWQ1ZoO2zntmg9yLqSRxwEa4iCfQLGjqhiqBfOJa7W/E8wfGrTDmlZQ==",
+ "dev": true
+ },
+ "node_modules/cliui": {
+ "version": "8.0.1",
+ "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz",
+ "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==",
+ "dev": true,
+ "dependencies": {
+ "string-width": "^4.2.0",
+ "strip-ansi": "^6.0.1",
+ "wrap-ansi": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/co": {
+ "version": "4.6.0",
+ "resolved": "https://registry.npmjs.org/co/-/co-4.6.0.tgz",
+ "integrity": "sha512-QVb0dM5HvG+uaxitm8wONl7jltx8dqhfU33DcqtOZcLSVIKSDDLDi7+0LbAKiyI8hD9u42m2YxXSkMGWThaecQ==",
+ "dev": true,
+ "engines": {
+ "iojs": ">= 1.0.0",
+ "node": ">= 0.12.0"
+ }
+ },
+ "node_modules/collect-v8-coverage": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/collect-v8-coverage/-/collect-v8-coverage-1.0.2.tgz",
+ "integrity": "sha512-lHl4d5/ONEbLlJvaJNtsF/Lz+WvB07u2ycqTYbdrq7UypDXailES4valYb2eWiJFxZlVmpGekfqoxQhzyFdT4Q==",
+ "dev": true
+ },
+ "node_modules/color-convert": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz",
+ "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==",
+ "dev": true,
+ "dependencies": {
+ "color-name": "~1.1.4"
+ },
+ "engines": {
+ "node": ">=7.0.0"
+ }
+ },
+ "node_modules/color-name": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz",
+ "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==",
+ "dev": true
+ },
+ "node_modules/concat-map": {
+ "version": "0.0.1",
+ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz",
+ "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=",
+ "dev": true
+ },
+ "node_modules/convert-source-map": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz",
+ "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==",
+ "dev": true
+ },
+ "node_modules/create-jest": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/create-jest/-/create-jest-29.7.0.tgz",
+ "integrity": "sha512-Adz2bdH0Vq3F53KEMJOoftQFutWCukm6J24wbPWRO4k1kMY7gS7ds/uoJkNuV8wDCtWWnuwGcJwpWcih+zEW1Q==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "chalk": "^4.0.0",
+ "exit": "^0.1.2",
+ "graceful-fs": "^4.2.9",
+ "jest-config": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "prompts": "^2.0.1"
+ },
+ "bin": {
+ "create-jest": "bin/create-jest.js"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/cross-spawn": {
+ "version": "7.0.3",
+ "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz",
+ "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.1.0",
+ "shebang-command": "^2.0.0",
+ "which": "^2.0.1"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/css-select": {
+ "version": "4.1.3",
+ "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.1.3.tgz",
+ "integrity": "sha512-gT3wBNd9Nj49rAbmtFHj1cljIAOLYSX1nZ8CB7TBO3INYckygm5B7LISU/szY//YmdiSLbJvDLOx9VnMVpMBxA==",
+ "dev": true,
+ "dependencies": {
+ "boolbase": "^1.0.0",
+ "css-what": "^5.0.0",
+ "domhandler": "^4.2.0",
+ "domutils": "^2.6.0",
+ "nth-check": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/css-what": {
+ "version": "5.1.0",
+ "resolved": "https://registry.npmjs.org/css-what/-/css-what-5.1.0.tgz",
+ "integrity": "sha512-arSMRWIIFY0hV8pIxZMEfmMI47Wj3R/aWpZDDxWYCPEiOMv6tfOrnpDtgxBYPEQD4V0Y/958+1TdC3iWTFcUPw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/fb55"
+ }
+ },
+ "node_modules/debug": {
+ "version": "4.3.4",
+ "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz",
+ "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==",
+ "dev": true,
+ "dependencies": {
+ "ms": "2.1.2"
+ },
+ "engines": {
+ "node": ">=6.0"
+ },
+ "peerDependenciesMeta": {
+ "supports-color": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/dedent": {
+ "version": "1.5.1",
+ "resolved": "https://registry.npmjs.org/dedent/-/dedent-1.5.1.tgz",
+ "integrity": "sha512-+LxW+KLWxu3HW3M2w2ympwtqPrqYRzU8fqi6Fhd18fBALe15blJPI/I4+UHveMVG6lJqB4JNd4UG0S5cnVHwIg==",
+ "dev": true,
+ "peerDependencies": {
+ "babel-plugin-macros": "^3.1.0"
+ },
+ "peerDependenciesMeta": {
+ "babel-plugin-macros": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/deep-diff": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/deep-diff/-/deep-diff-1.0.2.tgz",
+ "integrity": "sha512-aWS3UIVH+NPGCD1kki+DCU9Dua032iSsO43LqQpcs4R3+dVv7tX0qBGjiVHJHjplsoUM2XRO/KB92glqc68awg==",
+ "dev": true
+ },
+ "node_modules/deep-equal": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.1.tgz",
+ "integrity": "sha512-7Et6r6XfNW61CPPCIYfm1YPGSmh6+CliYeL4km7GWJcpX5LTAflGF8drLLR+MZX+2P3NZfAfSduutBbSWqER4g==",
+ "dev": true,
+ "dependencies": {
+ "es-abstract": "^1.16.3",
+ "es-get-iterator": "^1.0.1",
+ "is-arguments": "^1.0.4",
+ "is-date-object": "^1.0.1",
+ "is-regex": "^1.0.4",
+ "isarray": "^2.0.5",
+ "object-is": "^1.0.1",
+ "object-keys": "^1.1.1",
+ "regexp.prototype.flags": "^1.2.0",
+ "side-channel": "^1.0.1",
+ "which-boxed-primitive": "^1.0.1",
+ "which-collection": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/deep-equal/node_modules/es-abstract": {
+ "version": "1.16.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.3.tgz",
+ "integrity": "sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw==",
+ "dev": true,
+ "dependencies": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.4",
+ "is-regex": "^1.0.4",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "string.prototype.trimleft": "^2.1.0",
+ "string.prototype.trimright": "^2.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/deep-equal/node_modules/has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/deep-equal/node_modules/object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/deep-is": {
+ "version": "0.1.3",
+ "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.3.tgz",
+ "integrity": "sha1-s2nW+128E+7PUk+RsHD+7cNXzzQ=",
+ "dev": true
+ },
+ "node_modules/deepmerge": {
+ "version": "4.3.1",
+ "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz",
+ "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/define-properties": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz",
+ "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==",
+ "dev": true,
+ "dependencies": {
+ "object-keys": "^1.0.12"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/deprecation": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/deprecation/-/deprecation-2.3.1.tgz",
+ "integrity": "sha512-xmHIy4F3scKVwMsQ4WnVaS8bHOx0DmVwRywosKhaILI0ywMDWPtBSku2HNxRvF7jtwDRsoEwYQSfbxj8b7RlJQ=="
+ },
+ "node_modules/detect-newline": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz",
+ "integrity": "sha512-TLz+x/vEXm/Y7P7wn1EJFNLxYpUD4TgMosxY6fAVJUnJMbupHBOncxyWUG9OpTaH9EBD7uFI5LfEgmMOc54DsA==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/diff-sequences": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/diff-sequences/-/diff-sequences-29.6.3.tgz",
+ "integrity": "sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==",
+ "dev": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/dir-glob": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz",
+ "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==",
+ "dev": true,
+ "dependencies": {
+ "path-type": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/dir-glob/node_modules/path-type": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz",
+ "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/doctrine": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz",
+ "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==",
+ "dev": true,
+ "dependencies": {
+ "esutils": "^2.0.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/dom-serializer": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.3.2.tgz",
+ "integrity": "sha512-5c54Bk5Dw4qAxNOI1pFEizPSjVsx5+bpJKmL2kPn8JhBUq2q09tTCa3mjijun2NfK78NMouDYNMBkOrPZiS+ig==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.2.0",
+ "entities": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1"
+ }
+ },
+ "node_modules/domelementtype": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.2.0.tgz",
+ "integrity": "sha512-DtBMo82pv1dFtUmHyr48beiuq792Sxohr+8Hm9zoxklYPfa6n0Z3Byjj2IV7bmr2IyqClnqEQhfgHJJ5QF0R5A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ]
+ },
+ "node_modules/domhandler": {
+ "version": "4.2.2",
+ "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz",
+ "integrity": "sha512-PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==",
+ "dev": true,
+ "dependencies": {
+ "domelementtype": "^2.2.0"
+ },
+ "engines": {
+ "node": ">= 4"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domhandler?sponsor=1"
+ }
+ },
+ "node_modules/domutils": {
+ "version": "2.8.0",
+ "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz",
+ "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==",
+ "dev": true,
+ "dependencies": {
+ "dom-serializer": "^1.0.1",
+ "domelementtype": "^2.2.0",
+ "domhandler": "^4.2.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/domutils?sponsor=1"
+ }
+ },
+ "node_modules/electron-to-chromium": {
+ "version": "1.4.648",
+ "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.648.tgz",
+ "integrity": "sha512-EmFMarXeqJp9cUKu/QEciEApn0S/xRcpZWuAm32U7NgoZCimjsilKXHRO9saeEW55eHZagIDg6XTUOv32w9pjg==",
+ "dev": true
+ },
+ "node_modules/emittery": {
+ "version": "0.13.1",
+ "resolved": "https://registry.npmjs.org/emittery/-/emittery-0.13.1.tgz",
+ "integrity": "sha512-DeWwawk6r5yR9jFgnDKYt4sLS0LmHJJi3ZOnb5/JdbYwj3nW+FxQnHIjhBKz8YLC7oRNPVM9NQ47I3CVx34eqQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/emittery?sponsor=1"
+ }
+ },
+ "node_modules/emoji-regex": {
+ "version": "8.0.0",
+ "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz",
+ "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==",
+ "dev": true
+ },
+ "node_modules/enquirer": {
+ "version": "2.3.6",
+ "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz",
+ "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==",
+ "dev": true,
+ "dependencies": {
+ "ansi-colors": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/enquirer/node_modules/ansi-colors": {
+ "version": "4.1.1",
+ "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz",
+ "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/entities": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz",
+ "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/error-ex": {
+ "version": "1.3.2",
+ "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz",
+ "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==",
+ "dev": true,
+ "dependencies": {
+ "is-arrayish": "^0.2.1"
+ }
+ },
+ "node_modules/es-get-iterator": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.0.2.tgz",
+ "integrity": "sha512-ZHb4fuNK3HKHEOvDGyHPKf5cSWh/OvAMskeM/+21NMnTuvqFvz8uHatolu+7Kf6b6oK9C+3Uo1T37pSGPWv0MA==",
+ "dev": true,
+ "dependencies": {
+ "es-abstract": "^1.17.0-next.1",
+ "has-symbols": "^1.0.1",
+ "is-arguments": "^1.0.4",
+ "is-map": "^2.0.0",
+ "is-set": "^2.0.0",
+ "is-string": "^1.0.4",
+ "isarray": "^2.0.5"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-get-iterator/node_modules/es-abstract": {
+ "version": "1.17.0-next.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz",
+ "integrity": "sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==",
+ "dev": true,
+ "dependencies": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.4",
+ "is-regex": "^1.0.4",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.0",
+ "string.prototype.trimright": "^2.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-get-iterator/node_modules/has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-get-iterator/node_modules/object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/es-to-primitive": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz",
+ "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==",
+ "dev": true,
+ "dependencies": {
+ "is-callable": "^1.1.4",
+ "is-date-object": "^1.0.1",
+ "is-symbol": "^1.0.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/escalade": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+ "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/escape-string-regexp": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-2.0.0.tgz",
+ "integrity": "sha512-UpzcLCXolUWcNu5HtVMHYdXJjArjsF9C0aNnquZYY4uW/Vu0miy5YoWvbV345HauVvcAUnpRuhMMcqTcGOY2+w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/eslint": {
+ "version": "8.2.0",
+ "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.2.0.tgz",
+ "integrity": "sha512-erw7XmM+CLxTOickrimJ1SiF55jiNlVSp2qqm0NuBWPtHYQCegD5ZMaW0c3i5ytPqL+SSLaCxdvQXFPLJn+ABw==",
+ "dev": true,
+ "dependencies": {
+ "@eslint/eslintrc": "^1.0.4",
+ "@humanwhocodes/config-array": "^0.6.0",
+ "ajv": "^6.10.0",
+ "chalk": "^4.0.0",
+ "cross-spawn": "^7.0.2",
+ "debug": "^4.3.2",
+ "doctrine": "^3.0.0",
+ "enquirer": "^2.3.5",
+ "escape-string-regexp": "^4.0.0",
+ "eslint-scope": "^6.0.0",
+ "eslint-utils": "^3.0.0",
+ "eslint-visitor-keys": "^3.0.0",
+ "espree": "^9.0.0",
+ "esquery": "^1.4.0",
+ "esutils": "^2.0.2",
+ "fast-deep-equal": "^3.1.3",
+ "file-entry-cache": "^6.0.1",
+ "functional-red-black-tree": "^1.0.1",
+ "glob-parent": "^6.0.1",
+ "globals": "^13.6.0",
+ "ignore": "^4.0.6",
+ "import-fresh": "^3.0.0",
+ "imurmurhash": "^0.1.4",
+ "is-glob": "^4.0.0",
+ "js-yaml": "^4.1.0",
+ "json-stable-stringify-without-jsonify": "^1.0.1",
+ "levn": "^0.4.1",
+ "lodash.merge": "^4.6.2",
+ "minimatch": "^3.0.4",
+ "natural-compare": "^1.4.0",
+ "optionator": "^0.9.1",
+ "progress": "^2.0.0",
+ "regexpp": "^3.2.0",
+ "semver": "^7.2.1",
+ "strip-ansi": "^6.0.1",
+ "strip-json-comments": "^3.1.0",
+ "text-table": "^0.2.0",
+ "v8-compile-cache": "^2.0.3"
+ },
+ "bin": {
+ "eslint": "bin/eslint.js"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint-config-prettier": {
+ "version": "8.3.0",
+ "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz",
+ "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==",
+ "dev": true,
+ "bin": {
+ "eslint-config-prettier": "bin/cli.js"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.0.0"
+ }
+ },
+ "node_modules/eslint-plugin-jest": {
+ "version": "27.6.3",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-27.6.3.tgz",
+ "integrity": "sha512-+YsJFVH6R+tOiO3gCJon5oqn4KWc+mDq2leudk8mrp8RFubLOo9CVyi3cib4L7XMpxExmkmBZQTPDYVBzgpgOA==",
+ "dev": true,
+ "dependencies": {
+ "@typescript-eslint/utils": "^5.10.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@typescript-eslint/eslint-plugin": "^5.0.0 || ^6.0.0",
+ "eslint": "^7.0.0 || ^8.0.0",
+ "jest": "*"
+ },
+ "peerDependenciesMeta": {
+ "@typescript-eslint/eslint-plugin": {
+ "optional": true
+ },
+ "jest": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-plugin-prettier": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz",
+ "integrity": "sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==",
+ "dev": true,
+ "dependencies": {
+ "prettier-linter-helpers": "^1.0.0"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ },
+ "peerDependencies": {
+ "eslint": ">=7.28.0",
+ "prettier": ">=2.0.0"
+ },
+ "peerDependenciesMeta": {
+ "eslint-config-prettier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/eslint-scope": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz",
+ "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^4.1.1"
+ },
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/eslint-utils": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-utils/-/eslint-utils-3.0.0.tgz",
+ "integrity": "sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==",
+ "dev": true,
+ "dependencies": {
+ "eslint-visitor-keys": "^2.0.0"
+ },
+ "engines": {
+ "node": "^10.0.0 || ^12.0.0 || >= 14.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ },
+ "peerDependencies": {
+ "eslint": ">=5"
+ }
+ },
+ "node_modules/eslint-utils/node_modules/eslint-visitor-keys": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz",
+ "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/eslint-visitor-keys": {
+ "version": "3.4.3",
+ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz",
+ "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==",
+ "dev": true,
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ },
+ "funding": {
+ "url": "https://opencollective.com/eslint"
+ }
+ },
+ "node_modules/eslint/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/eslint/node_modules/escape-string-regexp": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz",
+ "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/eslint/node_modules/eslint-scope": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-6.0.0.tgz",
+ "integrity": "sha512-uRDL9MWmQCkaFus8RF5K9/L/2fn+80yoW3jkD53l4shjCh26fCtvJGasxjUqP5OT87SYTxCVA3BwTUzuELx9kA==",
+ "dev": true,
+ "dependencies": {
+ "esrecurse": "^4.3.0",
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/eslint/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/eslint/node_modules/glob-parent": {
+ "version": "6.0.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz",
+ "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.3"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/eslint/node_modules/js-yaml": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz",
+ "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/eslint/node_modules/levn": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz",
+ "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1",
+ "type-check": "~0.4.0"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/eslint/node_modules/optionator": {
+ "version": "0.9.1",
+ "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz",
+ "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==",
+ "dev": true,
+ "dependencies": {
+ "deep-is": "^0.1.3",
+ "fast-levenshtein": "^2.0.6",
+ "levn": "^0.4.1",
+ "prelude-ls": "^1.2.1",
+ "type-check": "^0.4.0",
+ "word-wrap": "^1.2.3"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/eslint/node_modules/prelude-ls": {
+ "version": "1.2.1",
+ "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz",
+ "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/eslint/node_modules/type-check": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz",
+ "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==",
+ "dev": true,
+ "dependencies": {
+ "prelude-ls": "^1.2.1"
+ },
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/espree": {
+ "version": "9.0.0",
+ "resolved": "https://registry.npmjs.org/espree/-/espree-9.0.0.tgz",
+ "integrity": "sha512-r5EQJcYZ2oaGbeR0jR0fFVijGOcwai07/690YRXLINuhmVeRY4UKSAsQPe/0BNuDgwP7Ophoc1PRsr2E3tkbdQ==",
+ "dev": true,
+ "dependencies": {
+ "acorn": "^8.5.0",
+ "acorn-jsx": "^5.3.1",
+ "eslint-visitor-keys": "^3.0.0"
+ },
+ "engines": {
+ "node": "^12.22.0 || ^14.17.0 || >=16.0.0"
+ }
+ },
+ "node_modules/espree/node_modules/acorn": {
+ "version": "8.6.0",
+ "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz",
+ "integrity": "sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==",
+ "dev": true,
+ "bin": {
+ "acorn": "bin/acorn"
+ },
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/espree/node_modules/acorn-jsx": {
+ "version": "5.3.2",
+ "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz",
+ "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==",
+ "dev": true,
+ "peerDependencies": {
+ "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0"
+ }
+ },
+ "node_modules/esprima": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz",
+ "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==",
+ "dev": true,
+ "bin": {
+ "esparse": "bin/esparse.js",
+ "esvalidate": "bin/esvalidate.js"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/esquery": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.4.0.tgz",
+ "integrity": "sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.1.0"
+ },
+ "engines": {
+ "node": ">=0.10"
+ }
+ },
+ "node_modules/esquery/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz",
+ "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==",
+ "dev": true,
+ "dependencies": {
+ "estraverse": "^5.2.0"
+ },
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esrecurse/node_modules/estraverse": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz",
+ "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/estraverse": {
+ "version": "4.3.0",
+ "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz",
+ "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4.0"
+ }
+ },
+ "node_modules/esutils": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz",
+ "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/execa": {
+ "version": "5.1.1",
+ "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz",
+ "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==",
+ "dev": true,
+ "dependencies": {
+ "cross-spawn": "^7.0.3",
+ "get-stream": "^6.0.0",
+ "human-signals": "^2.1.0",
+ "is-stream": "^2.0.0",
+ "merge-stream": "^2.0.0",
+ "npm-run-path": "^4.0.1",
+ "onetime": "^5.1.2",
+ "signal-exit": "^3.0.3",
+ "strip-final-newline": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sindresorhus/execa?sponsor=1"
+ }
+ },
+ "node_modules/exit": {
+ "version": "0.1.2",
+ "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz",
+ "integrity": "sha512-Zk/eNKV2zbjpKzrsQ+n1G6poVbErQxJ0LBOJXaKZ1EViLzH+hrLu9cdXI4zw9dBQJslwBEpbQ2P1oS7nDxs6jQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.8.0"
+ }
+ },
+ "node_modules/expect": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/expect/-/expect-29.7.0.tgz",
+ "integrity": "sha512-2Zks0hf1VLFYI1kbh0I5jP3KHHyCHpkfyHBzsSXRFgl/Bg9mWYfMW8oD+PdMPlEwy5HNsR9JutYy6pMeOh61nw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/expect-utils": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "jest-matcher-utils": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/fast-deep-equal": {
+ "version": "3.1.3",
+ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz",
+ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==",
+ "dev": true
+ },
+ "node_modules/fast-diff": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz",
+ "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==",
+ "dev": true
+ },
+ "node_modules/fast-glob": {
+ "version": "3.3.2",
+ "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz",
+ "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==",
+ "dev": true,
+ "dependencies": {
+ "@nodelib/fs.stat": "^2.0.2",
+ "@nodelib/fs.walk": "^1.2.3",
+ "glob-parent": "^5.1.2",
+ "merge2": "^1.3.0",
+ "micromatch": "^4.0.4"
+ },
+ "engines": {
+ "node": ">=8.6.0"
+ }
+ },
+ "node_modules/fast-json-stable-stringify": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz",
+ "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==",
+ "dev": true
+ },
+ "node_modules/fast-levenshtein": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
+ "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=",
+ "dev": true
+ },
+ "node_modules/fastq": {
+ "version": "1.17.0",
+ "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.0.tgz",
+ "integrity": "sha512-zGygtijUMT7jnk3h26kUms3BkSDp4IfIKjmnqI2tvx6nuBfiF1UqOxbnLfzdv+apBy+53oaImsKtMw/xYbW+1w==",
+ "dev": true,
+ "dependencies": {
+ "reusify": "^1.0.4"
+ }
+ },
+ "node_modules/fb-watchman": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/fb-watchman/-/fb-watchman-2.0.2.tgz",
+ "integrity": "sha512-p5161BqbuCaSnB8jIbzQHOlpgsPmK5rJVDfDKO91Axs5NC1uu3HRQm6wt9cd9/+GtQQIO53JdGXXoyDpTAsgYA==",
+ "dev": true,
+ "dependencies": {
+ "bser": "2.1.1"
+ }
+ },
+ "node_modules/file-entry-cache": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz",
+ "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==",
+ "dev": true,
+ "dependencies": {
+ "flat-cache": "^3.0.4"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/fill-range": {
+ "version": "7.1.1",
+ "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
+ "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
+ "dev": true,
+ "dependencies": {
+ "to-regex-range": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/find-up": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz",
+ "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==",
+ "dev": true,
+ "dependencies": {
+ "locate-path": "^5.0.0",
+ "path-exists": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/flat-cache": {
+ "version": "3.0.4",
+ "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz",
+ "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==",
+ "dev": true,
+ "dependencies": {
+ "flatted": "^3.1.0",
+ "rimraf": "^3.0.2"
+ },
+ "engines": {
+ "node": "^10.12.0 || >=12.0.0"
+ }
+ },
+ "node_modules/flatted": {
+ "version": "3.2.4",
+ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz",
+ "integrity": "sha512-8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==",
+ "dev": true
+ },
+ "node_modules/fs.realpath": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz",
+ "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=",
+ "dev": true
+ },
+ "node_modules/function-bind": {
+ "version": "1.1.2",
+ "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz",
+ "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/functional-red-black-tree": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz",
+ "integrity": "sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=",
+ "dev": true
+ },
+ "node_modules/gensync": {
+ "version": "1.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz",
+ "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6.9.0"
+ }
+ },
+ "node_modules/get-caller-file": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz",
+ "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==",
+ "dev": true,
+ "engines": {
+ "node": "6.* || 8.* || >= 10.*"
+ }
+ },
+ "node_modules/get-package-type": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz",
+ "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.0.0"
+ }
+ },
+ "node_modules/get-stream": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz",
+ "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/glob": {
+ "version": "7.2.3",
+ "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
+ "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
+ "dev": true,
+ "dependencies": {
+ "fs.realpath": "^1.0.0",
+ "inflight": "^1.0.4",
+ "inherits": "2",
+ "minimatch": "^3.1.1",
+ "once": "^1.3.0",
+ "path-is-absolute": "^1.0.0"
+ },
+ "engines": {
+ "node": "*"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/glob-parent": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz",
+ "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==",
+ "dev": true,
+ "dependencies": {
+ "is-glob": "^4.0.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/globals": {
+ "version": "13.12.0",
+ "resolved": "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz",
+ "integrity": "sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==",
+ "dev": true,
+ "dependencies": {
+ "type-fest": "^0.20.2"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globals/node_modules/type-fest": {
+ "version": "0.20.2",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz",
+ "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby": {
+ "version": "11.1.0",
+ "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz",
+ "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==",
+ "dev": true,
+ "dependencies": {
+ "array-union": "^2.1.0",
+ "dir-glob": "^3.0.1",
+ "fast-glob": "^3.2.9",
+ "ignore": "^5.2.0",
+ "merge2": "^1.4.1",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/globby/node_modules/ignore": {
+ "version": "5.3.0",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.0.tgz",
+ "integrity": "sha512-g7dmpshy+gD7mh88OC9NwSGTKoc3kyLAZQRU1mt53Aw/vnvfXnbC+F/7F7QoYVKbV+KNvJx8wArewKy1vXMtlg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/graceful-fs": {
+ "version": "4.2.11",
+ "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz",
+ "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==",
+ "dev": true
+ },
+ "node_modules/has": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz",
+ "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4.0"
+ }
+ },
+ "node_modules/has-flag": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz",
+ "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/has-symbols": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.0.tgz",
+ "integrity": "sha1-uhqPGvKg/DllD1yFA2dwQSIGO0Q=",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/hasown": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.0.tgz",
+ "integrity": "sha512-vUptKVTpIJhcczKBbgnS+RtcuYMB8+oNzPK2/Hp3hanz8JmpATdmmgLgSaadVREkDm+e2giHwY3ZRkyjSIDDFA==",
+ "dev": true,
+ "dependencies": {
+ "function-bind": "^1.1.2"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/html-escaper": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz",
+ "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==",
+ "dev": true
+ },
+ "node_modules/htmlparser2": {
+ "version": "6.1.0",
+ "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-6.1.0.tgz",
+ "integrity": "sha512-gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==",
+ "dev": true,
+ "funding": [
+ "https://github.com/fb55/htmlparser2?sponsor=1",
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/fb55"
+ }
+ ],
+ "dependencies": {
+ "domelementtype": "^2.0.1",
+ "domhandler": "^4.0.0",
+ "domutils": "^2.5.2",
+ "entities": "^2.0.0"
+ }
+ },
+ "node_modules/human-signals": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz",
+ "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==",
+ "dev": true,
+ "engines": {
+ "node": ">=10.17.0"
+ }
+ },
+ "node_modules/ignore": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/ignore/-/ignore-4.0.6.tgz",
+ "integrity": "sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 4"
+ }
+ },
+ "node_modules/import-fresh": {
+ "version": "3.2.1",
+ "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.1.tgz",
+ "integrity": "sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==",
+ "dev": true,
+ "dependencies": {
+ "parent-module": "^1.0.0",
+ "resolve-from": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/import-local": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz",
+ "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==",
+ "dev": true,
+ "dependencies": {
+ "pkg-dir": "^4.2.0",
+ "resolve-cwd": "^3.0.0"
+ },
+ "bin": {
+ "import-local-fixture": "fixtures/cli.js"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/imurmurhash": {
+ "version": "0.1.4",
+ "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz",
+ "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.8.19"
+ }
+ },
+ "node_modules/inflight": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
+ "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=",
+ "dev": true,
+ "dependencies": {
+ "once": "^1.3.0",
+ "wrappy": "1"
+ }
+ },
+ "node_modules/inherits": {
+ "version": "2.0.4",
+ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz",
+ "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==",
+ "dev": true
+ },
+ "node_modules/is-arguments": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz",
+ "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-arrayish": {
+ "version": "0.2.1",
+ "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz",
+ "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==",
+ "dev": true
+ },
+ "node_modules/is-bigint": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.0.tgz",
+ "integrity": "sha512-t5mGUXC/xRheCK431ylNiSkGGpBp8bHENBcENTkDT6ppwPzEVxNGZRvgvmOEfbWkFhA7D2GEuE2mmQTr78sl2g==",
+ "dev": true
+ },
+ "node_modules/is-boolean-object": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.0.0.tgz",
+ "integrity": "sha1-mPiygDBoQhmpXzdc+9iM40Bd/5M=",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-callable": {
+ "version": "1.1.4",
+ "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.4.tgz",
+ "integrity": "sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-core-module": {
+ "version": "2.13.1",
+ "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz",
+ "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==",
+ "dev": true,
+ "dependencies": {
+ "hasown": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-date-object": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.1.tgz",
+ "integrity": "sha1-mqIOtq7rv/d/vTPnTKAbM1gdOhY=",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-extglob": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz",
+ "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-fullwidth-code-point": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz",
+ "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/is-generator-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/is-generator-fn/-/is-generator-fn-2.1.0.tgz",
+ "integrity": "sha512-cTIB4yPYL/Grw0EaSzASzg6bBy9gqCofvWN8okThAYIxKJZC+udlRAmGbM0XLeniEJSs8uEgHPGuHSe1XsOLSQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/is-glob": {
+ "version": "4.0.3",
+ "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz",
+ "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==",
+ "dev": true,
+ "dependencies": {
+ "is-extglob": "^2.1.1"
+ },
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-map": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.1.tgz",
+ "integrity": "sha512-T/S49scO8plUiAOA2DBTBG3JHpn1yiw0kRp6dgiZ0v2/6twi5eiB0rHtHFH9ZIrvlWc6+4O+m4zg5+Z833aXgw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-number": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz",
+ "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.12.0"
+ }
+ },
+ "node_modules/is-number-object": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz",
+ "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-plain-object": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-5.0.0.tgz",
+ "integrity": "sha512-VRSzKkbMm5jMDoKLbltAkFQ5Qr7VDiTFGXxYFXXowVj387GeGNOCsOH6Msy00SGZ3Fp84b1Naa1psqgcCIEP5Q==",
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/is-regex": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.4.tgz",
+ "integrity": "sha1-VRdIm1RwkbCTDglWVM7SXul+lJE=",
+ "dev": true,
+ "dependencies": {
+ "has": "^1.0.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-set": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.1.tgz",
+ "integrity": "sha512-eJEzOtVyenDs1TMzSQ3kU3K+E0GUS9sno+F0OBT97xsgcJsF9nXMBtkT9/kut5JEpM7oL7X/0qxR17K3mcwIAA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-stream": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz",
+ "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/is-string": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz",
+ "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-symbol": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.2.tgz",
+ "integrity": "sha512-HS8bZ9ox60yCJLH9snBpIwv9pYUAkcuLhSA1oero1UB5y9aiQpRA8y2ex945AOtCZL1lJDeIk3G5LthswI46Lw==",
+ "dev": true,
+ "dependencies": {
+ "has-symbols": "^1.0.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/is-weakmap": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz",
+ "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/is-weakset": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz",
+ "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/isarray": {
+ "version": "2.0.5",
+ "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz",
+ "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==",
+ "dev": true
+ },
+ "node_modules/isexe": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz",
+ "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
+ "dev": true
+ },
+ "node_modules/istanbul-lib-coverage": {
+ "version": "3.2.2",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz",
+ "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/istanbul-lib-instrument": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.1.tgz",
+ "integrity": "sha512-EAMEJBsYuyyztxMxW3g7ugGPkrZsV57v0Hmv3mm1uQsmB+QnZuepg731CRaIgeUVSdmsTngOkSnauNF8p7FIhA==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.12.3",
+ "@babel/parser": "^7.14.7",
+ "@istanbuljs/schema": "^0.1.2",
+ "istanbul-lib-coverage": "^3.2.0",
+ "semver": "^7.5.4"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-report": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz",
+ "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==",
+ "dev": true,
+ "dependencies": {
+ "istanbul-lib-coverage": "^3.0.0",
+ "make-dir": "^4.0.0",
+ "supports-color": "^7.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-lib-source-maps": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz",
+ "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==",
+ "dev": true,
+ "dependencies": {
+ "debug": "^4.1.1",
+ "istanbul-lib-coverage": "^3.0.0",
+ "source-map": "^0.6.1"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/istanbul-reports": {
+ "version": "3.1.6",
+ "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.6.tgz",
+ "integrity": "sha512-TLgnMkKg3iTDsQ9PbPTdpfAK2DzjF9mqUG7RMgcQl8oFjad8ob4laGxv5XV5U9MAfx8D6tSJiUyuAwzLicaxlg==",
+ "dev": true,
+ "dependencies": {
+ "html-escaper": "^2.0.0",
+ "istanbul-lib-report": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest/-/jest-29.7.0.tgz",
+ "integrity": "sha512-NIy3oAFp9shda19hy4HK0HRTWKtPJmGdnvywu01nOqNC2vZg+Z+fvJDxpMQA88eb2I9EcafcdjYgsDthnYTvGw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/core": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "import-local": "^3.0.2",
+ "jest-cli": "^29.7.0"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-changed-files": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-changed-files/-/jest-changed-files-29.7.0.tgz",
+ "integrity": "sha512-fEArFiwf1BpQ+4bXSprcDc3/x4HSzL4al2tozwVpDFpsxALjLYdyiIK4e5Vz66GQJIbXJ82+35PtysofptNX2w==",
+ "dev": true,
+ "dependencies": {
+ "execa": "^5.0.0",
+ "jest-util": "^29.7.0",
+ "p-limit": "^3.1.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-circus": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-circus/-/jest-circus-29.7.0.tgz",
+ "integrity": "sha512-3E1nCMgipcTkCocFwM90XXQab9bS+GMsjdpmPrlelaxwD93Ad8iVEjX/vvHPdLPnFf+L40u+5+iutRdA1N9myw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/expect": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "co": "^4.6.0",
+ "dedent": "^1.0.0",
+ "is-generator-fn": "^2.0.0",
+ "jest-each": "^29.7.0",
+ "jest-matcher-utils": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-runtime": "^29.7.0",
+ "jest-snapshot": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "p-limit": "^3.1.0",
+ "pretty-format": "^29.7.0",
+ "pure-rand": "^6.0.0",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-cli": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-cli/-/jest-cli-29.7.0.tgz",
+ "integrity": "sha512-OVVobw2IubN/GSYsxETi+gOe7Ka59EFMR/twOU3Jb2GnKKeMGJB5SGUUrEz3SFVmJASUdZUzy83sLNNQ2gZslg==",
+ "dev": true,
+ "dependencies": {
+ "@jest/core": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "chalk": "^4.0.0",
+ "create-jest": "^29.7.0",
+ "exit": "^0.1.2",
+ "import-local": "^3.0.2",
+ "jest-config": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "yargs": "^17.3.1"
+ },
+ "bin": {
+ "jest": "bin/jest.js"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "node-notifier": "^8.0.1 || ^9.0.0 || ^10.0.0"
+ },
+ "peerDependenciesMeta": {
+ "node-notifier": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-config": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-config/-/jest-config-29.7.0.tgz",
+ "integrity": "sha512-uXbpfeQ7R6TZBqI3/TxCU4q4ttk3u0PJeC+E0zbfSoSjq6bJ7buBPxzQPL0ifrkY4DNu4JUdk0ImlBUYi840eQ==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@jest/test-sequencer": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "babel-jest": "^29.7.0",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "deepmerge": "^4.2.2",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-circus": "^29.7.0",
+ "jest-environment-node": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "jest-regex-util": "^29.6.3",
+ "jest-resolve": "^29.7.0",
+ "jest-runner": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "parse-json": "^5.2.0",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "strip-json-comments": "^3.1.1"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "peerDependencies": {
+ "@types/node": "*",
+ "ts-node": ">=9.0.0"
+ },
+ "peerDependenciesMeta": {
+ "@types/node": {
+ "optional": true
+ },
+ "ts-node": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-diff": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-diff/-/jest-diff-29.7.0.tgz",
+ "integrity": "sha512-LMIgiIrhigmPrs03JHpxUh2yISK3vLFPkAodPeo0+BuF7wA2FoQbkEg1u8gBYBThncu7e1oEDUfIXVuTqLRUjw==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "diff-sequences": "^29.6.3",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-docblock": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-docblock/-/jest-docblock-29.7.0.tgz",
+ "integrity": "sha512-q617Auw3A612guyaFgsbFeYpNP5t2aoUNLwBUbc/0kD1R4t9ixDbyFTHd1nok4epoVFpr7PmeWHrhvuV3XaJ4g==",
+ "dev": true,
+ "dependencies": {
+ "detect-newline": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-each": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-each/-/jest-each-29.7.0.tgz",
+ "integrity": "sha512-gns+Er14+ZrEoC5fhOfYCY1LOHHr0TI+rQUHZS8Ttw2l7gl+80eHc/gFf2Ktkw0+SIACDTeWvpFcv3B04VembQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-environment-node": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-29.7.0.tgz",
+ "integrity": "sha512-DOSwCRqXirTOyheM+4d5YZOrWcdu0LNZ87ewUoywbcb2XR4wKgqiG8vNeYwhjFMbEkfju7wx2GYH0P2gevGvFw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-mock": "^29.7.0",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-get-type": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-get-type/-/jest-get-type-29.6.3.tgz",
+ "integrity": "sha512-zrteXnqYxfQh7l5FHyL38jL39di8H8rHoecLH3JNxH3BwOrBsNeabdap5e0I23lD4HHI8W5VFBZqG4Eaq5LNcw==",
+ "dev": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-haste-map": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-haste-map/-/jest-haste-map-29.7.0.tgz",
+ "integrity": "sha512-fP8u2pyfqx0K1rGn1R9pyE0/KTn+G7PxktWidOBTqFPLYX0b9ksaMFkhK5vrS3DVun09pckLdlx90QthlW7AmA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/graceful-fs": "^4.1.3",
+ "@types/node": "*",
+ "anymatch": "^3.0.3",
+ "fb-watchman": "^2.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-regex-util": "^29.6.3",
+ "jest-util": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "micromatch": "^4.0.4",
+ "walker": "^1.0.8"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ },
+ "optionalDependencies": {
+ "fsevents": "^2.3.2"
+ }
+ },
+ "node_modules/jest-leak-detector": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-leak-detector/-/jest-leak-detector-29.7.0.tgz",
+ "integrity": "sha512-kYA8IJcSYtST2BY9I+SMC32nDpBT3J2NvWJx8+JCuCdl/CR1I4EKUJROiP8XtCcxqgTTBGJNdbB1A8XRKbTetw==",
+ "dev": true,
+ "dependencies": {
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-matcher-utils": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-29.7.0.tgz",
+ "integrity": "sha512-sBkD+Xi9DtcChsI3L3u0+N0opgPYnCRPtGcQYrgXmR+hmt/fYfWAL0xRXYU8eWOdfuLgBe0YCW3AFtnRLagq/g==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "jest-diff": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-message-util": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-message-util/-/jest-message-util-29.7.0.tgz",
+ "integrity": "sha512-GBEV4GRADeP+qtB2+6u61stea8mGcOT4mCtrYISZwfu9/ISHFJ/5zOMXYbpBE9RsS5+Gb63DW4FgmnKJ79Kf6w==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.12.13",
+ "@jest/types": "^29.6.3",
+ "@types/stack-utils": "^2.0.0",
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "micromatch": "^4.0.4",
+ "pretty-format": "^29.7.0",
+ "slash": "^3.0.0",
+ "stack-utils": "^2.0.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-mock": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-mock/-/jest-mock-29.7.0.tgz",
+ "integrity": "sha512-ITOMZn+UkYS4ZFh83xYAOzWStloNzJFO2s8DWrE4lhtGD+AorgnbkiKERe4wQVBydIGPx059g6riW5Btp6Llnw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "jest-util": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-pnp-resolver": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/jest-pnp-resolver/-/jest-pnp-resolver-1.2.3.tgz",
+ "integrity": "sha512-+3NpwQEnRoIBtx4fyhblQDPgJI0H1IEIkX7ShLUjPGA7TtUTvI1oiKi3SR4oBR0hQhQR80l4WAe5RrXBwWMA8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ },
+ "peerDependencies": {
+ "jest-resolve": "*"
+ },
+ "peerDependenciesMeta": {
+ "jest-resolve": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/jest-regex-util": {
+ "version": "29.6.3",
+ "resolved": "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-29.6.3.tgz",
+ "integrity": "sha512-KJJBsRCyyLNWCNBOvZyRDnAIfUiRJ8v+hOBQYGn8gDyF3UegwiP4gwRR3/SDa42g1YbVycTidUF3rKjyLFDWbg==",
+ "dev": true,
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-resolve": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve/-/jest-resolve-29.7.0.tgz",
+ "integrity": "sha512-IOVhZSrg+UvVAshDSDtHyFCCBUl/Q3AAJv8iZ6ZjnZ74xzvwuzLXid9IIIPgTnY62SJjfuupMKZsZQRsCvxEgA==",
+ "dev": true,
+ "dependencies": {
+ "chalk": "^4.0.0",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-pnp-resolver": "^1.2.2",
+ "jest-util": "^29.7.0",
+ "jest-validate": "^29.7.0",
+ "resolve": "^1.20.0",
+ "resolve.exports": "^2.0.0",
+ "slash": "^3.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-resolve-dependencies": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-resolve-dependencies/-/jest-resolve-dependencies-29.7.0.tgz",
+ "integrity": "sha512-un0zD/6qxJ+S0et7WxeI3H5XSe9lTBBR7bOHCHXkKR6luG5mwDDlIzVQ0V5cZCuoTgEdcdwzTghYkTWfubi+nA==",
+ "dev": true,
+ "dependencies": {
+ "jest-regex-util": "^29.6.3",
+ "jest-snapshot": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-runner": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-runner/-/jest-runner-29.7.0.tgz",
+ "integrity": "sha512-fsc4N6cPCAahybGBfTRcq5wFR6fpLznMg47sY5aDpsoejOcVYFb07AHuSnR0liMcPTgBsA3ZJL6kFOjPdoNipQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/console": "^29.7.0",
+ "@jest/environment": "^29.7.0",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "emittery": "^0.13.1",
+ "graceful-fs": "^4.2.9",
+ "jest-docblock": "^29.7.0",
+ "jest-environment-node": "^29.7.0",
+ "jest-haste-map": "^29.7.0",
+ "jest-leak-detector": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-resolve": "^29.7.0",
+ "jest-runtime": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "jest-watcher": "^29.7.0",
+ "jest-worker": "^29.7.0",
+ "p-limit": "^3.1.0",
+ "source-map-support": "0.5.13"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-runtime": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-runtime/-/jest-runtime-29.7.0.tgz",
+ "integrity": "sha512-gUnLjgwdGqW7B4LvOIkbKs9WGbn+QLqRQQ9juC6HndeDiezIwhDP+mhMwHWCEcfQ5RUXa6OPnFF8BJh5xegwwQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/environment": "^29.7.0",
+ "@jest/fake-timers": "^29.7.0",
+ "@jest/globals": "^29.7.0",
+ "@jest/source-map": "^29.6.3",
+ "@jest/test-result": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "cjs-module-lexer": "^1.0.0",
+ "collect-v8-coverage": "^1.0.0",
+ "glob": "^7.1.3",
+ "graceful-fs": "^4.2.9",
+ "jest-haste-map": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-mock": "^29.7.0",
+ "jest-regex-util": "^29.6.3",
+ "jest-resolve": "^29.7.0",
+ "jest-snapshot": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "slash": "^3.0.0",
+ "strip-bom": "^4.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-snapshot": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-snapshot/-/jest-snapshot-29.7.0.tgz",
+ "integrity": "sha512-Rm0BMWtxBcioHr1/OX5YCP8Uov4riHvKPknOGs804Zg9JGZgmIBkbtlxJC/7Z4msKYVbIJtfU+tKb8xlYNfdkw==",
+ "dev": true,
+ "dependencies": {
+ "@babel/core": "^7.11.6",
+ "@babel/generator": "^7.7.2",
+ "@babel/plugin-syntax-jsx": "^7.7.2",
+ "@babel/plugin-syntax-typescript": "^7.7.2",
+ "@babel/types": "^7.3.3",
+ "@jest/expect-utils": "^29.7.0",
+ "@jest/transform": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "babel-preset-current-node-syntax": "^1.0.0",
+ "chalk": "^4.0.0",
+ "expect": "^29.7.0",
+ "graceful-fs": "^4.2.9",
+ "jest-diff": "^29.7.0",
+ "jest-get-type": "^29.6.3",
+ "jest-matcher-utils": "^29.7.0",
+ "jest-message-util": "^29.7.0",
+ "jest-util": "^29.7.0",
+ "natural-compare": "^1.4.0",
+ "pretty-format": "^29.7.0",
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-util": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-util/-/jest-util-29.7.0.tgz",
+ "integrity": "sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "chalk": "^4.0.0",
+ "ci-info": "^3.2.0",
+ "graceful-fs": "^4.2.9",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-validate": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-validate/-/jest-validate-29.7.0.tgz",
+ "integrity": "sha512-ZB7wHqaRGVw/9hST/OuFUReG7M8vKeq0/J2egIGLdvjHCmYqGARhzXmtgi+gVeZ5uXFF219aOc3Ls2yLg27tkw==",
+ "dev": true,
+ "dependencies": {
+ "@jest/types": "^29.6.3",
+ "camelcase": "^6.2.0",
+ "chalk": "^4.0.0",
+ "jest-get-type": "^29.6.3",
+ "leven": "^3.1.0",
+ "pretty-format": "^29.7.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-validate/node_modules/camelcase": {
+ "version": "6.3.0",
+ "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz",
+ "integrity": "sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/jest-watcher": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-watcher/-/jest-watcher-29.7.0.tgz",
+ "integrity": "sha512-49Fg7WXkU3Vl2h6LbLtMQ/HyB6rXSIX7SqvBLQmssRBGN9I0PNvPmAmCWSOY6SOvrjhI/F7/bGAv9RtnsPA03g==",
+ "dev": true,
+ "dependencies": {
+ "@jest/test-result": "^29.7.0",
+ "@jest/types": "^29.6.3",
+ "@types/node": "*",
+ "ansi-escapes": "^4.2.1",
+ "chalk": "^4.0.0",
+ "emittery": "^0.13.1",
+ "jest-util": "^29.7.0",
+ "string-length": "^4.0.1"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-worker": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-29.7.0.tgz",
+ "integrity": "sha512-eIz2msL/EzL9UFTFFx7jBTkeZfku0yUAyZZZmJ93H2TYEiroIx2PQjEXcwYtYl8zXCxb+PAmA2hLIt/6ZEkPHw==",
+ "dev": true,
+ "dependencies": {
+ "@types/node": "*",
+ "jest-util": "^29.7.0",
+ "merge-stream": "^2.0.0",
+ "supports-color": "^8.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/jest-worker/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/jest-worker/node_modules/supports-color": {
+ "version": "8.1.1",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz",
+ "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/supports-color?sponsor=1"
+ }
+ },
+ "node_modules/js-tokens": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz",
+ "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==",
+ "dev": true
+ },
+ "node_modules/js-yaml": {
+ "version": "3.14.1",
+ "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz",
+ "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^1.0.7",
+ "esprima": "^4.0.0"
+ },
+ "bin": {
+ "js-yaml": "bin/js-yaml.js"
+ }
+ },
+ "node_modules/jsesc": {
+ "version": "2.5.2",
+ "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz",
+ "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==",
+ "dev": true,
+ "bin": {
+ "jsesc": "bin/jsesc"
+ },
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/json-parse-even-better-errors": {
+ "version": "2.3.1",
+ "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz",
+ "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==",
+ "dev": true
+ },
+ "node_modules/json-schema-traverse": {
+ "version": "0.4.1",
+ "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz",
+ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==",
+ "dev": true
+ },
+ "node_modules/json-stable-stringify-without-jsonify": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz",
+ "integrity": "sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=",
+ "dev": true
+ },
+ "node_modules/json5": {
+ "version": "2.2.3",
+ "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz",
+ "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==",
+ "dev": true,
+ "bin": {
+ "json5": "lib/cli.js"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/kleur": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz",
+ "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/leven": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz",
+ "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/lines-and-columns": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
+ "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==",
+ "dev": true
+ },
+ "node_modules/linkify-it": {
+ "version": "3.0.3",
+ "resolved": "https://registry.npmjs.org/linkify-it/-/linkify-it-3.0.3.tgz",
+ "integrity": "sha512-ynTsyrFSdE5oZ/O9GEf00kPngmOfVwazR5GKDq6EYfhlpFug3J2zybX56a2PRRpc9P+FuSoGNAwjlbDs9jJBPQ==",
+ "dev": true,
+ "dependencies": {
+ "uc.micro": "^1.0.1"
+ }
+ },
+ "node_modules/locate-path": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz",
+ "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==",
+ "dev": true,
+ "dependencies": {
+ "p-locate": "^4.1.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/lodash.memoize": {
+ "version": "4.1.2",
+ "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz",
+ "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=",
+ "dev": true
+ },
+ "node_modules/lodash.merge": {
+ "version": "4.6.2",
+ "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz",
+ "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==",
+ "dev": true
+ },
+ "node_modules/lru-cache": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
+ "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
+ "dev": true,
+ "dependencies": {
+ "yallist": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/make-dir": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz",
+ "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==",
+ "dev": true,
+ "dependencies": {
+ "semver": "^7.5.3"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/make-error": {
+ "version": "1.3.6",
+ "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz",
+ "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==",
+ "dev": true
+ },
+ "node_modules/makeerror": {
+ "version": "1.0.12",
+ "resolved": "https://registry.npmjs.org/makeerror/-/makeerror-1.0.12.tgz",
+ "integrity": "sha512-JmqCvUhmt43madlpFzG4BQzG2Z3m6tvQDNKdClZnO3VbIudJYmxsT0FNJMeiB2+JTSlTQTSbU8QdesVmwJcmLg==",
+ "dev": true,
+ "dependencies": {
+ "tmpl": "1.0.5"
+ }
+ },
+ "node_modules/markdown-it": {
+ "version": "12.3.2",
+ "resolved": "https://registry.npmjs.org/markdown-it/-/markdown-it-12.3.2.tgz",
+ "integrity": "sha512-TchMembfxfNVpHkbtriWltGWc+m3xszaRD0CZup7GFFhzIgQqxIfn3eGj1yZpfuflzPvfkt611B2Q/Bsk1YnGg==",
+ "dev": true,
+ "dependencies": {
+ "argparse": "^2.0.1",
+ "entities": "~2.1.0",
+ "linkify-it": "^3.0.1",
+ "mdurl": "^1.0.1",
+ "uc.micro": "^1.0.5"
+ },
+ "bin": {
+ "markdown-it": "bin/markdown-it.js"
+ }
+ },
+ "node_modules/markdown-it/node_modules/argparse": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz",
+ "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==",
+ "dev": true
+ },
+ "node_modules/markdown-it/node_modules/entities": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz",
+ "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/fb55/entities?sponsor=1"
+ }
+ },
+ "node_modules/mdurl": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/mdurl/-/mdurl-1.0.1.tgz",
+ "integrity": "sha1-/oWy7HWlkDfyrf7BAP1sYBdhFS4=",
+ "dev": true
+ },
+ "node_modules/merge-stream": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz",
+ "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==",
+ "dev": true
+ },
+ "node_modules/merge2": {
+ "version": "1.4.1",
+ "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz",
+ "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/micromatch": {
+ "version": "4.0.4",
+ "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.4.tgz",
+ "integrity": "sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==",
+ "dev": true,
+ "dependencies": {
+ "braces": "^3.0.1",
+ "picomatch": "^2.2.3"
+ },
+ "engines": {
+ "node": ">=8.6"
+ }
+ },
+ "node_modules/mimic-fn": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz",
+ "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/minimatch": {
+ "version": "3.1.2",
+ "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz",
+ "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==",
+ "dev": true,
+ "dependencies": {
+ "brace-expansion": "^1.1.7"
+ },
+ "engines": {
+ "node": "*"
+ }
+ },
+ "node_modules/ms": {
+ "version": "2.1.2",
+ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
+ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
+ "dev": true
+ },
+ "node_modules/natural-compare": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz",
+ "integrity": "sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=",
+ "dev": true
+ },
+ "node_modules/node-fetch": {
+ "version": "2.6.9",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz",
+ "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==",
+ "dependencies": {
+ "whatwg-url": "^5.0.0"
+ },
+ "engines": {
+ "node": "4.x || >=6.0.0"
+ },
+ "peerDependencies": {
+ "encoding": "^0.1.0"
+ },
+ "peerDependenciesMeta": {
+ "encoding": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/node-fetch/node_modules/tr46": {
+ "version": "0.0.3",
+ "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
+ "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
+ },
+ "node_modules/node-fetch/node_modules/webidl-conversions": {
+ "version": "3.0.1",
+ "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
+ "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
+ },
+ "node_modules/node-fetch/node_modules/whatwg-url": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
+ "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
+ "dependencies": {
+ "tr46": "~0.0.3",
+ "webidl-conversions": "^3.0.0"
+ }
+ },
+ "node_modules/node-int64": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/node-int64/-/node-int64-0.4.0.tgz",
+ "integrity": "sha512-O5lz91xSOeoXP6DulyHfllpq+Eg00MWitZIbtPfoSEvqIHdl5gfcY6hYzDWnj0qD5tz52PI08u9qUvSVeUBeHw==",
+ "dev": true
+ },
+ "node_modules/node-releases": {
+ "version": "2.0.14",
+ "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz",
+ "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==",
+ "dev": true
+ },
+ "node_modules/normalize-path": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
+ "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/npm-run-path": {
+ "version": "4.0.1",
+ "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz",
+ "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==",
+ "dev": true,
+ "dependencies": {
+ "path-key": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/nth-check": {
+ "version": "2.0.1",
+ "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.0.1.tgz",
+ "integrity": "sha512-it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==",
+ "dev": true,
+ "dependencies": {
+ "boolbase": "^1.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/fb55/nth-check?sponsor=1"
+ }
+ },
+ "node_modules/object-is": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.0.2.tgz",
+ "integrity": "sha512-Epah+btZd5wrrfjkJZq1AOB9O6OxUQto45hzFd7lXGrpHPGE0W1k+426yrZV+k6NJOzLNNW/nVsmZdIWsAqoOQ==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/object-keys": {
+ "version": "1.1.1",
+ "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz",
+ "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/object.assign": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz",
+ "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.1.2",
+ "function-bind": "^1.1.1",
+ "has-symbols": "^1.0.0",
+ "object-keys": "^1.0.11"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/once": {
+ "version": "1.4.0",
+ "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz",
+ "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=",
+ "dependencies": {
+ "wrappy": "1"
+ }
+ },
+ "node_modules/onetime": {
+ "version": "5.1.2",
+ "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz",
+ "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==",
+ "dev": true,
+ "dependencies": {
+ "mimic-fn": "^2.1.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-limit": {
+ "version": "3.1.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz",
+ "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==",
+ "dev": true,
+ "dependencies": {
+ "yocto-queue": "^0.1.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-locate": {
+ "version": "4.1.0",
+ "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz",
+ "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==",
+ "dev": true,
+ "dependencies": {
+ "p-limit": "^2.2.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/p-locate/node_modules/p-limit": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz",
+ "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==",
+ "dev": true,
+ "dependencies": {
+ "p-try": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/p-try": {
+ "version": "2.2.0",
+ "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz",
+ "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parent-module": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz",
+ "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==",
+ "dev": true,
+ "dependencies": {
+ "callsites": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/parse-json": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz",
+ "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==",
+ "dev": true,
+ "dependencies": {
+ "@babel/code-frame": "^7.0.0",
+ "error-ex": "^1.3.1",
+ "json-parse-even-better-errors": "^2.3.0",
+ "lines-and-columns": "^1.1.6"
+ },
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/parse5": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz",
+ "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==",
+ "dev": true
+ },
+ "node_modules/parse5-htmlparser2-tree-adapter": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz",
+ "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==",
+ "dev": true,
+ "dependencies": {
+ "parse5": "^6.0.1"
+ }
+ },
+ "node_modules/path-exists": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz",
+ "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-is-absolute": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz",
+ "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/path-key": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz",
+ "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/path-parse": {
+ "version": "1.0.7",
+ "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz",
+ "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==",
+ "dev": true
+ },
+ "node_modules/picocolors": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+ "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+ "dev": true
+ },
+ "node_modules/picomatch": {
+ "version": "2.3.0",
+ "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz",
+ "integrity": "sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8.6"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/jonschlinkert"
+ }
+ },
+ "node_modules/pirates": {
+ "version": "4.0.6",
+ "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz",
+ "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/pkg-dir": {
+ "version": "4.2.0",
+ "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz",
+ "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==",
+ "dev": true,
+ "dependencies": {
+ "find-up": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/prettier": {
+ "version": "2.4.1",
+ "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.4.1.tgz",
+ "integrity": "sha512-9fbDAXSBcc6Bs1mZrDYb3XKzDLm4EXXL9sC1LqKP5rZkT6KRr/rf9amVUcODVXgguK/isJz0d0hP72WeaKWsvA==",
+ "dev": true,
+ "bin": {
+ "prettier": "bin-prettier.js"
+ },
+ "engines": {
+ "node": ">=10.13.0"
+ }
+ },
+ "node_modules/prettier-linter-helpers": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz",
+ "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==",
+ "dev": true,
+ "dependencies": {
+ "fast-diff": "^1.1.2"
+ },
+ "engines": {
+ "node": ">=6.0.0"
+ }
+ },
+ "node_modules/pretty-format": {
+ "version": "29.7.0",
+ "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-29.7.0.tgz",
+ "integrity": "sha512-Pdlw/oPxN+aXdmM9R00JVC9WVFoCLTKJvDVLgmJ+qAffBMxsV85l/Lu7sNx4zSzPyoL2euImuEwHhOXdEgNFZQ==",
+ "dev": true,
+ "dependencies": {
+ "@jest/schemas": "^29.6.3",
+ "ansi-styles": "^5.0.0",
+ "react-is": "^18.0.0"
+ },
+ "engines": {
+ "node": "^14.15.0 || ^16.10.0 || >=18.0.0"
+ }
+ },
+ "node_modules/pretty-format/node_modules/ansi-styles": {
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz",
+ "integrity": "sha512-Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/ansi-styles?sponsor=1"
+ }
+ },
+ "node_modules/progress": {
+ "version": "2.0.3",
+ "resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
+ "integrity": "sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.4.0"
+ }
+ },
+ "node_modules/prompts": {
+ "version": "2.4.2",
+ "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz",
+ "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==",
+ "dev": true,
+ "dependencies": {
+ "kleur": "^3.0.3",
+ "sisteransi": "^1.0.5"
+ },
+ "engines": {
+ "node": ">= 6"
+ }
+ },
+ "node_modules/punycode": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz",
+ "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/pure-rand": {
+ "version": "6.0.4",
+ "resolved": "https://registry.npmjs.org/pure-rand/-/pure-rand-6.0.4.tgz",
+ "integrity": "sha512-LA0Y9kxMYv47GIPJy6MI84fqTd2HmYZI83W/kM/SkKfDlajnZYfmXFTxkbY+xSBPkLJxltMa9hIkmdc29eguMA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "individual",
+ "url": "https://github.com/sponsors/dubzzz"
+ },
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/fast-check"
+ }
+ ]
+ },
+ "node_modules/queue-microtask": {
+ "version": "1.2.3",
+ "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz",
+ "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ]
+ },
+ "node_modules/react-is": {
+ "version": "18.2.0",
+ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz",
+ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==",
+ "dev": true
+ },
+ "node_modules/regexp.prototype.flags": {
+ "version": "1.3.0",
+ "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz",
+ "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.1.3",
+ "es-abstract": "^1.17.0-next.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexp.prototype.flags/node_modules/es-abstract": {
+ "version": "1.17.0-next.1",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.0-next.1.tgz",
+ "integrity": "sha512-7MmGr03N7Rnuid6+wyhD9sHNE2n4tFSwExnU2lQl3lIo2ShXWGePY80zYaoMOmILWv57H0amMjZGHNzzGG70Rw==",
+ "dev": true,
+ "dependencies": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.4",
+ "is-regex": "^1.0.4",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "object.assign": "^4.1.0",
+ "string.prototype.trimleft": "^2.1.0",
+ "string.prototype.trimright": "^2.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexp.prototype.flags/node_modules/has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexp.prototype.flags/node_modules/object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/regexpp": {
+ "version": "3.2.0",
+ "resolved": "https://registry.npmjs.org/regexpp/-/regexpp-3.2.0.tgz",
+ "integrity": "sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/mysticatea"
+ }
+ },
+ "node_modules/require-directory": {
+ "version": "2.1.1",
+ "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz",
+ "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/resolve": {
+ "version": "1.22.8",
+ "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz",
+ "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==",
+ "dev": true,
+ "dependencies": {
+ "is-core-module": "^2.13.0",
+ "path-parse": "^1.0.7",
+ "supports-preserve-symlinks-flag": "^1.0.0"
+ },
+ "bin": {
+ "resolve": "bin/resolve"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/resolve-cwd": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz",
+ "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==",
+ "dev": true,
+ "dependencies": {
+ "resolve-from": "^5.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-cwd/node_modules/resolve-from": {
+ "version": "5.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz",
+ "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/resolve-from": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz",
+ "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/resolve.exports": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/resolve.exports/-/resolve.exports-2.0.2.tgz",
+ "integrity": "sha512-X2UW6Nw3n/aMgDVy+0rSqgHlv39WZAlZrXCdnbyEiKm17DSqHX4MmQMaST3FbeWR5FTuRcUwYAziZajji0Y7mg==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/reusify": {
+ "version": "1.0.4",
+ "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz",
+ "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==",
+ "dev": true,
+ "engines": {
+ "iojs": ">=1.0.0",
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/rimraf": {
+ "version": "3.0.2",
+ "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
+ "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
+ "dev": true,
+ "dependencies": {
+ "glob": "^7.1.3"
+ },
+ "bin": {
+ "rimraf": "bin.js"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/isaacs"
+ }
+ },
+ "node_modules/run-parallel": {
+ "version": "1.2.0",
+ "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz",
+ "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/feross"
+ },
+ {
+ "type": "patreon",
+ "url": "https://www.patreon.com/feross"
+ },
+ {
+ "type": "consulting",
+ "url": "https://feross.org/support"
+ }
+ ],
+ "dependencies": {
+ "queue-microtask": "^1.2.2"
+ }
+ },
+ "node_modules/semver": {
+ "version": "7.5.4",
+ "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.4.tgz",
+ "integrity": "sha512-1bCSESV6Pv+i21Hvpxp3Dx+pSD8lIPt8uVjRrxAUt/nbswYc+tK6Y2btiULjd4+fnq15PX+nqQDC7Oft7WkwcA==",
+ "dev": true,
+ "dependencies": {
+ "lru-cache": "^6.0.0"
+ },
+ "bin": {
+ "semver": "bin/semver.js"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/shebang-command": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
+ "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==",
+ "dev": true,
+ "dependencies": {
+ "shebang-regex": "^3.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/shebang-regex": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz",
+ "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/side-channel": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.1.tgz",
+ "integrity": "sha512-KhfWUIMFxTnJ1HTWiHhzPZL6CVZubPUFWcaIWY4Fc/551CazpDodWWTVTeJI8AjsC/JpH4fW6hmDa10Dnd4lRg==",
+ "dev": true,
+ "dependencies": {
+ "es-abstract": "^1.16.2",
+ "object-inspect": "^1.7.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel/node_modules/es-abstract": {
+ "version": "1.16.3",
+ "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.16.3.tgz",
+ "integrity": "sha512-WtY7Fx5LiOnSYgF5eg/1T+GONaGmpvpPdCpSnYij+U2gDTL0UPfWrhDw7b2IYb+9NQJsYpCA0wOQvZfsd6YwRw==",
+ "dev": true,
+ "dependencies": {
+ "es-to-primitive": "^1.2.1",
+ "function-bind": "^1.1.1",
+ "has": "^1.0.3",
+ "has-symbols": "^1.0.1",
+ "is-callable": "^1.1.4",
+ "is-regex": "^1.0.4",
+ "object-inspect": "^1.7.0",
+ "object-keys": "^1.1.1",
+ "string.prototype.trimleft": "^2.1.0",
+ "string.prototype.trimright": "^2.1.0"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel/node_modules/has-symbols": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz",
+ "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/side-channel/node_modules/object-inspect": {
+ "version": "1.7.0",
+ "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz",
+ "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==",
+ "dev": true,
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/signal-exit": {
+ "version": "3.0.7",
+ "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz",
+ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==",
+ "dev": true
+ },
+ "node_modules/sisteransi": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz",
+ "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==",
+ "dev": true
+ },
+ "node_modules/slash": {
+ "version": "3.0.0",
+ "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz",
+ "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/source-map": {
+ "version": "0.6.1",
+ "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz",
+ "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/source-map-support": {
+ "version": "0.5.13",
+ "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.13.tgz",
+ "integrity": "sha512-SHSKFHadjVA5oR4PPqhtAVdcBWwRYVd6g6cAXnIbRiIwc2EhPrTuKUBdSLvlEKyIP3GCf89fltvcZiP9MMFA1w==",
+ "dev": true,
+ "dependencies": {
+ "buffer-from": "^1.0.0",
+ "source-map": "^0.6.0"
+ }
+ },
+ "node_modules/sprintf-js": {
+ "version": "1.0.3",
+ "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz",
+ "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==",
+ "dev": true
+ },
+ "node_modules/stack-utils": {
+ "version": "2.0.6",
+ "resolved": "https://registry.npmjs.org/stack-utils/-/stack-utils-2.0.6.tgz",
+ "integrity": "sha512-XlkWvfIm6RmsWtNJx+uqtKLS8eqFbxUg0ZzLXqY0caEy9l7hruX8IpiDnjsLavoBgqCCR71TqWO8MaXYheJ3RQ==",
+ "dev": true,
+ "dependencies": {
+ "escape-string-regexp": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/string-length": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/string-length/-/string-length-4.0.2.tgz",
+ "integrity": "sha512-+l6rNN5fYHNhZZy41RXsYptCjA2Igmq4EG7kZAYFQI1E1VTXarr6ZPXBg6eq7Y6eK4FEhY6AJlyuFIb/v/S0VQ==",
+ "dev": true,
+ "dependencies": {
+ "char-regex": "^1.0.2",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/string-width": {
+ "version": "4.2.3",
+ "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz",
+ "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==",
+ "dev": true,
+ "dependencies": {
+ "emoji-regex": "^8.0.0",
+ "is-fullwidth-code-point": "^3.0.0",
+ "strip-ansi": "^6.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/string.prototype.trimleft": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.0.tgz",
+ "integrity": "sha512-FJ6b7EgdKxxbDxc79cOlok6Afd++TTs5szo+zJTUyow3ycrRfJVE2pq3vcN53XexvKZu/DJMDfeI/qMiZTrjTw==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.1.3",
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/string.prototype.trimright": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.0.tgz",
+ "integrity": "sha512-fXZTSV55dNBwv16uw+hh5jkghxSnc5oHq+5K/gXgizHwAvMetdAJlHqqoFC1FSDVPYWLkAKl2cxpUT41sV7nSg==",
+ "dev": true,
+ "dependencies": {
+ "define-properties": "^1.1.3",
+ "function-bind": "^1.1.1"
+ },
+ "engines": {
+ "node": ">= 0.4"
+ }
+ },
+ "node_modules/strip-ansi": {
+ "version": "6.0.1",
+ "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz",
+ "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==",
+ "dev": true,
+ "dependencies": {
+ "ansi-regex": "^5.0.1"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-bom": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz",
+ "integrity": "sha512-3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/strip-final-newline": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz",
+ "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==",
+ "dev": true,
+ "engines": {
+ "node": ">=6"
+ }
+ },
+ "node_modules/strip-json-comments": {
+ "version": "3.1.1",
+ "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz",
+ "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/supports-color": {
+ "version": "7.1.0",
+ "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz",
+ "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==",
+ "dev": true,
+ "dependencies": {
+ "has-flag": "^4.0.0"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-color/node_modules/has-flag": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz",
+ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==",
+ "dev": true,
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/supports-preserve-symlinks-flag": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz",
+ "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==",
+ "dev": true,
+ "engines": {
+ "node": ">= 0.4"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/test-exclude": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz",
+ "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==",
+ "dev": true,
+ "dependencies": {
+ "@istanbuljs/schema": "^0.1.2",
+ "glob": "^7.1.4",
+ "minimatch": "^3.0.4"
+ },
+ "engines": {
+ "node": ">=8"
+ }
+ },
+ "node_modules/text-table": {
+ "version": "0.2.0",
+ "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz",
+ "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=",
+ "dev": true
+ },
+ "node_modules/tmpl": {
+ "version": "1.0.5",
+ "resolved": "https://registry.npmjs.org/tmpl/-/tmpl-1.0.5.tgz",
+ "integrity": "sha512-3f0uOEAQwIqGuWW2MVzYg8fV/QNnc/IpuJNG837rLuczAaLVHslWHZQj4IGiEl5Hs3kkbhwL9Ab7Hrsmuj+Smw==",
+ "dev": true
+ },
+ "node_modules/to-fast-properties": {
+ "version": "2.0.0",
+ "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz",
+ "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/to-regex-range": {
+ "version": "5.0.1",
+ "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz",
+ "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==",
+ "dev": true,
+ "dependencies": {
+ "is-number": "^7.0.0"
+ },
+ "engines": {
+ "node": ">=8.0"
+ }
+ },
+ "node_modules/ts-jest": {
+ "version": "29.1.2",
+ "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-29.1.2.tgz",
+ "integrity": "sha512-br6GJoH/WUX4pu7FbZXuWGKGNDuU7b8Uj77g/Sp7puZV6EXzuByl6JrECvm0MzVzSTkSHWTihsXt+5XYER5b+g==",
+ "dev": true,
+ "dependencies": {
+ "bs-logger": "0.x",
+ "fast-json-stable-stringify": "2.x",
+ "jest-util": "^29.0.0",
+ "json5": "^2.2.3",
+ "lodash.memoize": "4.x",
+ "make-error": "1.x",
+ "semver": "^7.5.3",
+ "yargs-parser": "^21.0.1"
+ },
+ "bin": {
+ "ts-jest": "cli.js"
+ },
+ "engines": {
+ "node": "^16.10.0 || ^18.0.0 || >=20.0.0"
+ },
+ "peerDependencies": {
+ "@babel/core": ">=7.0.0-beta.0 <8",
+ "@jest/types": "^29.0.0",
+ "babel-jest": "^29.0.0",
+ "jest": "^29.0.0",
+ "typescript": ">=4.3 <6"
+ },
+ "peerDependenciesMeta": {
+ "@babel/core": {
+ "optional": true
+ },
+ "@jest/types": {
+ "optional": true
+ },
+ "babel-jest": {
+ "optional": true
+ },
+ "esbuild": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/tslib": {
+ "version": "1.14.1",
+ "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
+ "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==",
+ "dev": true
+ },
+ "node_modules/tsutils": {
+ "version": "3.21.0",
+ "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz",
+ "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==",
+ "dev": true,
+ "dependencies": {
+ "tslib": "^1.8.1"
+ },
+ "engines": {
+ "node": ">= 6"
+ },
+ "peerDependencies": {
+ "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta"
+ }
+ },
+ "node_modules/tunnel": {
+ "version": "0.0.6",
+ "resolved": "https://registry.npmjs.org/tunnel/-/tunnel-0.0.6.tgz",
+ "integrity": "sha512-1h/Lnq9yajKY2PEbBadPXj3VxsDDu844OnaAo52UVmIzIvwwtBPIuNvkjuzBlTWpfJyUbG3ez0KSBibQkj4ojg==",
+ "engines": {
+ "node": ">=0.6.11 <=0.7.0 || >=0.7.3"
+ }
+ },
+ "node_modules/type-detect": {
+ "version": "4.0.8",
+ "resolved": "https://registry.npmjs.org/type-detect/-/type-detect-4.0.8.tgz",
+ "integrity": "sha512-0fr/mIH1dlO+x7TlcMy+bIDqKPsw/70tVyeHW787goQjhmqaZe10uwLujubK9q9Lg6Fiho1KUKDYz0Z7k7g5/g==",
+ "dev": true,
+ "engines": {
+ "node": ">=4"
+ }
+ },
+ "node_modules/type-fest": {
+ "version": "0.21.3",
+ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz",
+ "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/typescript": {
+ "version": "5.9.2",
+ "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.2.tgz",
+ "integrity": "sha512-CWBzXQrc/qOkhidw1OzBTQuYRbfyxDXJMVJ1XNwUHGROVmuaeiEm3OslpZ1RV96d7SKKjZKrSJu3+t/xlw3R9A==",
+ "dev": true,
+ "bin": {
+ "tsc": "bin/tsc",
+ "tsserver": "bin/tsserver"
+ },
+ "engines": {
+ "node": ">=14.17"
+ }
+ },
+ "node_modules/uc.micro": {
+ "version": "1.0.6",
+ "resolved": "https://registry.npmjs.org/uc.micro/-/uc.micro-1.0.6.tgz",
+ "integrity": "sha512-8Y75pvTYkLJW2hWQHXxoqRgV7qb9B+9vFEtidML+7koHUFapnVJAZ6cKs+Qjz5Aw3aZWHMC6u0wJE3At+nSGwA==",
+ "dev": true
+ },
+ "node_modules/undici-types": {
+ "version": "7.10.0",
+ "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz",
+ "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==",
+ "dev": true
+ },
+ "node_modules/universal-user-agent": {
+ "version": "6.0.0",
+ "resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
+ "integrity": "sha512-isyNax3wXoKaulPDZWHQqbmIx1k2tb9fb3GGDBRxCscfYV2Ch7WxPArBsFEG8s/safwXTT7H4QGhaIkTp9447w=="
+ },
+ "node_modules/update-browserslist-db": {
+ "version": "1.0.13",
+ "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz",
+ "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==",
+ "dev": true,
+ "funding": [
+ {
+ "type": "opencollective",
+ "url": "https://opencollective.com/browserslist"
+ },
+ {
+ "type": "tidelift",
+ "url": "https://tidelift.com/funding/github/npm/browserslist"
+ },
+ {
+ "type": "github",
+ "url": "https://github.com/sponsors/ai"
+ }
+ ],
+ "dependencies": {
+ "escalade": "^3.1.1",
+ "picocolors": "^1.0.0"
+ },
+ "bin": {
+ "update-browserslist-db": "cli.js"
+ },
+ "peerDependencies": {
+ "browserslist": ">= 4.21.0"
+ }
+ },
+ "node_modules/uri-js": {
+ "version": "4.4.1",
+ "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz",
+ "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==",
+ "dev": true,
+ "dependencies": {
+ "punycode": "^2.1.0"
+ }
+ },
+ "node_modules/uuid": {
+ "version": "8.3.2",
+ "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz",
+ "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==",
+ "bin": {
+ "uuid": "dist/bin/uuid"
+ }
+ },
+ "node_modules/v8-compile-cache": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.1.0.tgz",
+ "integrity": "sha512-usZBT3PW+LOjM25wbqIlZwPeJV+3OSz3M1k1Ws8snlW39dZyYL9lOGC5FgPVHfk0jKmjiDV8Z0mIbVQPiwFs7g==",
+ "dev": true
+ },
+ "node_modules/v8-to-istanbul": {
+ "version": "9.2.0",
+ "resolved": "https://registry.npmjs.org/v8-to-istanbul/-/v8-to-istanbul-9.2.0.tgz",
+ "integrity": "sha512-/EH/sDgxU2eGxajKdwLCDmQ4FWq+kpi3uCmBGpw1xJtnAxEjlD8j8PEiGWpCIMIs3ciNAgH0d3TTJiUkYzyZjA==",
+ "dev": true,
+ "dependencies": {
+ "@jridgewell/trace-mapping": "^0.3.12",
+ "@types/istanbul-lib-coverage": "^2.0.1",
+ "convert-source-map": "^2.0.0"
+ },
+ "engines": {
+ "node": ">=10.12.0"
+ }
+ },
+ "node_modules/walker": {
+ "version": "1.0.8",
+ "resolved": "https://registry.npmjs.org/walker/-/walker-1.0.8.tgz",
+ "integrity": "sha512-ts/8E8l5b7kY0vlWLewOkDXMmPdLcVV4GmOQLyxuSswIJsweeFZtAsMF7k1Nszz+TYBQrlYRmzOnr398y1JemQ==",
+ "dev": true,
+ "dependencies": {
+ "makeerror": "1.0.12"
+ }
+ },
+ "node_modules/which": {
+ "version": "2.0.2",
+ "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz",
+ "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==",
+ "dev": true,
+ "dependencies": {
+ "isexe": "^2.0.0"
+ },
+ "bin": {
+ "node-which": "bin/node-which"
+ },
+ "engines": {
+ "node": ">= 8"
+ }
+ },
+ "node_modules/which-boxed-primitive": {
+ "version": "1.0.1",
+ "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.1.tgz",
+ "integrity": "sha512-7BT4TwISdDGBgaemWU0N0OU7FeAEJ9Oo2P1PHRm/FCWoEi2VLWC9b6xvxAA3C/NMpxg3HXVgi0sMmGbNUbNepQ==",
+ "dev": true,
+ "dependencies": {
+ "is-bigint": "^1.0.0",
+ "is-boolean-object": "^1.0.0",
+ "is-number-object": "^1.0.3",
+ "is-string": "^1.0.4",
+ "is-symbol": "^1.0.2"
+ }
+ },
+ "node_modules/which-collection": {
+ "version": "1.0.0",
+ "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.0.tgz",
+ "integrity": "sha512-mG4RtFHE+17N2AxRNvBQ488oBjrhaOaI/G+soUaRJwdyDbu5zmqoAKPYBlY7Zd+QTwpfvInRLKo40feo2si1yA==",
+ "dev": true,
+ "dependencies": {
+ "is-map": "^2.0.0",
+ "is-set": "^2.0.0",
+ "is-weakmap": "^2.0.0",
+ "is-weakset": "^2.0.0"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/ljharb"
+ }
+ },
+ "node_modules/word-wrap": {
+ "version": "1.2.4",
+ "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.4.tgz",
+ "integrity": "sha512-2V81OA4ugVo5pRo46hAoD2ivUJx8jXmWXfUkY4KFNw0hEptvN0QfH3K4nHiwzGeKl5rFKedV48QVoqYavy4YpA==",
+ "dev": true,
+ "engines": {
+ "node": ">=0.10.0"
+ }
+ },
+ "node_modules/wrap-ansi": {
+ "version": "7.0.0",
+ "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
+ "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==",
+ "dev": true,
+ "dependencies": {
+ "ansi-styles": "^4.0.0",
+ "string-width": "^4.1.0",
+ "strip-ansi": "^6.0.0"
+ },
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/chalk/wrap-ansi?sponsor=1"
+ }
+ },
+ "node_modules/wrappy": {
+ "version": "1.0.2",
+ "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz",
+ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8="
+ },
+ "node_modules/write-file-atomic": {
+ "version": "4.0.2",
+ "resolved": "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.2.tgz",
+ "integrity": "sha512-7KxauUdBmSdWnmpaGFg+ppNjKF8uNLry8LyzjauQDOVONfFLNKrKvQOxZ/VuTIcS/gge/YNahf5RIIQWTSarlg==",
+ "dev": true,
+ "dependencies": {
+ "imurmurhash": "^0.1.4",
+ "signal-exit": "^3.0.7"
+ },
+ "engines": {
+ "node": "^12.13.0 || ^14.15.0 || >=16.0.0"
+ }
+ },
+ "node_modules/y18n": {
+ "version": "5.0.8",
+ "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz",
+ "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ }
+ },
+ "node_modules/yallist": {
+ "version": "4.0.0",
+ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz",
+ "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==",
+ "dev": true
+ },
+ "node_modules/yargs": {
+ "version": "17.7.2",
+ "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz",
+ "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==",
+ "dev": true,
+ "dependencies": {
+ "cliui": "^8.0.1",
+ "escalade": "^3.1.1",
+ "get-caller-file": "^2.0.5",
+ "require-directory": "^2.1.1",
+ "string-width": "^4.2.3",
+ "y18n": "^5.0.5",
+ "yargs-parser": "^21.1.1"
+ },
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yargs-parser": {
+ "version": "21.1.1",
+ "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz",
+ "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==",
+ "dev": true,
+ "engines": {
+ "node": ">=12"
+ }
+ },
+ "node_modules/yocto-queue": {
+ "version": "0.1.0",
+ "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz",
+ "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==",
+ "dev": true,
+ "engines": {
+ "node": ">=10"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
+ "node_modules/zod": {
+ "version": "4.1.5",
+ "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.5.tgz",
+ "integrity": "sha512-rcUUZqlLJgBC33IT3PNMgsCq6TzLQEG/Ei/KTCU0PedSWRMAXoOUN+4t/0H+Q8bdnLPdqUYnvboJT0bn/229qg==",
+ "funding": {
+ "url": "https://github.com/sponsors/colinhacks"
+ }
}
}
}
diff --git a/node_modules/@actions/core/README.md b/node_modules/@actions/core/README.md
index 95428cf33..3c20c8ea5 100644
--- a/node_modules/@actions/core/README.md
+++ b/node_modules/@actions/core/README.md
@@ -16,11 +16,14 @@ import * as core from '@actions/core';
#### Inputs/Outputs
-Action inputs can be read with `getInput`. Outputs can be set with `setOutput` which makes them available to be mapped into inputs of other actions to ensure they are decoupled.
+Action inputs can be read with `getInput` which returns a `string` or `getBooleanInput` which parses a boolean based on the [yaml 1.2 specification](https://yaml.org/spec/1.2/spec.html#id2804923). If `required` set to be false, the input should have a default value in `action.yml`.
+
+Outputs can be set with `setOutput` which makes them available to be mapped into inputs of other actions to ensure they are decoupled.
```js
const myInput = core.getInput('inputName', { required: true });
-
+const myBooleanInput = core.getBooleanInput('booleanInputName', { required: true });
+const myMultilineInput = core.getMultilineInput('multilineInputName', { required: true });
core.setOutput('outputKey', 'outputVal');
```
@@ -62,11 +65,10 @@ catch (err) {
// setFailed logs the message and sets a failing exit code
core.setFailed(`Action failed with error ${err}`);
}
+```
Note that `setNeutral` is not yet implemented in actions V2 but equivalent functionality is being planned.
-```
-
#### Logging
Finally, this library provides some utilities for logging. Note that debug logging is hidden from the logs by default. This behavior can be toggled by enabling the [Step Debug Logs](../../docs/action-debugging.md#step-debug-logs).
@@ -90,6 +92,8 @@ try {
// Do stuff
core.info('Output to the actions build log')
+
+ core.notice('This is a message that will also emit an annotation')
}
catch (err) {
core.error(`Error ${err}, action may still succeed though`);
@@ -113,11 +117,123 @@ const result = await core.group('Do something async', async () => {
})
```
+#### Annotations
+
+This library has 3 methods that will produce [annotations](https://docs.github.com/en/rest/reference/checks#create-a-check-run).
+```js
+core.error('This is a bad error. This will also fail the build.')
+
+core.warning('Something went wrong, but it\'s not bad enough to fail the build.')
+
+core.notice('Something happened that you might want to know about.')
+```
+
+These will surface to the UI in the Actions page and on Pull Requests. They look something like this:
+
+
+
+These annotations can also be attached to particular lines and columns of your source files to show exactly where a problem is occuring.
+
+These options are:
+```typescript
+export interface AnnotationProperties {
+ /**
+ * A title for the annotation.
+ */
+ title?: string
+
+ /**
+ * The name of the file for which the annotation should be created.
+ */
+ file?: string
+
+ /**
+ * The start line for the annotation.
+ */
+ startLine?: number
+
+ /**
+ * The end line for the annotation. Defaults to `startLine` when `startLine` is provided.
+ */
+ endLine?: number
+
+ /**
+ * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values.
+ */
+ startColumn?: number
+
+ /**
+ * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values.
+ * Defaults to `startColumn` when `startColumn` is provided.
+ */
+ endColumn?: number
+}
+```
+
+#### Styling output
+
+Colored output is supported in the Action logs via standard [ANSI escape codes](https://en.wikipedia.org/wiki/ANSI_escape_code). 3/4 bit, 8 bit and 24 bit colors are all supported.
+
+Foreground colors:
+
+```js
+// 3/4 bit
+core.info('\u001b[35mThis foreground will be magenta')
+
+// 8 bit
+core.info('\u001b[38;5;6mThis foreground will be cyan')
+
+// 24 bit
+core.info('\u001b[38;2;255;0;0mThis foreground will be bright red')
+```
+
+Background colors:
+
+```js
+// 3/4 bit
+core.info('\u001b[43mThis background will be yellow');
+
+// 8 bit
+core.info('\u001b[48;5;6mThis background will be cyan')
+
+// 24 bit
+core.info('\u001b[48;2;255;0;0mThis background will be bright red')
+```
+
+Special styles:
+
+```js
+core.info('\u001b[1mBold text')
+core.info('\u001b[3mItalic text')
+core.info('\u001b[4mUnderlined text')
+```
+
+ANSI escape codes can be combined with one another:
+
+```js
+core.info('\u001b[31;46mRed foreground with a cyan background and \u001b[1mbold text at the end');
+```
+
+> Note: Escape codes reset at the start of each line
+
+```js
+core.info('\u001b[35mThis foreground will be magenta')
+core.info('This foreground will reset to the default')
+```
+
+Manually typing escape codes can be a little difficult, but you can use third party modules such as [ansi-styles](https://github.com/chalk/ansi-styles).
+
+```js
+const style = require('ansi-styles');
+core.info(style.color.ansi16m.hex('#abcdef') + 'Hello world!')
+```
+
#### Action state
-You can use this library to save state and get state for sharing information between a given wrapper action:
+You can use this library to save state and get state for sharing information between a given wrapper action:
+
+**action.yml**:
-**action.yml**
```yaml
name: 'Wrapper action sample'
inputs:
@@ -138,6 +254,7 @@ core.saveState("pidToKill", 12345);
```
In action's `cleanup.js`:
+
```js
const core = require('@actions/core');
@@ -145,3 +262,74 @@ var pid = core.getState("pidToKill");
process.kill(pid);
```
+
+#### OIDC Token
+
+You can use these methods to interact with the GitHub OIDC provider and get a JWT ID token which would help to get access token from third party cloud providers.
+
+**Method Name**: getIDToken()
+
+**Inputs**
+
+audience : optional
+
+**Outputs**
+
+A [JWT](https://jwt.io/) ID Token
+
+In action's `main.ts`:
+```js
+const core = require('@actions/core');
+async function getIDTokenAction(): Promise {
+
+ const audience = core.getInput('audience', {required: false})
+
+ const id_token1 = await core.getIDToken() // ID Token with default audience
+ const id_token2 = await core.getIDToken(audience) // ID token with custom audience
+
+ // this id_token can be used to get access token from third party cloud providers
+}
+getIDTokenAction()
+```
+
+In action's `actions.yml`:
+
+```yaml
+name: 'GetIDToken'
+description: 'Get ID token from Github OIDC provider'
+inputs:
+ audience:
+ description: 'Audience for which the ID token is intended for'
+ required: false
+outputs:
+ id_token1:
+ description: 'ID token obtained from OIDC provider'
+ id_token2:
+ description: 'ID token obtained from OIDC provider'
+runs:
+ using: 'node12'
+ main: 'dist/index.js'
+```
+
+#### Filesystem path helpers
+
+You can use these methods to manipulate file paths across operating systems.
+
+The `toPosixPath` function converts input paths to Posix-style (Linux) paths.
+The `toWin32Path` function converts input paths to Windows-style paths. These
+functions work independently of the underlying runner operating system.
+
+```js
+toPosixPath('\\foo\\bar') // => /foo/bar
+toWin32Path('/foo/bar') // => \foo\bar
+```
+
+The `toPlatformPath` function converts input paths to the expected value on the runner's operating system.
+
+```js
+// On a Windows runner.
+toPlatformPath('/foo/bar') // => \foo\bar
+
+// On a Linux runner.
+toPlatformPath('\\foo\\bar') // => /foo/bar
+```
diff --git a/node_modules/@actions/core/lib/command.d.ts b/node_modules/@actions/core/lib/command.d.ts
index 89eff6687..53f8f4b8d 100644
--- a/node_modules/@actions/core/lib/command.d.ts
+++ b/node_modules/@actions/core/lib/command.d.ts
@@ -1,4 +1,4 @@
-interface CommandProperties {
+export interface CommandProperties {
[key: string]: any;
}
/**
@@ -13,4 +13,3 @@ interface CommandProperties {
*/
export declare function issueCommand(command: string, properties: CommandProperties, message: any): void;
export declare function issue(name: string, message?: string): void;
-export {};
diff --git a/node_modules/@actions/core/lib/command.js b/node_modules/@actions/core/lib/command.js
index 10bf3ebbb..0b28c66b8 100644
--- a/node_modules/@actions/core/lib/command.js
+++ b/node_modules/@actions/core/lib/command.js
@@ -1,12 +1,25 @@
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result["default"] = mod;
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
+exports.issue = exports.issueCommand = void 0;
const os = __importStar(require("os"));
const utils_1 = require("./utils");
/**
diff --git a/node_modules/@actions/core/lib/command.js.map b/node_modules/@actions/core/lib/command.js.map
index a95b303bd..51c7c6375 100644
--- a/node_modules/@actions/core/lib/command.js.map
+++ b/node_modules/@actions/core/lib/command.js.map
@@ -1 +1 @@
-{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAwB;AACxB,mCAAsC;AAWtC;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,UAAkB,EAAE;IACtD,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"}
\ No newline at end of file
+{"version":3,"file":"command.js","sourceRoot":"","sources":["../src/command.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,mCAAsC;AAWtC;;;;;;;;;GASG;AACH,SAAgB,YAAY,CAC1B,OAAe,EACf,UAA6B,EAC7B,OAAY;IAEZ,MAAM,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,UAAU,EAAE,OAAO,CAAC,CAAA;IACrD,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAAA;AAC/C,CAAC;AAPD,oCAOC;AAED,SAAgB,KAAK,CAAC,IAAY,EAAE,OAAO,GAAG,EAAE;IAC9C,YAAY,CAAC,IAAI,EAAE,EAAE,EAAE,OAAO,CAAC,CAAA;AACjC,CAAC;AAFD,sBAEC;AAED,MAAM,UAAU,GAAG,IAAI,CAAA;AAEvB,MAAM,OAAO;IAKX,YAAY,OAAe,EAAE,UAA6B,EAAE,OAAe;QACzE,IAAI,CAAC,OAAO,EAAE;YACZ,OAAO,GAAG,iBAAiB,CAAA;SAC5B;QAED,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;QAC5B,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IACxB,CAAC;IAED,QAAQ;QACN,IAAI,MAAM,GAAG,UAAU,GAAG,IAAI,CAAC,OAAO,CAAA;QAEtC,IAAI,IAAI,CAAC,UAAU,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE;YAC9D,MAAM,IAAI,GAAG,CAAA;YACb,IAAI,KAAK,GAAG,IAAI,CAAA;YAChB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjC,IAAI,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,GAAG,CAAC,EAAE;oBACvC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAA;oBAChC,IAAI,GAAG,EAAE;wBACP,IAAI,KAAK,EAAE;4BACT,KAAK,GAAG,KAAK,CAAA;yBACd;6BAAM;4BACL,MAAM,IAAI,GAAG,CAAA;yBACd;wBAED,MAAM,IAAI,GAAG,GAAG,IAAI,cAAc,CAAC,GAAG,CAAC,EAAE,CAAA;qBAC1C;iBACF;aACF;SACF;QAED,MAAM,IAAI,GAAG,UAAU,GAAG,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAA;QACpD,OAAO,MAAM,CAAA;IACf,CAAC;CACF;AAED,SAAS,UAAU,CAAC,CAAM;IACxB,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC1B,CAAC;AAED,SAAS,cAAc,CAAC,CAAM;IAC5B,OAAO,sBAAc,CAAC,CAAC,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC;SACrB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;SACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"}
\ No newline at end of file
diff --git a/node_modules/@actions/core/lib/core.d.ts b/node_modules/@actions/core/lib/core.d.ts
index 8bb5093c5..1defb5722 100644
--- a/node_modules/@actions/core/lib/core.d.ts
+++ b/node_modules/@actions/core/lib/core.d.ts
@@ -4,6 +4,8 @@
export interface InputOptions {
/** Optional. Whether the input is required. If required and not present, will throw. Defaults to false */
required?: boolean;
+ /** Optional. Whether leading/trailing whitespace will be trimmed for the input. Defaults to true */
+ trimWhitespace?: boolean;
}
/**
* The code to exit an action
@@ -18,6 +20,37 @@ export declare enum ExitCode {
*/
Failure = 1
}
+/**
+ * Optional properties that can be sent with annotatation commands (notice, error, and warning)
+ * See: https://docs.github.com/en/rest/reference/checks#create-a-check-run for more information about annotations.
+ */
+export interface AnnotationProperties {
+ /**
+ * A title for the annotation.
+ */
+ title?: string;
+ /**
+ * The path of the file for which the annotation should be created.
+ */
+ file?: string;
+ /**
+ * The start line for the annotation.
+ */
+ startLine?: number;
+ /**
+ * The end line for the annotation. Defaults to `startLine` when `startLine` is provided.
+ */
+ endLine?: number;
+ /**
+ * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values.
+ */
+ startColumn?: number;
+ /**
+ * The start column for the annotation. Cannot be sent when `startLine` and `endLine` are different values.
+ * Defaults to `startColumn` when `startColumn` is provided.
+ */
+ endColumn?: number;
+}
/**
* Sets env variable for this action and future actions in the job
* @param name the name of the variable to set
@@ -35,13 +68,35 @@ export declare function setSecret(secret: string): void;
*/
export declare function addPath(inputPath: string): void;
/**
- * Gets the value of an input. The value is also trimmed.
+ * Gets the value of an input.
+ * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.
+ * Returns an empty string if the value is not defined.
*
* @param name name of the input to get
* @param options optional. See InputOptions.
* @returns string
*/
export declare function getInput(name: string, options?: InputOptions): string;
+/**
+ * Gets the values of an multiline input. Each value is also trimmed.
+ *
+ * @param name name of the input to get
+ * @param options optional. See InputOptions.
+ * @returns string[]
+ *
+ */
+export declare function getMultilineInput(name: string, options?: InputOptions): string[];
+/**
+ * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification.
+ * Support boolean input list: `true | True | TRUE | false | False | FALSE` .
+ * The return value is also in boolean type.
+ * ref: https://yaml.org/spec/1.2/spec.html#id2804923
+ *
+ * @param name name of the input to get
+ * @param options optional. See InputOptions.
+ * @returns boolean
+ */
+export declare function getBooleanInput(name: string, options?: InputOptions): boolean;
/**
* Sets the value of an output.
*
@@ -73,13 +128,21 @@ export declare function debug(message: string): void;
/**
* Adds an error issue
* @param message error issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
*/
-export declare function error(message: string | Error): void;
+export declare function error(message: string | Error, properties?: AnnotationProperties): void;
/**
- * Adds an warning issue
+ * Adds a warning issue
* @param message warning issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
*/
-export declare function warning(message: string | Error): void;
+export declare function warning(message: string | Error, properties?: AnnotationProperties): void;
+/**
+ * Adds a notice issue
+ * @param message notice issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
+ */
+export declare function notice(message: string | Error, properties?: AnnotationProperties): void;
/**
* Writes info to log with console.log.
* @param message info message
@@ -120,3 +183,16 @@ export declare function saveState(name: string, value: any): void;
* @returns string
*/
export declare function getState(name: string): string;
+export declare function getIDToken(aud?: string): Promise;
+/**
+ * Summary exports
+ */
+export { summary } from './summary';
+/**
+ * @deprecated use core.summary
+ */
+export { markdownSummary } from './summary';
+/**
+ * Path exports
+ */
+export { toPosixPath, toWin32Path, toPlatformPath } from './path-utils';
diff --git a/node_modules/@actions/core/lib/core.js b/node_modules/@actions/core/lib/core.js
index 8b3311081..48df6ad09 100644
--- a/node_modules/@actions/core/lib/core.js
+++ b/node_modules/@actions/core/lib/core.js
@@ -1,4 +1,23 @@
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -8,19 +27,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
-var __importStar = (this && this.__importStar) || function (mod) {
- if (mod && mod.__esModule) return mod;
- var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result["default"] = mod;
- return result;
-};
Object.defineProperty(exports, "__esModule", { value: true });
+exports.getIDToken = exports.getState = exports.saveState = exports.group = exports.endGroup = exports.startGroup = exports.info = exports.notice = exports.warning = exports.error = exports.debug = exports.isDebug = exports.setFailed = exports.setCommandEcho = exports.setOutput = exports.getBooleanInput = exports.getMultilineInput = exports.getInput = exports.addPath = exports.setSecret = exports.exportVariable = exports.ExitCode = void 0;
const command_1 = require("./command");
const file_command_1 = require("./file-command");
const utils_1 = require("./utils");
const os = __importStar(require("os"));
const path = __importStar(require("path"));
+const oidc_utils_1 = require("./oidc-utils");
/**
* The code to exit an action
*/
@@ -49,13 +63,9 @@ function exportVariable(name, val) {
process.env[name] = convertedVal;
const filePath = process.env['GITHUB_ENV'] || '';
if (filePath) {
- const delimiter = '_GitHubActionsFileCommandDelimeter_';
- const commandValue = `${name}<<${delimiter}${os.EOL}${convertedVal}${os.EOL}${delimiter}`;
- file_command_1.issueCommand('ENV', commandValue);
- }
- else {
- command_1.issueCommand('set-env', { name }, convertedVal);
+ return file_command_1.issueFileCommand('ENV', file_command_1.prepareKeyValueMessage(name, val));
}
+ command_1.issueCommand('set-env', { name }, convertedVal);
}
exports.exportVariable = exportVariable;
/**
@@ -73,7 +83,7 @@ exports.setSecret = setSecret;
function addPath(inputPath) {
const filePath = process.env['GITHUB_PATH'] || '';
if (filePath) {
- file_command_1.issueCommand('PATH', inputPath);
+ file_command_1.issueFileCommand('PATH', inputPath);
}
else {
command_1.issueCommand('add-path', {}, inputPath);
@@ -82,7 +92,9 @@ function addPath(inputPath) {
}
exports.addPath = addPath;
/**
- * Gets the value of an input. The value is also trimmed.
+ * Gets the value of an input.
+ * Unless trimWhitespace is set to false in InputOptions, the value is also trimmed.
+ * Returns an empty string if the value is not defined.
*
* @param name name of the input to get
* @param options optional. See InputOptions.
@@ -93,9 +105,52 @@ function getInput(name, options) {
if (options && options.required && !val) {
throw new Error(`Input required and not supplied: ${name}`);
}
+ if (options && options.trimWhitespace === false) {
+ return val;
+ }
return val.trim();
}
exports.getInput = getInput;
+/**
+ * Gets the values of an multiline input. Each value is also trimmed.
+ *
+ * @param name name of the input to get
+ * @param options optional. See InputOptions.
+ * @returns string[]
+ *
+ */
+function getMultilineInput(name, options) {
+ const inputs = getInput(name, options)
+ .split('\n')
+ .filter(x => x !== '');
+ if (options && options.trimWhitespace === false) {
+ return inputs;
+ }
+ return inputs.map(input => input.trim());
+}
+exports.getMultilineInput = getMultilineInput;
+/**
+ * Gets the input value of the boolean type in the YAML 1.2 "core schema" specification.
+ * Support boolean input list: `true | True | TRUE | false | False | FALSE` .
+ * The return value is also in boolean type.
+ * ref: https://yaml.org/spec/1.2/spec.html#id2804923
+ *
+ * @param name name of the input to get
+ * @param options optional. See InputOptions.
+ * @returns boolean
+ */
+function getBooleanInput(name, options) {
+ const trueValue = ['true', 'True', 'TRUE'];
+ const falseValue = ['false', 'False', 'FALSE'];
+ const val = getInput(name, options);
+ if (trueValue.includes(val))
+ return true;
+ if (falseValue.includes(val))
+ return false;
+ throw new TypeError(`Input does not meet YAML 1.2 "Core Schema" specification: ${name}\n` +
+ `Support boolean input list: \`true | True | TRUE | false | False | FALSE\``);
+}
+exports.getBooleanInput = getBooleanInput;
/**
* Sets the value of an output.
*
@@ -104,7 +159,12 @@ exports.getInput = getInput;
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function setOutput(name, value) {
- command_1.issueCommand('set-output', { name }, value);
+ const filePath = process.env['GITHUB_OUTPUT'] || '';
+ if (filePath) {
+ return file_command_1.issueFileCommand('OUTPUT', file_command_1.prepareKeyValueMessage(name, value));
+ }
+ process.stdout.write(os.EOL);
+ command_1.issueCommand('set-output', { name }, utils_1.toCommandValue(value));
}
exports.setOutput = setOutput;
/**
@@ -150,19 +210,30 @@ exports.debug = debug;
/**
* Adds an error issue
* @param message error issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
*/
-function error(message) {
- command_1.issue('error', message instanceof Error ? message.toString() : message);
+function error(message, properties = {}) {
+ command_1.issueCommand('error', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
}
exports.error = error;
/**
- * Adds an warning issue
+ * Adds a warning issue
* @param message warning issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
*/
-function warning(message) {
- command_1.issue('warning', message instanceof Error ? message.toString() : message);
+function warning(message, properties = {}) {
+ command_1.issueCommand('warning', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
}
exports.warning = warning;
+/**
+ * Adds a notice issue
+ * @param message notice issue message. Errors will be converted to string via toString()
+ * @param properties optional properties to add to the annotation.
+ */
+function notice(message, properties = {}) {
+ command_1.issueCommand('notice', utils_1.toCommandProperties(properties), message instanceof Error ? message.toString() : message);
+}
+exports.notice = notice;
/**
* Writes info to log with console.log.
* @param message info message
@@ -222,7 +293,11 @@ exports.group = group;
*/
// eslint-disable-next-line @typescript-eslint/no-explicit-any
function saveState(name, value) {
- command_1.issueCommand('save-state', { name }, value);
+ const filePath = process.env['GITHUB_STATE'] || '';
+ if (filePath) {
+ return file_command_1.issueFileCommand('STATE', file_command_1.prepareKeyValueMessage(name, value));
+ }
+ command_1.issueCommand('save-state', { name }, utils_1.toCommandValue(value));
}
exports.saveState = saveState;
/**
@@ -235,4 +310,27 @@ function getState(name) {
return process.env[`STATE_${name}`] || '';
}
exports.getState = getState;
+function getIDToken(aud) {
+ return __awaiter(this, void 0, void 0, function* () {
+ return yield oidc_utils_1.OidcClient.getIDToken(aud);
+ });
+}
+exports.getIDToken = getIDToken;
+/**
+ * Summary exports
+ */
+var summary_1 = require("./summary");
+Object.defineProperty(exports, "summary", { enumerable: true, get: function () { return summary_1.summary; } });
+/**
+ * @deprecated use core.summary
+ */
+var summary_2 = require("./summary");
+Object.defineProperty(exports, "markdownSummary", { enumerable: true, get: function () { return summary_2.markdownSummary; } });
+/**
+ * Path exports
+ */
+var path_utils_1 = require("./path-utils");
+Object.defineProperty(exports, "toPosixPath", { enumerable: true, get: function () { return path_utils_1.toPosixPath; } });
+Object.defineProperty(exports, "toWin32Path", { enumerable: true, get: function () { return path_utils_1.toWin32Path; } });
+Object.defineProperty(exports, "toPlatformPath", { enumerable: true, get: function () { return path_utils_1.toPlatformPath; } });
//# sourceMappingURL=core.js.map
\ No newline at end of file
diff --git a/node_modules/@actions/core/lib/core.js.map b/node_modules/@actions/core/lib/core.js.map
index 7e7cbcca2..99f7fd85c 100644
--- a/node_modules/@actions/core/lib/core.js.map
+++ b/node_modules/@actions/core/lib/core.js.map
@@ -1 +1 @@
-{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"core.js","sourceRoot":"","sources":["../src/core.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@actions/core/lib/file-command.d.ts b/node_modules/@actions/core/lib/file-command.d.ts
index ed408eb13..2d1f2f425 100644
--- a/node_modules/@actions/core/lib/file-command.d.ts
+++ b/node_modules/@actions/core/lib/file-command.d.ts
@@ -1 +1,2 @@
-export declare function issueCommand(command: string, message: any): void;
+export declare function issueFileCommand(command: string, message: any): void;
+export declare function prepareKeyValueMessage(key: string, value: any): string;
diff --git a/node_modules/@actions/core/lib/file-command.js b/node_modules/@actions/core/lib/file-command.js
index 10783c0c2..2d0d738fd 100644
--- a/node_modules/@actions/core/lib/file-command.js
+++ b/node_modules/@actions/core/lib/file-command.js
@@ -1,19 +1,33 @@
"use strict";
// For internal use, subject to change.
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result["default"] = mod;
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
+exports.prepareKeyValueMessage = exports.issueFileCommand = void 0;
// We use any as a valid input type
/* eslint-disable @typescript-eslint/no-explicit-any */
const fs = __importStar(require("fs"));
const os = __importStar(require("os"));
+const uuid_1 = require("uuid");
const utils_1 = require("./utils");
-function issueCommand(command, message) {
+function issueFileCommand(command, message) {
const filePath = process.env[`GITHUB_${command}`];
if (!filePath) {
throw new Error(`Unable to find environment variable for file command ${command}`);
@@ -25,5 +39,20 @@ function issueCommand(command, message) {
encoding: 'utf8'
});
}
-exports.issueCommand = issueCommand;
+exports.issueFileCommand = issueFileCommand;
+function prepareKeyValueMessage(key, value) {
+ const delimiter = `ghadelimiter_${uuid_1.v4()}`;
+ const convertedValue = utils_1.toCommandValue(value);
+ // These should realistically never happen, but just in case someone finds a
+ // way to exploit uuid generation let's not allow keys or values that contain
+ // the delimiter.
+ if (key.includes(delimiter)) {
+ throw new Error(`Unexpected input: name should not contain the delimiter "${delimiter}"`);
+ }
+ if (convertedValue.includes(delimiter)) {
+ throw new Error(`Unexpected input: value should not contain the delimiter "${delimiter}"`);
+ }
+ return `${key}<<${delimiter}${os.EOL}${convertedValue}${os.EOL}${delimiter}`;
+}
+exports.prepareKeyValueMessage = prepareKeyValueMessage;
//# sourceMappingURL=file-command.js.map
\ No newline at end of file
diff --git a/node_modules/@actions/core/lib/file-command.js.map b/node_modules/@actions/core/lib/file-command.js.map
index 45fd8c4ba..b1a9d54d7 100644
--- a/node_modules/@actions/core/lib/file-command.js.map
+++ b/node_modules/@actions/core/lib/file-command.js.map
@@ -1 +1 @@
-{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,mCAAsC;AAEtC,SAAgB,YAAY,CAAC,OAAe,EAAE,OAAY;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,oCAcC"}
\ No newline at end of file
+{"version":3,"file":"file-command.js","sourceRoot":"","sources":["../src/file-command.ts"],"names":[],"mappings":";AAAA,uCAAuC;;;;;;;;;;;;;;;;;;;;;;AAEvC,mCAAmC;AACnC,uDAAuD;AAEvD,uCAAwB;AACxB,uCAAwB;AACxB,+BAAiC;AACjC,mCAAsC;AAEtC,SAAgB,gBAAgB,CAAC,OAAe,EAAE,OAAY;IAC5D,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAA;IACjD,IAAI,CAAC,QAAQ,EAAE;QACb,MAAM,IAAI,KAAK,CACb,wDAAwD,OAAO,EAAE,CAClE,CAAA;KACF;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;QAC5B,MAAM,IAAI,KAAK,CAAC,yBAAyB,QAAQ,EAAE,CAAC,CAAA;KACrD;IAED,EAAE,CAAC,cAAc,CAAC,QAAQ,EAAE,GAAG,sBAAc,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE;QACjE,QAAQ,EAAE,MAAM;KACjB,CAAC,CAAA;AACJ,CAAC;AAdD,4CAcC;AAED,SAAgB,sBAAsB,CAAC,GAAW,EAAE,KAAU;IAC5D,MAAM,SAAS,GAAG,gBAAgB,SAAM,EAAE,EAAE,CAAA;IAC5C,MAAM,cAAc,GAAG,sBAAc,CAAC,KAAK,CAAC,CAAA;IAE5C,4EAA4E;IAC5E,6EAA6E;IAC7E,iBAAiB;IACjB,IAAI,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,4DAA4D,SAAS,GAAG,CACzE,CAAA;KACF;IAED,IAAI,cAAc,CAAC,QAAQ,CAAC,SAAS,CAAC,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,6DAA6D,SAAS,GAAG,CAC1E,CAAA;KACF;IAED,OAAO,GAAG,GAAG,KAAK,SAAS,GAAG,EAAE,CAAC,GAAG,GAAG,cAAc,GAAG,EAAE,CAAC,GAAG,GAAG,SAAS,EAAE,CAAA;AAC9E,CAAC;AApBD,wDAoBC"}
\ No newline at end of file
diff --git a/node_modules/@actions/core/lib/utils.d.ts b/node_modules/@actions/core/lib/utils.d.ts
index b39c9be98..3b9e28d5f 100644
--- a/node_modules/@actions/core/lib/utils.d.ts
+++ b/node_modules/@actions/core/lib/utils.d.ts
@@ -1,5 +1,14 @@
+import { AnnotationProperties } from './core';
+import { CommandProperties } from './command';
/**
* Sanitizes an input into a string so it can be passed into issueCommand safely
* @param input input to sanitize into a string
*/
export declare function toCommandValue(input: any): string;
+/**
+ *
+ * @param annotationProperties
+ * @returns The command properties to send with the actual annotation command
+ * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646
+ */
+export declare function toCommandProperties(annotationProperties: AnnotationProperties): CommandProperties;
diff --git a/node_modules/@actions/core/lib/utils.js b/node_modules/@actions/core/lib/utils.js
index 97cea339f..9b5ca44bb 100644
--- a/node_modules/@actions/core/lib/utils.js
+++ b/node_modules/@actions/core/lib/utils.js
@@ -2,6 +2,7 @@
// We use any as a valid input type
/* eslint-disable @typescript-eslint/no-explicit-any */
Object.defineProperty(exports, "__esModule", { value: true });
+exports.toCommandProperties = exports.toCommandValue = void 0;
/**
* Sanitizes an input into a string so it can be passed into issueCommand safely
* @param input input to sanitize into a string
@@ -16,4 +17,24 @@ function toCommandValue(input) {
return JSON.stringify(input);
}
exports.toCommandValue = toCommandValue;
+/**
+ *
+ * @param annotationProperties
+ * @returns The command properties to send with the actual annotation command
+ * See IssueCommandProperties: https://github.com/actions/runner/blob/main/src/Runner.Worker/ActionCommandManager.cs#L646
+ */
+function toCommandProperties(annotationProperties) {
+ if (!Object.keys(annotationProperties).length) {
+ return {};
+ }
+ return {
+ title: annotationProperties.title,
+ file: annotationProperties.file,
+ line: annotationProperties.startLine,
+ endLine: annotationProperties.endLine,
+ col: annotationProperties.startColumn,
+ endColumn: annotationProperties.endColumn
+ };
+}
+exports.toCommandProperties = toCommandProperties;
//# sourceMappingURL=utils.js.map
\ No newline at end of file
diff --git a/node_modules/@actions/core/lib/utils.js.map b/node_modules/@actions/core/lib/utils.js.map
index ce43f037a..8211bb7e5 100644
--- a/node_modules/@actions/core/lib/utils.js.map
+++ b/node_modules/@actions/core/lib/utils.js.map
@@ -1 +1 @@
-{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,uDAAuD;;AAEvD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;QAC/D,OAAO,KAAe,CAAA;KACvB;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAPD,wCAOC"}
\ No newline at end of file
+{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";AAAA,mCAAmC;AACnC,uDAAuD;;;AAKvD;;;GAGG;AACH,SAAgB,cAAc,CAAC,KAAU;IACvC,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,SAAS,EAAE;QACzC,OAAO,EAAE,CAAA;KACV;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,YAAY,MAAM,EAAE;QAC/D,OAAO,KAAe,CAAA;KACvB;IACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;AAC9B,CAAC;AAPD,wCAOC;AAED;;;;;GAKG;AACH,SAAgB,mBAAmB,CACjC,oBAA0C;IAE1C,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC,MAAM,EAAE;QAC7C,OAAO,EAAE,CAAA;KACV;IAED,OAAO;QACL,KAAK,EAAE,oBAAoB,CAAC,KAAK;QACjC,IAAI,EAAE,oBAAoB,CAAC,IAAI;QAC/B,IAAI,EAAE,oBAAoB,CAAC,SAAS;QACpC,OAAO,EAAE,oBAAoB,CAAC,OAAO;QACrC,GAAG,EAAE,oBAAoB,CAAC,WAAW;QACrC,SAAS,EAAE,oBAAoB,CAAC,SAAS;KAC1C,CAAA;AACH,CAAC;AAfD,kDAeC"}
\ No newline at end of file
diff --git a/node_modules/@actions/core/package.json b/node_modules/@actions/core/package.json
index ffcced43e..1f3824dec 100644
--- a/node_modules/@actions/core/package.json
+++ b/node_modules/@actions/core/package.json
@@ -1,6 +1,6 @@
{
"name": "@actions/core",
- "version": "1.2.6",
+ "version": "1.10.0",
"description": "Actions core lib",
"keywords": [
"github",
@@ -35,7 +35,12 @@
"bugs": {
"url": "https://github.com/actions/toolkit/issues"
},
+ "dependencies": {
+ "@actions/http-client": "^2.0.1",
+ "uuid": "^8.3.2"
+ },
"devDependencies": {
- "@types/node": "^12.0.2"
+ "@types/node": "^12.0.2",
+ "@types/uuid": "^8.3.4"
}
}
diff --git a/node_modules/@actions/exec/lib/exec.d.ts b/node_modules/@actions/exec/lib/exec.d.ts
index 8c64aae3d..baedcdb6f 100644
--- a/node_modules/@actions/exec/lib/exec.d.ts
+++ b/node_modules/@actions/exec/lib/exec.d.ts
@@ -1,4 +1,5 @@
-import * as im from './interfaces';
+import { ExecOptions, ExecOutput, ExecListeners } from './interfaces';
+export { ExecOptions, ExecOutput, ExecListeners };
/**
* Exec a command.
* Output will be streamed to the live console.
@@ -9,4 +10,15 @@ import * as im from './interfaces';
* @param options optional exec options. See ExecOptions
* @returns Promise exit code
*/
-export declare function exec(commandLine: string, args?: string[], options?: im.ExecOptions): Promise;
+export declare function exec(commandLine: string, args?: string[], options?: ExecOptions): Promise;
+/**
+ * Exec a command and get the output.
+ * Output will be streamed to the live console.
+ * Returns promise with the exit code and collected stdout and stderr
+ *
+ * @param commandLine command to execute (can include additional args). Must be correctly escaped.
+ * @param args optional arguments for tool. Escaping is handled by the lib.
+ * @param options optional exec options. See ExecOptions
+ * @returns Promise exit code, stdout, and stderr
+ */
+export declare function getExecOutput(commandLine: string, args?: string[], options?: ExecOptions): Promise;
diff --git a/node_modules/@actions/exec/lib/exec.js b/node_modules/@actions/exec/lib/exec.js
index 2748debcc..72c7a9cc1 100644
--- a/node_modules/@actions/exec/lib/exec.js
+++ b/node_modules/@actions/exec/lib/exec.js
@@ -1,4 +1,23 @@
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -9,7 +28,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
Object.defineProperty(exports, "__esModule", { value: true });
-const tr = require("./toolrunner");
+exports.getExecOutput = exports.exec = void 0;
+const string_decoder_1 = require("string_decoder");
+const tr = __importStar(require("./toolrunner"));
/**
* Exec a command.
* Output will be streamed to the live console.
@@ -34,4 +55,49 @@ function exec(commandLine, args, options) {
});
}
exports.exec = exec;
+/**
+ * Exec a command and get the output.
+ * Output will be streamed to the live console.
+ * Returns promise with the exit code and collected stdout and stderr
+ *
+ * @param commandLine command to execute (can include additional args). Must be correctly escaped.
+ * @param args optional arguments for tool. Escaping is handled by the lib.
+ * @param options optional exec options. See ExecOptions
+ * @returns Promise exit code, stdout, and stderr
+ */
+function getExecOutput(commandLine, args, options) {
+ var _a, _b;
+ return __awaiter(this, void 0, void 0, function* () {
+ let stdout = '';
+ let stderr = '';
+ //Using string decoder covers the case where a mult-byte character is split
+ const stdoutDecoder = new string_decoder_1.StringDecoder('utf8');
+ const stderrDecoder = new string_decoder_1.StringDecoder('utf8');
+ const originalStdoutListener = (_a = options === null || options === void 0 ? void 0 : options.listeners) === null || _a === void 0 ? void 0 : _a.stdout;
+ const originalStdErrListener = (_b = options === null || options === void 0 ? void 0 : options.listeners) === null || _b === void 0 ? void 0 : _b.stderr;
+ const stdErrListener = (data) => {
+ stderr += stderrDecoder.write(data);
+ if (originalStdErrListener) {
+ originalStdErrListener(data);
+ }
+ };
+ const stdOutListener = (data) => {
+ stdout += stdoutDecoder.write(data);
+ if (originalStdoutListener) {
+ originalStdoutListener(data);
+ }
+ };
+ const listeners = Object.assign(Object.assign({}, options === null || options === void 0 ? void 0 : options.listeners), { stdout: stdOutListener, stderr: stdErrListener });
+ const exitCode = yield exec(commandLine, args, Object.assign(Object.assign({}, options), { listeners }));
+ //flush any remaining characters
+ stdout += stdoutDecoder.end();
+ stderr += stderrDecoder.end();
+ return {
+ exitCode,
+ stdout,
+ stderr
+ };
+ });
+}
+exports.getExecOutput = getExecOutput;
//# sourceMappingURL=exec.js.map
\ No newline at end of file
diff --git a/node_modules/@actions/exec/lib/exec.js.map b/node_modules/@actions/exec/lib/exec.js.map
index 0789521c0..07626365e 100644
--- a/node_modules/@actions/exec/lib/exec.js.map
+++ b/node_modules/@actions/exec/lib/exec.js.map
@@ -1 +1 @@
-{"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,mCAAkC;AAElC;;;;;;;;;GASG;AACH,SAAsB,IAAI,CACxB,WAAmB,EACnB,IAAe,EACf,OAAwB;;QAExB,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QACpD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACpE;QACD,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAkB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACxE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;IACtB,CAAC;CAAA;AAdD,oBAcC"}
\ No newline at end of file
+{"version":3,"file":"exec.js","sourceRoot":"","sources":["../src/exec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA4C;AAE5C,iDAAkC;AAIlC;;;;;;;;;GASG;AACH,SAAsB,IAAI,CACxB,WAAmB,EACnB,IAAe,EACf,OAAqB;;QAErB,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAA;QACpD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;SACpE;QACD,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,CAAC,CAAA;QAC/B,IAAI,GAAG,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,EAAE,CAAC,CAAA;QAC9C,MAAM,MAAM,GAAkB,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAA;QACxE,OAAO,MAAM,CAAC,IAAI,EAAE,CAAA;IACtB,CAAC;CAAA;AAdD,oBAcC;AAED;;;;;;;;;GASG;AAEH,SAAsB,aAAa,CACjC,WAAmB,EACnB,IAAe,EACf,OAAqB;;;QAErB,IAAI,MAAM,GAAG,EAAE,CAAA;QACf,IAAI,MAAM,GAAG,EAAE,CAAA;QAEf,2EAA2E;QAC3E,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAA;QAC/C,MAAM,aAAa,GAAG,IAAI,8BAAa,CAAC,MAAM,CAAC,CAAA;QAE/C,MAAM,sBAAsB,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,CAAA;QACzD,MAAM,sBAAsB,SAAG,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,0CAAE,MAAM,CAAA;QAEzD,MAAM,cAAc,GAAG,CAAC,IAAY,EAAQ,EAAE;YAC5C,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,sBAAsB,EAAE;gBAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAA;aAC7B;QACH,CAAC,CAAA;QAED,MAAM,cAAc,GAAG,CAAC,IAAY,EAAQ,EAAE;YAC5C,MAAM,IAAI,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACnC,IAAI,sBAAsB,EAAE;gBAC1B,sBAAsB,CAAC,IAAI,CAAC,CAAA;aAC7B;QACH,CAAC,CAAA;QAED,MAAM,SAAS,mCACV,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,SAAS,KACrB,MAAM,EAAE,cAAc,EACtB,MAAM,EAAE,cAAc,GACvB,CAAA;QAED,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,WAAW,EAAE,IAAI,kCAAM,OAAO,KAAE,SAAS,IAAE,CAAA;QAEvE,gCAAgC;QAChC,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,CAAA;QAC7B,MAAM,IAAI,aAAa,CAAC,GAAG,EAAE,CAAA;QAE7B,OAAO;YACL,QAAQ;YACR,MAAM;YACN,MAAM;SACP,CAAA;;CACF;AA9CD,sCA8CC"}
\ No newline at end of file
diff --git a/node_modules/@actions/exec/lib/interfaces.d.ts b/node_modules/@actions/exec/lib/interfaces.d.ts
index 186182372..8ae20e48c 100644
--- a/node_modules/@actions/exec/lib/interfaces.d.ts
+++ b/node_modules/@actions/exec/lib/interfaces.d.ts
@@ -24,12 +24,34 @@ export interface ExecOptions {
ignoreReturnCode?: boolean;
/** optional. How long in ms to wait for STDIO streams to close after the exit event of the process before terminating. defaults to 10000 */
delay?: number;
+ /** optional. input to write to the process on STDIN. */
+ input?: Buffer;
/** optional. Listeners for output. Callback functions that will be called on these events */
- listeners?: {
- stdout?: (data: Buffer) => void;
- stderr?: (data: Buffer) => void;
- stdline?: (data: string) => void;
- errline?: (data: string) => void;
- debug?: (data: string) => void;
- };
+ listeners?: ExecListeners;
+}
+/**
+ * Interface for the output of getExecOutput()
+ */
+export interface ExecOutput {
+ /**The exit code of the process */
+ exitCode: number;
+ /**The entire stdout of the process as a string */
+ stdout: string;
+ /**The entire stderr of the process as a string */
+ stderr: string;
+}
+/**
+ * The user defined listeners for an exec call
+ */
+export interface ExecListeners {
+ /** A call back for each buffer of stdout */
+ stdout?: (data: Buffer) => void;
+ /** A call back for each buffer of stderr */
+ stderr?: (data: Buffer) => void;
+ /** A call back for each line of stdout */
+ stdline?: (data: string) => void;
+ /** A call back for each line of stderr */
+ errline?: (data: string) => void;
+ /** A call back for each debug log */
+ debug?: (data: string) => void;
}
diff --git a/node_modules/@actions/exec/lib/toolrunner.js b/node_modules/@actions/exec/lib/toolrunner.js
index cbb433d11..e456a729e 100644
--- a/node_modules/@actions/exec/lib/toolrunner.js
+++ b/node_modules/@actions/exec/lib/toolrunner.js
@@ -1,4 +1,23 @@
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
+var __importStar = (this && this.__importStar) || function (mod) {
+ if (mod && mod.__esModule) return mod;
+ var result = {};
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
+ return result;
+};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
@@ -9,12 +28,14 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
});
};
Object.defineProperty(exports, "__esModule", { value: true });
-const os = require("os");
-const events = require("events");
-const child = require("child_process");
-const path = require("path");
-const io = require("@actions/io");
-const ioUtil = require("@actions/io/lib/io-util");
+exports.argStringToArray = exports.ToolRunner = void 0;
+const os = __importStar(require("os"));
+const events = __importStar(require("events"));
+const child = __importStar(require("child_process"));
+const path = __importStar(require("path"));
+const io = __importStar(require("@actions/io"));
+const ioUtil = __importStar(require("@actions/io/lib/io-util"));
+const timers_1 = require("timers");
/* eslint-disable @typescript-eslint/unbound-method */
const IS_WINDOWS = process.platform === 'win32';
/*
@@ -84,11 +105,12 @@ class ToolRunner extends events.EventEmitter {
s = s.substring(n + os.EOL.length);
n = s.indexOf(os.EOL);
}
- strBuffer = s;
+ return s;
}
catch (err) {
// streaming lines to console is best effort. Don't fail a build.
this._debug(`error processing line. Failed with error ${err}`);
+ return '';
}
}
_getSpawnFileName() {
@@ -370,7 +392,7 @@ class ToolRunner extends events.EventEmitter {
// if the tool is only a file name, then resolve it from the PATH
// otherwise verify it exists (add extension on Windows if necessary)
this.toolPath = yield io.which(this.toolPath, true);
- return new Promise((resolve, reject) => {
+ return new Promise((resolve, reject) => __awaiter(this, void 0, void 0, function* () {
this._debug(`exec tool: ${this.toolPath}`);
this._debug('arguments:');
for (const arg of this.args) {
@@ -384,9 +406,12 @@ class ToolRunner extends events.EventEmitter {
state.on('debug', (message) => {
this._debug(message);
});
+ if (this.options.cwd && !(yield ioUtil.exists(this.options.cwd))) {
+ return reject(new Error(`The cwd: ${this.options.cwd} does not exist!`));
+ }
const fileName = this._getSpawnFileName();
const cp = child.spawn(fileName, this._getSpawnArgs(optionsNonNull), this._getSpawnOptions(this.options, fileName));
- const stdbuffer = '';
+ let stdbuffer = '';
if (cp.stdout) {
cp.stdout.on('data', (data) => {
if (this.options.listeners && this.options.listeners.stdout) {
@@ -395,14 +420,14 @@ class ToolRunner extends events.EventEmitter {
if (!optionsNonNull.silent && optionsNonNull.outStream) {
optionsNonNull.outStream.write(data);
}
- this._processLineBuffer(data, stdbuffer, (line) => {
+ stdbuffer = this._processLineBuffer(data, stdbuffer, (line) => {
if (this.options.listeners && this.options.listeners.stdline) {
this.options.listeners.stdline(line);
}
});
});
}
- const errbuffer = '';
+ let errbuffer = '';
if (cp.stderr) {
cp.stderr.on('data', (data) => {
state.processStderr = true;
@@ -417,7 +442,7 @@ class ToolRunner extends events.EventEmitter {
: optionsNonNull.outStream;
s.write(data);
}
- this._processLineBuffer(data, errbuffer, (line) => {
+ errbuffer = this._processLineBuffer(data, errbuffer, (line) => {
if (this.options.listeners && this.options.listeners.errline) {
this.options.listeners.errline(line);
}
@@ -458,7 +483,13 @@ class ToolRunner extends events.EventEmitter {
resolve(exitCode);
}
});
- });
+ if (this.options.input) {
+ if (!cp.stdin) {
+ throw new Error('child process missing stdin');
+ }
+ cp.stdin.end(this.options.input);
+ }
+ }));
});
}
}
@@ -544,7 +575,7 @@ class ExecState extends events.EventEmitter {
this._setResult();
}
else if (this.processExited) {
- this.timeout = setTimeout(ExecState.HandleTimeout, this.delay, this);
+ this.timeout = timers_1.setTimeout(ExecState.HandleTimeout, this.delay, this);
}
}
_debug(message) {
diff --git a/node_modules/@actions/exec/lib/toolrunner.js.map b/node_modules/@actions/exec/lib/toolrunner.js.map
index 5aac70d29..6eaf18301 100644
--- a/node_modules/@actions/exec/lib/toolrunner.js.map
+++ b/node_modules/@actions/exec/lib/toolrunner.js.map
@@ -1 +1 @@
-{"version":3,"file":"toolrunner.js","sourceRoot":"","sources":["../src/toolrunner.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
+{"version":3,"file":"toolrunner.js","sourceRoot":"","sources":["../src/toolrunner.ts"],"names":[],"mappings":"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"}
\ No newline at end of file
diff --git a/node_modules/@actions/exec/package.json b/node_modules/@actions/exec/package.json
index 1b8078fda..bc4d77a23 100644
--- a/node_modules/@actions/exec/package.json
+++ b/node_modules/@actions/exec/package.json
@@ -1,13 +1,13 @@
{
"name": "@actions/exec",
- "version": "1.0.3",
+ "version": "1.1.1",
"description": "Actions exec lib",
"keywords": [
"github",
"actions",
"exec"
],
- "homepage": "https://github.com/actions/toolkit/tree/master/packages/exec",
+ "homepage": "https://github.com/actions/toolkit/tree/main/packages/exec",
"license": "MIT",
"main": "lib/exec.js",
"types": "lib/exec.d.ts",
@@ -16,7 +16,8 @@
"test": "__tests__"
},
"files": [
- "lib"
+ "lib",
+ "!.DS_Store"
],
"publishConfig": {
"access": "public"
@@ -27,7 +28,7 @@
"directory": "packages/exec"
},
"scripts": {
- "audit-moderate": "npm install && npm audit --audit-level=moderate",
+ "audit-moderate": "npm install && npm audit --json --audit-level=moderate > audit.json",
"test": "echo \"Error: run tests from root\" && exit 1",
"tsc": "tsc"
},
diff --git a/node_modules/@actions/github/README.md b/node_modules/@actions/github/README.md
index d6cf49b1e..30e6a68ed 100644
--- a/node_modules/@actions/github/README.md
+++ b/node_modules/@actions/github/README.md
@@ -4,7 +4,7 @@
## Usage
-Returns an authenticated Octokit client that follows the machine [proxy settings](https://help.github.com/en/actions/automating-your-workflow-with-github-actions/about-self-hosted-runners#using-a-proxy-server-with-self-hosted-runners). See https://octokit.github.io/rest.js for the API.
+Returns an authenticated Octokit client that follows the machine [proxy settings](https://help.github.com/en/actions/hosting-your-own-runners/using-a-proxy-server-with-self-hosted-runners) and correctly sets GHES base urls. See https://octokit.github.io/rest.js for the API.
```js
const github = require('@actions/github');
@@ -17,9 +17,12 @@ async function run() {
// https://help.github.com/en/actions/automating-your-workflow-with-github-actions/authenticating-with-the-github_token#about-the-github_token-secret
const myToken = core.getInput('myToken');
- const octokit = new github.GitHub(myToken);
+ const octokit = github.getOctokit(myToken)
- const { data: pullRequest } = await octokit.pulls.get({
+ // You can also pass in additional options as a second parameter to getOctokit
+ // const octokit = github.getOctokit(myToken, {userAgent: "MyActionVersion1"});
+
+ const { data: pullRequest } = await octokit.rest.pulls.get({
owner: 'octokit',
repo: 'rest.js',
pull_number: 123,
@@ -34,8 +37,6 @@ async function run() {
run();
```
-You can pass client options, as specified by [Octokit](https://octokit.github.io/rest.js/), as a second argument to the `GitHub` constructor.
-
You can also make GraphQL requests. See https://github.com/octokit/graphql.js for the API.
```js
@@ -49,7 +50,7 @@ const github = require('@actions/github');
const context = github.context;
-const newIssue = await octokit.issues.create({
+const newIssue = await octokit.rest.issues.create({
...context.repo,
title: 'New issue!',
body: 'Hello Universe!'
@@ -58,17 +59,40 @@ const newIssue = await octokit.issues.create({
## Webhook payload typescript definitions
-The npm module `@octokit/webhooks` provides type definitions for the response payloads. You can cast the payload to these types for better type information.
+The npm module `@octokit/webhooks-definitions` provides type definitions for the response payloads. You can cast the payload to these types for better type information.
-First, install the npm module `npm install @octokit/webhooks`
+First, install the npm module `npm install @octokit/webhooks-definitions`
Then, assert the type based on the eventName
```ts
import * as core from '@actions/core'
import * as github from '@actions/github'
-import * as Webhooks from '@octokit/webhooks'
+import {PushEvent} from '@octokit/webhooks-definitions/schema'
+
if (github.context.eventName === 'push') {
- const pushPayload = github.context.payload as Webhooks.WebhookPayloadPush
- core.info(`The head commit is: ${pushPayload.head}`)
+ const pushPayload = github.context.payload as PushEvent
+ core.info(`The head commit is: ${pushPayload.head_commit}`)
}
```
+
+## Extending the Octokit instance
+`@octokit/core` now supports the [plugin architecture](https://github.com/octokit/core.js#plugins). You can extend the GitHub instance using plugins.
+
+For example, using the `@octokit/plugin-enterprise-server` you can now access enterprise admin apis on GHES instances.
+
+```ts
+import { GitHub, getOctokitOptions } from '@actions/github/lib/utils'
+import { enterpriseServer220Admin } from '@octokit/plugin-enterprise-server'
+
+const octokit = GitHub.plugin(enterpriseServer220Admin)
+// or override some of the default values as well
+// const octokit = GitHub.plugin(enterpriseServer220Admin).defaults({userAgent: "MyNewUserAgent"})
+
+const myToken = core.getInput('myToken');
+const myOctokit = new octokit(getOctokitOptions(token))
+// Create a new user
+myOctokit.rest.enterpriseAdmin.createUser({
+ login: "testuser",
+ email: "testuser@test.com",
+});
+```
diff --git a/node_modules/@actions/github/lib/context.d.ts b/node_modules/@actions/github/lib/context.d.ts
index 434fdb124..7d3a7de44 100644
--- a/node_modules/@actions/github/lib/context.d.ts
+++ b/node_modules/@actions/github/lib/context.d.ts
@@ -10,6 +10,12 @@ export declare class Context {
workflow: string;
action: string;
actor: string;
+ job: string;
+ runNumber: number;
+ runId: number;
+ apiUrl: string;
+ serverUrl: string;
+ graphqlUrl: string;
/**
* Hydrate the context from the environment
*/
diff --git a/node_modules/@actions/github/lib/context.js b/node_modules/@actions/github/lib/context.js
index 25ceea5a6..767933ce0 100644
--- a/node_modules/@actions/github/lib/context.js
+++ b/node_modules/@actions/github/lib/context.js
@@ -1,5 +1,6 @@
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
+exports.Context = void 0;
const fs_1 = require("fs");
const os_1 = require("os");
class Context {
@@ -7,6 +8,7 @@ class Context {
* Hydrate the context from the environment
*/
constructor() {
+ var _a, _b, _c;
this.payload = {};
if (process.env.GITHUB_EVENT_PATH) {
if (fs_1.existsSync(process.env.GITHUB_EVENT_PATH)) {
@@ -23,6 +25,12 @@ class Context {
this.workflow = process.env.GITHUB_WORKFLOW;
this.action = process.env.GITHUB_ACTION;
this.actor = process.env.GITHUB_ACTOR;
+ this.job = process.env.GITHUB_JOB;
+ this.runNumber = parseInt(process.env.GITHUB_RUN_NUMBER, 10);
+ this.runId = parseInt(process.env.GITHUB_RUN_ID, 10);
+ this.apiUrl = (_a = process.env.GITHUB_API_URL) !== null && _a !== void 0 ? _a : `https://api.github.com`;
+ this.serverUrl = (_b = process.env.GITHUB_SERVER_URL) !== null && _b !== void 0 ? _b : `https://github.com`;
+ this.graphqlUrl = (_c = process.env.GITHUB_GRAPHQL_URL) !== null && _c !== void 0 ? _c : `https://api.github.com/graphql`;
}
get issue() {
const payload = this.payload;
diff --git a/node_modules/@actions/github/lib/context.js.map b/node_modules/@actions/github/lib/context.js.map
index d05ca0d36..91fb9a9d5 100644
--- a/node_modules/@actions/github/lib/context.js.map
+++ b/node_modules/@actions/github/lib/context.js.map
@@ -1 +1 @@
-{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;AAEA,2BAA2C;AAC3C,2BAAsB;AAEtB,MAAa,OAAO;IAalB;;OAEG;IACH;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,IAAI,eAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;gBAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACvB,iBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAChE,CAAA;aACF;iBAAM;gBACL,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,QAAG,EAAE,CAAC,CAAA;aACvE;SACF;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAA2B,CAAA;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAyB,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAuB,CAAA;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsB,CAAA;IACjD,CAAC;IAED,IAAI,KAAK;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,uCACK,IAAI,CAAC,IAAI,KACZ,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,MAAM,IAClE;IACH,CAAC;IAED,IAAI,IAAI;QACN,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAA;SACrB;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;gBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;aACnC,CAAA;SACF;QAED,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;CACF;AA9DD,0BA8DC"}
\ No newline at end of file
+{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":";;;AAEA,2BAA2C;AAC3C,2BAAsB;AAEtB,MAAa,OAAO;IAmBlB;;OAEG;IACH;;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAA;QACjB,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,IAAI,eAAU,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE;gBAC7C,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,KAAK,CACvB,iBAAY,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE,EAAC,QAAQ,EAAE,MAAM,EAAC,CAAC,CAChE,CAAA;aACF;iBAAM;gBACL,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAA;gBAC1C,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,qBAAqB,IAAI,kBAAkB,QAAG,EAAE,CAAC,CAAA;aACvE;SACF;QACD,IAAI,CAAC,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,iBAA2B,CAAA;QACxD,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,eAAyB,CAAA;QACrD,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,aAAuB,CAAA;QACjD,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,YAAsB,CAAA;QAC/C,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,UAAoB,CAAA;QAC3C,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAA2B,EAAE,EAAE,CAAC,CAAA;QACtE,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,aAAuB,EAAE,EAAE,CAAC,CAAA;QAC9D,IAAI,CAAC,MAAM,SAAG,OAAO,CAAC,GAAG,CAAC,cAAc,mCAAI,wBAAwB,CAAA;QACpE,IAAI,CAAC,SAAS,SAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,mCAAI,oBAAoB,CAAA;QACtE,IAAI,CAAC,UAAU,SACb,OAAO,CAAC,GAAG,CAAC,kBAAkB,mCAAI,gCAAgC,CAAA;IACtE,CAAC;IAED,IAAI,KAAK;QACP,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,CAAA;QAE5B,uCACK,IAAI,CAAC,IAAI,KACZ,MAAM,EAAE,CAAC,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,YAAY,IAAI,OAAO,CAAC,CAAC,MAAM,IAClE;IACH,CAAC;IAED,IAAI,IAAI;QACN,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,EAAE;YACjC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAC9D,OAAO,EAAC,KAAK,EAAE,IAAI,EAAC,CAAA;SACrB;QAED,IAAI,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;YAC3B,OAAO;gBACL,KAAK,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK;gBAC1C,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI;aACnC,CAAA;SACF;QAED,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAA;IACH,CAAC;CACF;AA3ED,0BA2EC"}
\ No newline at end of file
diff --git a/node_modules/@actions/github/lib/github.d.ts b/node_modules/@actions/github/lib/github.d.ts
index c868122d4..8c2121d2f 100644
--- a/node_modules/@actions/github/lib/github.d.ts
+++ b/node_modules/@actions/github/lib/github.d.ts
@@ -1,25 +1,11 @@
-import { graphql as GraphQL } from '@octokit/graphql/dist-types/types';
-import { Octokit } from '@octokit/rest';
import * as Context from './context';
+import { GitHub } from './utils';
+import { OctokitOptions, OctokitPlugin } from '@octokit/core/dist-types/types';
export declare const context: Context.Context;
-export declare class GitHub extends Octokit {
- graphql: GraphQL;
- /**
- * Sets up the REST client and GraphQL client with auth and proxy support.
- * The parameter `token` or `opts.auth` must be supplied. The GraphQL client
- * authorization is not setup when `opts.auth` is a function or object.
- *
- * @param token Auth token
- * @param opts Octokit options
- */
- constructor(token: string, opts?: Omit);
- constructor(opts: Octokit.Options);
- /**
- * Disambiguates the constructor overload parameters
- */
- private static disambiguate;
- private static getOctokitOptions;
- private static getGraphQL;
- private static getAuthString;
- private static getProxyAgent;
-}
+/**
+ * Returns a hydrated octokit ready to use for GitHub Actions
+ *
+ * @param token the repo PAT or GITHUB_TOKEN
+ * @param options other options to set
+ */
+export declare function getOctokit(token: string, options?: OctokitOptions, ...additionalPlugins: OctokitPlugin[]): InstanceType;
diff --git a/node_modules/@actions/github/lib/github.js b/node_modules/@actions/github/lib/github.js
index ee4e72f1d..b717a6b4a 100644
--- a/node_modules/@actions/github/lib/github.js
+++ b/node_modules/@actions/github/lib/github.js
@@ -1,91 +1,37 @@
"use strict";
+var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
+}) : (function(o, m, k, k2) {
+ if (k2 === undefined) k2 = k;
+ o[k2] = m[k];
+}));
+var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
+}) : function(o, v) {
+ o["default"] = v;
+});
var __importStar = (this && this.__importStar) || function (mod) {
if (mod && mod.__esModule) return mod;
var result = {};
- if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
- result["default"] = mod;
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
+ __setModuleDefault(result, mod);
return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
-// Originally pulled from https://github.com/JasonEtco/actions-toolkit/blob/master/src/github.ts
-const graphql_1 = require("@octokit/graphql");
-const rest_1 = require("@octokit/rest");
+exports.getOctokit = exports.context = void 0;
const Context = __importStar(require("./context"));
-const httpClient = __importStar(require("@actions/http-client"));
-// We need this in order to extend Octokit
-rest_1.Octokit.prototype = new rest_1.Octokit();
+const utils_1 = require("./utils");
exports.context = new Context.Context();
-class GitHub extends rest_1.Octokit {
- constructor(token, opts) {
- super(GitHub.getOctokitOptions(GitHub.disambiguate(token, opts)));
- this.graphql = GitHub.getGraphQL(GitHub.disambiguate(token, opts));
- }
- /**
- * Disambiguates the constructor overload parameters
- */
- static disambiguate(token, opts) {
- return [
- typeof token === 'string' ? token : '',
- typeof token === 'object' ? token : opts || {}
- ];
- }
- static getOctokitOptions(args) {
- const token = args[0];
- const options = Object.assign({}, args[1]); // Shallow clone - don't mutate the object provided by the caller
- // Auth
- const auth = GitHub.getAuthString(token, options);
- if (auth) {
- options.auth = auth;
- }
- // Proxy
- const agent = GitHub.getProxyAgent(options);
- if (agent) {
- // Shallow clone - don't mutate the object provided by the caller
- options.request = options.request ? Object.assign({}, options.request) : {};
- // Set the agent
- options.request.agent = agent;
- }
- return options;
- }
- static getGraphQL(args) {
- const defaults = {};
- const token = args[0];
- const options = args[1];
- // Authorization
- const auth = this.getAuthString(token, options);
- if (auth) {
- defaults.headers = {
- authorization: auth
- };
- }
- // Proxy
- const agent = GitHub.getProxyAgent(options);
- if (agent) {
- defaults.request = { agent };
- }
- return graphql_1.graphql.defaults(defaults);
- }
- static getAuthString(token, options) {
- // Validate args
- if (!token && !options.auth) {
- throw new Error('Parameter token or opts.auth is required');
- }
- else if (token && options.auth) {
- throw new Error('Parameters token and opts.auth may not both be specified');
- }
- return typeof options.auth === 'string' ? options.auth : `token ${token}`;
- }
- static getProxyAgent(options) {
- var _a;
- if (!((_a = options.request) === null || _a === void 0 ? void 0 : _a.agent)) {
- const serverUrl = 'https://api.github.com';
- if (httpClient.getProxyUrl(serverUrl)) {
- const hc = new httpClient.HttpClient();
- return hc.getAgent(serverUrl);
- }
- }
- return undefined;
- }
+/**
+ * Returns a hydrated octokit ready to use for GitHub Actions
+ *
+ * @param token the repo PAT or GITHUB_TOKEN
+ * @param options other options to set
+ */
+function getOctokit(token, options, ...additionalPlugins) {
+ const GitHubWithPlugins = utils_1.GitHub.plugin(...additionalPlugins);
+ return new GitHubWithPlugins(utils_1.getOctokitOptions(token, options));
}
-exports.GitHub = GitHub;
+exports.getOctokit = getOctokit;
//# sourceMappingURL=github.js.map
\ No newline at end of file
diff --git a/node_modules/@actions/github/lib/github.js.map b/node_modules/@actions/github/lib/github.js.map
index 5afe3449c..60be74b5c 100644
--- a/node_modules/@actions/github/lib/github.js.map
+++ b/node_modules/@actions/github/lib/github.js.map
@@ -1 +1 @@
-{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;AAAA,gGAAgG;AAChG,8CAAwC;AAUxC,wCAAqC;AACrC,mDAAoC;AAEpC,iEAAkD;AAElD,0CAA0C;AAC1C,cAAO,CAAC,SAAS,GAAG,IAAI,cAAO,EAAE,CAAA;AAEpB,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C,MAAa,MAAO,SAAQ,cAAO;IAiBjC,YAAY,KAA+B,EAAE,IAAsB;QACjE,KAAK,CAAC,MAAM,CAAC,iBAAiB,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAC,CAAA;QAEjE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;IACpE,CAAC;IAED;;OAEG;IACK,MAAM,CAAC,YAAY,CACzB,KAA+B,EAC/B,IAAsB;QAEtB,OAAO;YACL,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;YACtC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE;SAC/C,CAAA;IACH,CAAC;IAEO,MAAM,CAAC,iBAAiB,CAC9B,IAA+B;QAE/B,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,OAAO,qBAAO,IAAI,CAAC,CAAC,CAAC,CAAC,CAAA,CAAC,iEAAiE;QAE9F,OAAO;QACP,MAAM,IAAI,GAAG,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QACjD,IAAI,IAAI,EAAE;YACR,OAAO,CAAC,IAAI,GAAG,IAAI,CAAA;SACpB;QAED,QAAQ;QACR,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,KAAK,EAAE;YACT,iEAAiE;YACjE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC,mBAAK,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,EAAE,CAAA;YAE7D,gBAAgB;YAChB,OAAO,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAA;SAC9B;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAEO,MAAM,CAAC,UAAU,CAAC,IAA+B;QACvD,MAAM,QAAQ,GAA6B,EAAE,CAAA;QAC7C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QACrB,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,CAAC,CAAA;QAEvB,gBAAgB;QAChB,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;QAC/C,IAAI,IAAI,EAAE;YACR,QAAQ,CAAC,OAAO,GAAG;gBACjB,aAAa,EAAE,IAAI;aACpB,CAAA;SACF;QAED,QAAQ;QACR,MAAM,KAAK,GAAG,MAAM,CAAC,aAAa,CAAC,OAAO,CAAC,CAAA;QAC3C,IAAI,KAAK,EAAE;YACT,QAAQ,CAAC,OAAO,GAAG,EAAC,KAAK,EAAC,CAAA;SAC3B;QAED,OAAO,iBAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAA;IACnC,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,KAAa,EACb,OAAwB;QAExB,gBAAgB;QAChB,IAAI,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;SAC5D;aAAM,IAAI,KAAK,IAAI,OAAO,CAAC,IAAI,EAAE;YAChC,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAA;SACF;QAED,OAAO,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,KAAK,EAAE,CAAA;IAC3E,CAAC;IAEO,MAAM,CAAC,aAAa,CAC1B,OAAwB;;QAExB,IAAI,QAAC,OAAO,CAAC,OAAO,0CAAE,KAAK,CAAA,EAAE;YAC3B,MAAM,SAAS,GAAG,wBAAwB,CAAA;YAC1C,IAAI,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,EAAE;gBACrC,MAAM,EAAE,GAAG,IAAI,UAAU,CAAC,UAAU,EAAE,CAAA;gBACtC,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAA;aAC9B;SACF;QAED,OAAO,SAAS,CAAA;IAClB,CAAC;CACF;AAhHD,wBAgHC"}
\ No newline at end of file
+{"version":3,"file":"github.js","sourceRoot":"","sources":["../src/github.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,mDAAoC;AACpC,mCAAiD;AAKpC,QAAA,OAAO,GAAG,IAAI,OAAO,CAAC,OAAO,EAAE,CAAA;AAE5C;;;;;GAKG;AACH,SAAgB,UAAU,CACxB,KAAa,EACb,OAAwB,EACxB,GAAG,iBAAkC;IAErC,MAAM,iBAAiB,GAAG,cAAM,CAAC,MAAM,CAAC,GAAG,iBAAiB,CAAC,CAAA;IAC7D,OAAO,IAAI,iBAAiB,CAAC,yBAAiB,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC,CAAA;AACjE,CAAC;AAPD,gCAOC"}
\ No newline at end of file
diff --git a/node_modules/@actions/github/lib/interfaces.d.ts b/node_modules/@actions/github/lib/interfaces.d.ts
index 23788cced..f81033325 100644
--- a/node_modules/@actions/github/lib/interfaces.d.ts
+++ b/node_modules/@actions/github/lib/interfaces.d.ts
@@ -33,4 +33,8 @@ export interface WebhookPayload {
id: number;
[key: string]: any;
};
+ comment?: {
+ id: number;
+ [key: string]: any;
+ };
}
diff --git a/node_modules/@actions/github/node_modules/@octokit/rest/LICENSE b/node_modules/@actions/github/node_modules/@octokit/rest/LICENSE
deleted file mode 100644
index 4c0d268a2..000000000
--- a/node_modules/@actions/github/node_modules/@octokit/rest/LICENSE
+++ /dev/null
@@ -1,22 +0,0 @@
-The MIT License
-
-Copyright (c) 2012 Cloud9 IDE, Inc. (Mike de Boer)
-Copyright (c) 2017-2018 Octokit contributors
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in
-all copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
-THE SOFTWARE.
diff --git a/node_modules/@actions/github/node_modules/@octokit/rest/README.md b/node_modules/@actions/github/node_modules/@octokit/rest/README.md
deleted file mode 100644
index 2dd439704..000000000
--- a/node_modules/@actions/github/node_modules/@octokit/rest/README.md
+++ /dev/null
@@ -1,46 +0,0 @@
-# rest.js
-
-> GitHub REST API client for JavaScript
-
-[](https://www.npmjs.com/package/@octokit/rest)
-
-[](https://greenkeeper.io/)
-
-## Installation
-
-```shell
-npm install @octokit/rest
-```
-
-## Usage
-
-```js
-const { Octokit } = require("@octokit/rest");
-const octokit = new Octokit();
-
-// Compare: https://developer.github.com/v3/repos/#list-organization-repositories
-octokit.repos
- .listForOrg({
- org: "octokit",
- type: "public"
- })
- .then(({ data }) => {
- // handle data
- });
-```
-
-See https://octokit.github.io/rest.js/ for full documentation.
-
-## Contributing
-
-We would love you to contribute to `@octokit/rest`, pull requests are very welcome! Please see [CONTRIBUTING.md](CONTRIBUTING.md) for more information.
-
-## Credits
-
-`@octokit/rest` was originally created as [`node-github`](https://www.npmjs.com/package/github) in 2012 by Mike de Boer from Cloud9 IDE, Inc.
-
-It was adopted and renamed by GitHub in 2017
-
-## LICENSE
-
-[MIT](LICENSE)
diff --git a/node_modules/@actions/github/node_modules/@octokit/rest/index.d.ts b/node_modules/@actions/github/node_modules/@octokit/rest/index.d.ts
deleted file mode 100644
index 1da80b354..000000000
--- a/node_modules/@actions/github/node_modules/@octokit/rest/index.d.ts
+++ /dev/null
@@ -1,42072 +0,0 @@
-/**
- * This file is generated based on https://github.com/octokit/routes/ & "npm run build:ts".
- *
- * DO NOT EDIT MANUALLY.
- */
-
-/**
- * This declaration file requires TypeScript 3.1 or above.
- */
-
-///
-
-import * as http from "http";
-
-declare namespace Octokit {
- type json = any;
- type date = string;
-
- export interface Static {
- plugin(plugin: Plugin): Static;
- new (options?: Octokit.Options): Octokit;
- }
-
- export interface Response {
- /** This is the data you would see in https://developer.github.com/v3/ */
- data: T;
-
- /** Response status number */
- status: number;
-
- /** Response headers */
- headers: {
- date: string;
- "x-ratelimit-limit": string;
- "x-ratelimit-remaining": string;
- "x-ratelimit-reset": string;
- "x-Octokit-request-id": string;
- "x-Octokit-media-type": string;
- link: string;
- "last-modified": string;
- etag: string;
- status: string;
- };
-
- [Symbol.iterator](): Iterator;
- }
-
- export type AnyResponse = Response;
-
- export interface EmptyParams {}
-
- export interface Options {
- authStrategy?: any;
- auth?:
- | string
- | { username: string; password: string; on2fa: () => Promise }
- | { clientId: string; clientSecret: string }
- | { (): string | Promise }
- | any;
- userAgent?: string;
- previews?: string[];
- baseUrl?: string;
- log?: {
- debug?: (message: string, info?: object) => void;
- info?: (message: string, info?: object) => void;
- warn?: (message: string, info?: object) => void;
- error?: (message: string, info?: object) => void;
- };
- request?: {
- agent?: http.Agent;
- timeout?: number;
- };
- /**
- * @deprecated Use {request: {timeout}} instead. See https://github.com/octokit/request.js#request
- */
- timeout?: number;
- /**
- * @deprecated Use {userAgent, previews} instead. See https://github.com/octokit/request.js#request
- */
- headers?: { [header: string]: any };
- /**
- * @deprecated Use {request: {agent}} instead. See https://github.com/octokit/request.js#request
- */
- agent?: http.Agent;
- [option: string]: any;
- }
-
- export type RequestMethod =
- | "DELETE"
- | "GET"
- | "HEAD"
- | "PATCH"
- | "POST"
- | "PUT";
-
- export interface EndpointOptions {
- baseUrl?: string;
- method?: RequestMethod;
- url?: string;
- headers?: { [header: string]: any };
- data?: any;
- request?: { [option: string]: any };
- [parameter: string]: any;
- }
-
- export interface RequestOptions {
- method?: RequestMethod;
- url?: string;
- headers?: RequestHeaders;
- body?: any;
- request?: OctokitRequestOptions;
- /**
- * Media type options, see {@link https://developer.github.com/v3/media/|GitHub Developer Guide}
- */
- mediaType?: {
- /**
- * `json` by default. Can be `raw`, `text`, `html`, `full`, `diff`, `patch`, `sha`, `base64`. Depending on endpoint
- */
- format?: string;
-
- /**
- * Custom media type names of {@link https://developer.github.com/v3/media/|API Previews} without the `-preview` suffix.
- * Example for single preview: `['squirrel-girl']`.
- * Example for multiple previews: `['squirrel-girl', 'mister-fantastic']`.
- */
- previews?: string[];
- };
- }
-
- export type RequestHeaders = {
- /**
- * Avoid setting `accept`, use `mediaFormat.{format|previews}` instead.
- */
- accept?: string;
- /**
- * Use `authorization` to send authenticated request, remember `token ` / `bearer ` prefixes. Example: `token 1234567890abcdef1234567890abcdef12345678`
- */
- authorization?: string;
- /**
- * `user-agent` is set do a default and can be overwritten as needed.
- */
- "user-agent"?: string;
-
- [header: string]: string | number | undefined;
- };
-
- export type OctokitRequestOptions = {
- /**
- * Node only. Useful for custom proxy, certificate, or dns lookup.
- */
- agent?: http.Agent;
- /**
- * Custom replacement for built-in fetch method. Useful for testing or request hooks.
- */
- fetch?: any;
- /**
- * Use an `AbortController` instance to cancel a request. In node you can only cancel streamed requests.
- */
- signal?: any;
- /**
- * Node only. Request/response timeout in ms, it resets on redirect. 0 to disable (OS limit applies). `options.request.signal` is recommended instead.
- */
- timeout?: number;
-
- [option: string]: any;
- };
-
- export interface Log {
- debug: (message: string, additionalInfo?: object) => void;
- info: (message: string, additionalInfo?: object) => void;
- warn: (message: string, additionalInfo?: object) => void;
- error: (message: string, additionalInfo?: object) => void;
- }
-
- export interface Endpoint {
- (
- Route: string,
- EndpointOptions?: Octokit.EndpointOptions
- ): Octokit.RequestOptions;
- (EndpointOptions: Octokit.EndpointOptions): Octokit.RequestOptions;
- /**
- * Current default options
- */
- DEFAULTS: Octokit.EndpointOptions;
- /**
- * Get the defaulted endpoint options, but without parsing them into request options:
- */
- merge(
- Route: string,
- EndpointOptions?: Octokit.EndpointOptions
- ): Octokit.RequestOptions;
- merge(EndpointOptions: Octokit.EndpointOptions): Octokit.RequestOptions;
- /**
- * Stateless method to turn endpoint options into request options. Calling endpoint(options) is the same as calling endpoint.parse(endpoint.merge(options)).
- */
- parse(EndpointOptions: Octokit.EndpointOptions): Octokit.RequestOptions;
- /**
- * Merges existing defaults with passed options and returns new endpoint() method with new defaults
- */
- defaults(EndpointOptions: Octokit.EndpointOptions): Octokit.Endpoint;
- }
-
- export interface Request {
- (Route: string, EndpointOptions?: Octokit.EndpointOptions): Promise<
- Octokit.AnyResponse
- >;
- (EndpointOptions: Octokit.EndpointOptions): Promise;
- endpoint: Octokit.Endpoint;
- }
-
- export interface AuthBasic {
- type: "basic";
- username: string;
- password: string;
- }
-
- export interface AuthOAuthToken {
- type: "oauth";
- token: string;
- }
-
- export interface AuthOAuthSecret {
- type: "oauth";
- key: string;
- secret: string;
- }
-
- export interface AuthUserToken {
- type: "token";
- token: string;
- }
-
- export interface AuthJWT {
- type: "app";
- token: string;
- }
-
- export type Link = { link: string } | { headers: { link: string } } | string;
-
- export interface Callback {
- (error: Error | null, result: T): any;
- }
-
- export type Plugin = (octokit: Octokit, options: Octokit.Options) => void;
-
- // See https://github.com/octokit/request.js#request
- export type HookOptions = {
- baseUrl: string;
- headers: { [header: string]: string };
- method: string;
- url: string;
- data: any;
- // See https://github.com/bitinn/node-fetch#options
- request: {
- follow?: number;
- timeout?: number;
- compress?: boolean;
- size?: number;
- agent?: string | null;
- };
- [index: string]: any;
- };
-
- export type HookError = Error & {
- status: number;
- headers: { [header: string]: string };
- documentation_url?: string;
- errors?: [
- {
- resource: string;
- field: string;
- code: string;
- }
- ];
- };
-
- export interface Paginate {
- (
- Route: string,
- EndpointOptions?: Octokit.EndpointOptions,
- callback?: (response: Octokit.AnyResponse, done: () => void) => any
- ): Promise;
- (
- EndpointOptions: Octokit.EndpointOptions,
- callback?: (response: Octokit.AnyResponse, done: () => void) => any
- ): Promise;
- iterator: (
- EndpointOptions: Octokit.EndpointOptions
- ) => AsyncIterableIterator;
- }
-
- // response types
- type UsersUpdateAuthenticatedResponsePlan = {
- collaborators: number;
- name: string;
- private_repos: number;
- space: number;
- };
- type UsersUpdateAuthenticatedResponse = {
- avatar_url: string;
- bio: string;
- blog: string;
- collaborators: number;
- company: string;
- created_at: string;
- disk_usage: number;
- email: string;
- events_url: string;
- followers: number;
- followers_url: string;
- following: number;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- hireable: boolean;
- html_url: string;
- id: number;
- location: string;
- login: string;
- name: string;
- node_id: string;
- organizations_url: string;
- owned_private_repos: number;
- plan: UsersUpdateAuthenticatedResponsePlan;
- private_gists: number;
- public_gists: number;
- public_repos: number;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- total_private_repos: number;
- two_factor_authentication: boolean;
- type: string;
- updated_at: string;
- url: string;
- };
- type UsersTogglePrimaryEmailVisibilityResponseItem = {
- email: string;
- primary: boolean;
- verified: boolean;
- visibility: string;
- };
- type UsersListPublicKeysForUserResponseItem = { id: number; key: string };
- type UsersListPublicKeysResponseItem = { key: string; key_id: string };
- type UsersListPublicEmailsResponseItem = {
- email: string;
- primary: boolean;
- verified: boolean;
- visibility: string;
- };
- type UsersListGpgKeysForUserResponseItemSubkeysItem = {
- can_certify: boolean;
- can_encrypt_comms: boolean;
- can_encrypt_storage: boolean;
- can_sign: boolean;
- created_at: string;
- emails: Array;
- expires_at: null;
- id: number;
- key_id: string;
- primary_key_id: number;
- public_key: string;
- subkeys: Array;
- };
- type UsersListGpgKeysForUserResponseItemEmailsItem = {
- email: string;
- verified: boolean;
- };
- type UsersListGpgKeysForUserResponseItem = {
- can_certify: boolean;
- can_encrypt_comms: boolean;
- can_encrypt_storage: boolean;
- can_sign: boolean;
- created_at: string;
- emails: Array;
- expires_at: null;
- id: number;
- key_id: string;
- primary_key_id: null;
- public_key: string;
- subkeys: Array;
- };
- type UsersListGpgKeysResponseItemSubkeysItem = {
- can_certify: boolean;
- can_encrypt_comms: boolean;
- can_encrypt_storage: boolean;
- can_sign: boolean;
- created_at: string;
- emails: Array;
- expires_at: null;
- id: number;
- key_id: string;
- primary_key_id: number;
- public_key: string;
- subkeys: Array;
- };
- type UsersListGpgKeysResponseItemEmailsItem = {
- email: string;
- verified: boolean;
- };
- type UsersListGpgKeysResponseItem = {
- can_certify: boolean;
- can_encrypt_comms: boolean;
- can_encrypt_storage: boolean;
- can_sign: boolean;
- created_at: string;
- emails: Array;
- expires_at: null;
- id: number;
- key_id: string;
- primary_key_id: null;
- public_key: string;
- subkeys: Array;
- };
- type UsersListFollowingForUserResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type UsersListFollowingForAuthenticatedUserResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type UsersListFollowersForUserResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type UsersListFollowersForAuthenticatedUserResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type UsersListEmailsResponseItem = {
- email: string;
- primary: boolean;
- verified: boolean;
- visibility: string;
- };
- type UsersListBlockedResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type UsersListResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type UsersGetPublicKeyResponse = { key: string; key_id: string };
- type UsersGetGpgKeyResponseSubkeysItem = {
- can_certify: boolean;
- can_encrypt_comms: boolean;
- can_encrypt_storage: boolean;
- can_sign: boolean;
- created_at: string;
- emails: Array;
- expires_at: null;
- id: number;
- key_id: string;
- primary_key_id: number;
- public_key: string;
- subkeys: Array;
- };
- type UsersGetGpgKeyResponseEmailsItem = { email: string; verified: boolean };
- type UsersGetGpgKeyResponse = {
- can_certify: boolean;
- can_encrypt_comms: boolean;
- can_encrypt_storage: boolean;
- can_sign: boolean;
- created_at: string;
- emails: Array;
- expires_at: null;
- id: number;
- key_id: string;
- primary_key_id: null;
- public_key: string;
- subkeys: Array;
- };
- type UsersGetContextForUserResponseContextsItem = {
- message: string;
- octicon: string;
- };
- type UsersGetContextForUserResponse = {
- contexts: Array;
- };
- type UsersGetByUsernameResponsePlan = {
- collaborators: number;
- name: string;
- private_repos: number;
- space: number;
- };
- type UsersGetByUsernameResponse = {
- avatar_url: string;
- bio: string;
- blog: string;
- company: string;
- created_at: string;
- email: string;
- events_url: string;
- followers: number;
- followers_url: string;
- following: number;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- hireable: boolean;
- html_url: string;
- id: number;
- location: string;
- login: string;
- name: string;
- node_id: string;
- organizations_url: string;
- public_gists: number;
- public_repos: number;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- updated_at: string;
- url: string;
- plan?: UsersGetByUsernameResponsePlan;
- };
- type UsersGetAuthenticatedResponsePlan = {
- collaborators: number;
- name: string;
- private_repos: number;
- space: number;
- };
- type UsersGetAuthenticatedResponse = {
- avatar_url: string;
- bio: string;
- blog: string;
- collaborators?: number;
- company: string;
- created_at: string;
- disk_usage?: number;
- email: string;
- events_url: string;
- followers: number;
- followers_url: string;
- following: number;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- hireable: boolean;
- html_url: string;
- id: number;
- location: string;
- login: string;
- name: string;
- node_id: string;
- organizations_url: string;
- owned_private_repos?: number;
- plan?: UsersGetAuthenticatedResponsePlan;
- private_gists?: number;
- public_gists: number;
- public_repos: number;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- total_private_repos?: number;
- two_factor_authentication?: boolean;
- type: string;
- updated_at: string;
- url: string;
- };
- type UsersCreatePublicKeyResponse = { key: string; key_id: string };
- type UsersCreateGpgKeyResponseSubkeysItem = {
- can_certify: boolean;
- can_encrypt_comms: boolean;
- can_encrypt_storage: boolean;
- can_sign: boolean;
- created_at: string;
- emails: Array;
- expires_at: null;
- id: number;
- key_id: string;
- primary_key_id: number;
- public_key: string;
- subkeys: Array;
- };
- type UsersCreateGpgKeyResponseEmailsItem = {
- email: string;
- verified: boolean;
- };
- type UsersCreateGpgKeyResponse = {
- can_certify: boolean;
- can_encrypt_comms: boolean;
- can_encrypt_storage: boolean;
- can_sign: boolean;
- created_at: string;
- emails: Array;
- expires_at: null;
- id: number;
- key_id: string;
- primary_key_id: null;
- public_key: string;
- subkeys: Array;
- };
- type UsersAddEmailsResponseItem = {
- email: string;
- primary: boolean;
- verified: boolean;
- visibility: string | null;
- };
- type TeamsUpdateLegacyResponseOrganization = {
- avatar_url: string;
- blog: string;
- company: string;
- created_at: string;
- description: string;
- email: string;
- events_url: string;
- followers: number;
- following: number;
- has_organization_projects: boolean;
- has_repository_projects: boolean;
- hooks_url: string;
- html_url: string;
- id: number;
- is_verified: boolean;
- issues_url: string;
- location: string;
- login: string;
- members_url: string;
- name: string;
- node_id: string;
- public_gists: number;
- public_members_url: string;
- public_repos: number;
- repos_url: string;
- type: string;
- url: string;
- };
- type TeamsUpdateLegacyResponse = {
- created_at: string;
- description: string;
- html_url: string;
- id: number;
- members_count: number;
- members_url: string;
- name: string;
- node_id: string;
- organization: TeamsUpdateLegacyResponseOrganization;
- parent: null;
- permission: string;
- privacy: string;
- repos_count: number;
- repositories_url: string;
- slug: string;
- updated_at: string;
- url: string;
- };
- type TeamsUpdateInOrgResponseOrganization = {
- avatar_url: string;
- blog: string;
- company: string;
- created_at: string;
- description: string;
- email: string;
- events_url: string;
- followers: number;
- following: number;
- has_organization_projects: boolean;
- has_repository_projects: boolean;
- hooks_url: string;
- html_url: string;
- id: number;
- is_verified: boolean;
- issues_url: string;
- location: string;
- login: string;
- members_url: string;
- name: string;
- node_id: string;
- public_gists: number;
- public_members_url: string;
- public_repos: number;
- repos_url: string;
- type: string;
- url: string;
- };
- type TeamsUpdateInOrgResponse = {
- created_at: string;
- description: string;
- html_url: string;
- id: number;
- members_count: number;
- members_url: string;
- name: string;
- node_id: string;
- organization: TeamsUpdateInOrgResponseOrganization;
- parent: null;
- permission: string;
- privacy: string;
- repos_count: number;
- repositories_url: string;
- slug: string;
- updated_at: string;
- url: string;
- };
- type TeamsUpdateDiscussionLegacyResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsUpdateDiscussionLegacyResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsUpdateDiscussionLegacyResponse = {
- author: TeamsUpdateDiscussionLegacyResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: string;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsUpdateDiscussionLegacyResponseReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsUpdateDiscussionInOrgResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsUpdateDiscussionInOrgResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsUpdateDiscussionInOrgResponse = {
- author: TeamsUpdateDiscussionInOrgResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: string;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsUpdateDiscussionInOrgResponseReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsUpdateDiscussionCommentLegacyResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsUpdateDiscussionCommentLegacyResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsUpdateDiscussionCommentLegacyResponse = {
- author: TeamsUpdateDiscussionCommentLegacyResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: string;
- node_id: string;
- number: number;
- reactions: TeamsUpdateDiscussionCommentLegacyResponseReactions;
- updated_at: string;
- url: string;
- };
- type TeamsUpdateDiscussionCommentInOrgResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsUpdateDiscussionCommentInOrgResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsUpdateDiscussionCommentInOrgResponse = {
- author: TeamsUpdateDiscussionCommentInOrgResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: string;
- node_id: string;
- number: number;
- reactions: TeamsUpdateDiscussionCommentInOrgResponseReactions;
- updated_at: string;
- url: string;
- };
- type TeamsUpdateDiscussionCommentResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsUpdateDiscussionCommentResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsUpdateDiscussionCommentResponse = {
- author: TeamsUpdateDiscussionCommentResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: string;
- node_id: string;
- number: number;
- reactions: TeamsUpdateDiscussionCommentResponseReactions;
- updated_at: string;
- url: string;
- };
- type TeamsUpdateDiscussionResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsUpdateDiscussionResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsUpdateDiscussionResponse = {
- author: TeamsUpdateDiscussionResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: string;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsUpdateDiscussionResponseReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsUpdateResponseOrganization = {
- avatar_url: string;
- blog: string;
- company: string;
- created_at: string;
- description: string;
- email: string;
- events_url: string;
- followers: number;
- following: number;
- has_organization_projects: boolean;
- has_repository_projects: boolean;
- hooks_url: string;
- html_url: string;
- id: number;
- is_verified: boolean;
- issues_url: string;
- location: string;
- login: string;
- members_url: string;
- name: string;
- node_id: string;
- public_gists: number;
- public_members_url: string;
- public_repos: number;
- repos_url: string;
- type: string;
- url: string;
- };
- type TeamsUpdateResponse = {
- created_at: string;
- description: string;
- html_url: string;
- id: number;
- members_count: number;
- members_url: string;
- name: string;
- node_id: string;
- organization: TeamsUpdateResponseOrganization;
- parent: null;
- permission: string;
- privacy: string;
- repos_count: number;
- repositories_url: string;
- slug: string;
- updated_at: string;
- url: string;
- };
- type TeamsReviewProjectLegacyResponsePermissions = {
- admin: boolean;
- read: boolean;
- write: boolean;
- };
- type TeamsReviewProjectLegacyResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsReviewProjectLegacyResponse = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: TeamsReviewProjectLegacyResponseCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- organization_permission: string;
- owner_url: string;
- permissions: TeamsReviewProjectLegacyResponsePermissions;
- private: boolean;
- state: string;
- updated_at: string;
- url: string;
- };
- type TeamsReviewProjectInOrgResponsePermissions = {
- admin: boolean;
- read: boolean;
- write: boolean;
- };
- type TeamsReviewProjectInOrgResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsReviewProjectInOrgResponse = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: TeamsReviewProjectInOrgResponseCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- organization_permission: string;
- owner_url: string;
- permissions: TeamsReviewProjectInOrgResponsePermissions;
- private: boolean;
- state: string;
- updated_at: string;
- url: string;
- };
- type TeamsReviewProjectResponsePermissions = {
- admin: boolean;
- read: boolean;
- write: boolean;
- };
- type TeamsReviewProjectResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsReviewProjectResponse = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: TeamsReviewProjectResponseCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- organization_permission: string;
- owner_url: string;
- permissions: TeamsReviewProjectResponsePermissions;
- private: boolean;
- state: string;
- updated_at: string;
- url: string;
- };
- type TeamsListReposLegacyResponseItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type TeamsListReposLegacyResponseItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListReposLegacyResponseItemLicense = {
- key: string;
- name: string;
- node_id: string;
- spdx_id: string;
- url: string;
- };
- type TeamsListReposLegacyResponseItem = {
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- license: TeamsListReposLegacyResponseItemLicense;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: TeamsListReposLegacyResponseItemOwner;
- permissions: TeamsListReposLegacyResponseItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type TeamsListReposInOrgResponseItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type TeamsListReposInOrgResponseItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListReposInOrgResponseItemLicense = {
- key: string;
- name: string;
- node_id: string;
- spdx_id: string;
- url: string;
- };
- type TeamsListReposInOrgResponseItem = {
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- license: TeamsListReposInOrgResponseItemLicense;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: TeamsListReposInOrgResponseItemOwner;
- permissions: TeamsListReposInOrgResponseItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type TeamsListReposResponseItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type TeamsListReposResponseItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListReposResponseItemLicense = {
- key: string;
- name: string;
- node_id: string;
- spdx_id: string;
- url: string;
- };
- type TeamsListReposResponseItem = {
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- license: TeamsListReposResponseItemLicense;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: TeamsListReposResponseItemOwner;
- permissions: TeamsListReposResponseItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type TeamsListProjectsLegacyResponseItemPermissions = {
- admin: boolean;
- read: boolean;
- write: boolean;
- };
- type TeamsListProjectsLegacyResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListProjectsLegacyResponseItem = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: TeamsListProjectsLegacyResponseItemCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- organization_permission: string;
- owner_url: string;
- permissions: TeamsListProjectsLegacyResponseItemPermissions;
- private: boolean;
- state: string;
- updated_at: string;
- url: string;
- };
- type TeamsListProjectsInOrgResponseItemPermissions = {
- admin: boolean;
- read: boolean;
- write: boolean;
- };
- type TeamsListProjectsInOrgResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListProjectsInOrgResponseItem = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: TeamsListProjectsInOrgResponseItemCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- organization_permission: string;
- owner_url: string;
- permissions: TeamsListProjectsInOrgResponseItemPermissions;
- private: boolean;
- state: string;
- updated_at: string;
- url: string;
- };
- type TeamsListProjectsResponseItemPermissions = {
- admin: boolean;
- read: boolean;
- write: boolean;
- };
- type TeamsListProjectsResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListProjectsResponseItem = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: TeamsListProjectsResponseItemCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- organization_permission: string;
- owner_url: string;
- permissions: TeamsListProjectsResponseItemPermissions;
- private: boolean;
- state: string;
- updated_at: string;
- url: string;
- };
- type TeamsListPendingInvitationsLegacyResponseItemInviter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListPendingInvitationsLegacyResponseItem = {
- created_at: string;
- email: string;
- id: number;
- invitation_team_url: string;
- inviter: TeamsListPendingInvitationsLegacyResponseItemInviter;
- login: string;
- role: string;
- team_count: number;
- };
- type TeamsListPendingInvitationsInOrgResponseItemInviter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListPendingInvitationsInOrgResponseItem = {
- created_at: string;
- email: string;
- id: number;
- invitation_team_url: string;
- inviter: TeamsListPendingInvitationsInOrgResponseItemInviter;
- login: string;
- role: string;
- team_count: number;
- };
- type TeamsListPendingInvitationsResponseItemInviter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListPendingInvitationsResponseItem = {
- created_at: string;
- email: string;
- id: number;
- invitation_team_url: string;
- inviter: TeamsListPendingInvitationsResponseItemInviter;
- login: string;
- role: string;
- team_count: number;
- };
- type TeamsListMembersLegacyResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListMembersInOrgResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListMembersResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListForAuthenticatedUserResponseItemOrganization = {
- avatar_url: string;
- blog: string;
- company: string;
- created_at: string;
- description: string;
- email: string;
- events_url: string;
- followers: number;
- following: number;
- has_organization_projects: boolean;
- has_repository_projects: boolean;
- hooks_url: string;
- html_url: string;
- id: number;
- is_verified: boolean;
- issues_url: string;
- location: string;
- login: string;
- members_url: string;
- name: string;
- node_id: string;
- public_gists: number;
- public_members_url: string;
- public_repos: number;
- repos_url: string;
- type: string;
- url: string;
- };
- type TeamsListForAuthenticatedUserResponseItem = {
- created_at: string;
- description: string;
- html_url: string;
- id: number;
- members_count: number;
- members_url: string;
- name: string;
- node_id: string;
- organization: TeamsListForAuthenticatedUserResponseItemOrganization;
- parent: null;
- permission: string;
- privacy: string;
- repos_count: number;
- repositories_url: string;
- slug: string;
- updated_at: string;
- url: string;
- };
- type TeamsListDiscussionsLegacyResponseItemReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsListDiscussionsLegacyResponseItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListDiscussionsLegacyResponseItem = {
- author: TeamsListDiscussionsLegacyResponseItemAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsListDiscussionsLegacyResponseItemReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsListDiscussionsInOrgResponseItemReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsListDiscussionsInOrgResponseItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListDiscussionsInOrgResponseItem = {
- author: TeamsListDiscussionsInOrgResponseItemAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsListDiscussionsInOrgResponseItemReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsListDiscussionsResponseItemReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsListDiscussionsResponseItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListDiscussionsResponseItem = {
- author: TeamsListDiscussionsResponseItemAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsListDiscussionsResponseItemReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsListDiscussionCommentsLegacyResponseItemReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsListDiscussionCommentsLegacyResponseItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListDiscussionCommentsLegacyResponseItem = {
- author: TeamsListDiscussionCommentsLegacyResponseItemAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- reactions: TeamsListDiscussionCommentsLegacyResponseItemReactions;
- updated_at: string;
- url: string;
- };
- type TeamsListDiscussionCommentsInOrgResponseItemReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsListDiscussionCommentsInOrgResponseItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListDiscussionCommentsInOrgResponseItem = {
- author: TeamsListDiscussionCommentsInOrgResponseItemAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- reactions: TeamsListDiscussionCommentsInOrgResponseItemReactions;
- updated_at: string;
- url: string;
- };
- type TeamsListDiscussionCommentsResponseItemReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsListDiscussionCommentsResponseItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsListDiscussionCommentsResponseItem = {
- author: TeamsListDiscussionCommentsResponseItemAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- reactions: TeamsListDiscussionCommentsResponseItemReactions;
- updated_at: string;
- url: string;
- };
- type TeamsListChildLegacyResponseItemParent = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type TeamsListChildLegacyResponseItem = {
- description: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: TeamsListChildLegacyResponseItemParent;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type TeamsListChildInOrgResponseItemParent = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type TeamsListChildInOrgResponseItem = {
- description: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: TeamsListChildInOrgResponseItemParent;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type TeamsListChildResponseItemParent = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type TeamsListChildResponseItem = {
- description: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: TeamsListChildResponseItemParent;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type TeamsListResponseItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type TeamsGetMembershipLegacyResponse = {
- role: string;
- state: string;
- url: string;
- };
- type TeamsGetMembershipInOrgResponse = {
- role: string;
- state: string;
- url: string;
- };
- type TeamsGetMembershipResponse = {
- role: string;
- state: string;
- url: string;
- };
- type TeamsGetLegacyResponseOrganization = {
- avatar_url: string;
- blog: string;
- company: string;
- created_at: string;
- description: string;
- email: string;
- events_url: string;
- followers: number;
- following: number;
- has_organization_projects: boolean;
- has_repository_projects: boolean;
- hooks_url: string;
- html_url: string;
- id: number;
- is_verified: boolean;
- issues_url: string;
- location: string;
- login: string;
- members_url: string;
- name: string;
- node_id: string;
- public_gists: number;
- public_members_url: string;
- public_repos: number;
- repos_url: string;
- type: string;
- url: string;
- };
- type TeamsGetLegacyResponse = {
- created_at: string;
- description: string;
- html_url: string;
- id: number;
- members_count: number;
- members_url: string;
- name: string;
- node_id: string;
- organization: TeamsGetLegacyResponseOrganization;
- parent: null;
- permission: string;
- privacy: string;
- repos_count: number;
- repositories_url: string;
- slug: string;
- updated_at: string;
- url: string;
- };
- type TeamsGetDiscussionLegacyResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsGetDiscussionLegacyResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsGetDiscussionLegacyResponse = {
- author: TeamsGetDiscussionLegacyResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsGetDiscussionLegacyResponseReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsGetDiscussionInOrgResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsGetDiscussionInOrgResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsGetDiscussionInOrgResponse = {
- author: TeamsGetDiscussionInOrgResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsGetDiscussionInOrgResponseReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsGetDiscussionCommentLegacyResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsGetDiscussionCommentLegacyResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsGetDiscussionCommentLegacyResponse = {
- author: TeamsGetDiscussionCommentLegacyResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- reactions: TeamsGetDiscussionCommentLegacyResponseReactions;
- updated_at: string;
- url: string;
- };
- type TeamsGetDiscussionCommentInOrgResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsGetDiscussionCommentInOrgResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsGetDiscussionCommentInOrgResponse = {
- author: TeamsGetDiscussionCommentInOrgResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- reactions: TeamsGetDiscussionCommentInOrgResponseReactions;
- updated_at: string;
- url: string;
- };
- type TeamsGetDiscussionCommentResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsGetDiscussionCommentResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsGetDiscussionCommentResponse = {
- author: TeamsGetDiscussionCommentResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- reactions: TeamsGetDiscussionCommentResponseReactions;
- updated_at: string;
- url: string;
- };
- type TeamsGetDiscussionResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsGetDiscussionResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsGetDiscussionResponse = {
- author: TeamsGetDiscussionResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsGetDiscussionResponseReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsGetByNameResponseOrganization = {
- avatar_url: string;
- blog: string;
- company: string;
- created_at: string;
- description: string;
- email: string;
- events_url: string;
- followers: number;
- following: number;
- has_organization_projects: boolean;
- has_repository_projects: boolean;
- hooks_url: string;
- html_url: string;
- id: number;
- is_verified: boolean;
- issues_url: string;
- location: string;
- login: string;
- members_url: string;
- name: string;
- node_id: string;
- public_gists: number;
- public_members_url: string;
- public_repos: number;
- repos_url: string;
- type: string;
- url: string;
- };
- type TeamsGetByNameResponse = {
- created_at: string;
- description: string;
- html_url: string;
- id: number;
- members_count: number;
- members_url: string;
- name: string;
- node_id: string;
- organization: TeamsGetByNameResponseOrganization;
- parent: null;
- permission: string;
- privacy: string;
- repos_count: number;
- repositories_url: string;
- slug: string;
- updated_at: string;
- url: string;
- };
- type TeamsGetResponseOrganization = {
- avatar_url: string;
- blog: string;
- company: string;
- created_at: string;
- description: string;
- email: string;
- events_url: string;
- followers: number;
- following: number;
- has_organization_projects: boolean;
- has_repository_projects: boolean;
- hooks_url: string;
- html_url: string;
- id: number;
- is_verified: boolean;
- issues_url: string;
- location: string;
- login: string;
- members_url: string;
- name: string;
- node_id: string;
- public_gists: number;
- public_members_url: string;
- public_repos: number;
- repos_url: string;
- type: string;
- url: string;
- };
- type TeamsGetResponse = {
- created_at: string;
- description: string;
- html_url: string;
- id: number;
- members_count: number;
- members_url: string;
- name: string;
- node_id: string;
- organization: TeamsGetResponseOrganization;
- parent: null;
- permission: string;
- privacy: string;
- repos_count: number;
- repositories_url: string;
- slug: string;
- updated_at: string;
- url: string;
- };
- type TeamsCreateDiscussionLegacyResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsCreateDiscussionLegacyResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsCreateDiscussionLegacyResponse = {
- author: TeamsCreateDiscussionLegacyResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsCreateDiscussionLegacyResponseReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsCreateDiscussionInOrgResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsCreateDiscussionInOrgResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsCreateDiscussionInOrgResponse = {
- author: TeamsCreateDiscussionInOrgResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsCreateDiscussionInOrgResponseReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsCreateDiscussionCommentLegacyResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsCreateDiscussionCommentLegacyResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsCreateDiscussionCommentLegacyResponse = {
- author: TeamsCreateDiscussionCommentLegacyResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- reactions: TeamsCreateDiscussionCommentLegacyResponseReactions;
- updated_at: string;
- url: string;
- };
- type TeamsCreateDiscussionCommentInOrgResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsCreateDiscussionCommentInOrgResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsCreateDiscussionCommentInOrgResponse = {
- author: TeamsCreateDiscussionCommentInOrgResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- reactions: TeamsCreateDiscussionCommentInOrgResponseReactions;
- updated_at: string;
- url: string;
- };
- type TeamsCreateDiscussionCommentResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsCreateDiscussionCommentResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsCreateDiscussionCommentResponse = {
- author: TeamsCreateDiscussionCommentResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- created_at: string;
- discussion_url: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- reactions: TeamsCreateDiscussionCommentResponseReactions;
- updated_at: string;
- url: string;
- };
- type TeamsCreateDiscussionResponseReactions = {
- "+1": number;
- "-1": number;
- confused: number;
- heart: number;
- hooray: number;
- laugh: number;
- total_count: number;
- url: string;
- };
- type TeamsCreateDiscussionResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsCreateDiscussionResponse = {
- author: TeamsCreateDiscussionResponseAuthor;
- body: string;
- body_html: string;
- body_version: string;
- comments_count: number;
- comments_url: string;
- created_at: string;
- html_url: string;
- last_edited_at: null;
- node_id: string;
- number: number;
- pinned: boolean;
- private: boolean;
- reactions: TeamsCreateDiscussionResponseReactions;
- team_url: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type TeamsCreateResponseOrganization = {
- avatar_url: string;
- blog: string;
- company: string;
- created_at: string;
- description: string;
- email: string;
- events_url: string;
- followers: number;
- following: number;
- has_organization_projects: boolean;
- has_repository_projects: boolean;
- hooks_url: string;
- html_url: string;
- id: number;
- is_verified: boolean;
- issues_url: string;
- location: string;
- login: string;
- members_url: string;
- name: string;
- node_id: string;
- public_gists: number;
- public_members_url: string;
- public_repos: number;
- repos_url: string;
- type: string;
- url: string;
- };
- type TeamsCreateResponse = {
- created_at: string;
- description: string;
- html_url: string;
- id: number;
- members_count: number;
- members_url: string;
- name: string;
- node_id: string;
- organization: TeamsCreateResponseOrganization;
- parent: null;
- permission: string;
- privacy: string;
- repos_count: number;
- repositories_url: string;
- slug: string;
- updated_at: string;
- url: string;
- };
- type TeamsCheckManagesRepoLegacyResponsePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type TeamsCheckManagesRepoLegacyResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsCheckManagesRepoLegacyResponse = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: TeamsCheckManagesRepoLegacyResponseOwner;
- permissions: TeamsCheckManagesRepoLegacyResponsePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type TeamsCheckManagesRepoInOrgResponsePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type TeamsCheckManagesRepoInOrgResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsCheckManagesRepoInOrgResponse = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: TeamsCheckManagesRepoInOrgResponseOwner;
- permissions: TeamsCheckManagesRepoInOrgResponsePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type TeamsCheckManagesRepoResponsePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type TeamsCheckManagesRepoResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type TeamsCheckManagesRepoResponse = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: TeamsCheckManagesRepoResponseOwner;
- permissions: TeamsCheckManagesRepoResponsePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type TeamsAddOrUpdateProjectLegacyResponse = {
- documentation_url: string;
- message: string;
- };
- type TeamsAddOrUpdateProjectInOrgResponse = {
- documentation_url: string;
- message: string;
- };
- type TeamsAddOrUpdateProjectResponse = {
- documentation_url: string;
- message: string;
- };
- type TeamsAddOrUpdateMembershipLegacyResponse = {
- role: string;
- state: string;
- url: string;
- };
- type TeamsAddOrUpdateMembershipInOrgResponse = {
- role: string;
- state: string;
- url: string;
- };
- type TeamsAddOrUpdateMembershipResponse = {
- role: string;
- state: string;
- url: string;
- };
- type TeamsAddMemberLegacyResponseErrorsItem = {
- code: string;
- field: string;
- resource: string;
- };
- type TeamsAddMemberLegacyResponse = {
- errors: Array;
- message: string;
- };
- type TeamsAddMemberResponseErrorsItem = {
- code: string;
- field: string;
- resource: string;
- };
- type TeamsAddMemberResponse = {
- errors: Array;
- message: string;
- };
- type SearchUsersLegacyResponseUsersItem = {
- created: string;
- created_at: string;
- followers: number;
- followers_count: number;
- fullname: string;
- gravatar_id: string;
- id: string;
- language: string;
- location: string;
- login: string;
- name: string;
- public_repo_count: number;
- repos: number;
- score: number;
- type: string;
- username: string;
- };
- type SearchUsersLegacyResponse = {
- users: Array;
- };
- type SearchUsersResponseItemsItem = {
- avatar_url: string;
- followers_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- score: number;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type SearchUsersResponse = {
- incomplete_results: boolean;
- items: Array;
- total_count: number;
- };
- type SearchTopicsResponseItemsItem = {
- created_at: string;
- created_by: string;
- curated: boolean;
- description: string;
- display_name: string;
- featured: boolean;
- name: string;
- released: string;
- score: number;
- short_description: string;
- updated_at: string;
- };
- type SearchTopicsResponse = {
- incomplete_results: boolean;
- items: Array;
- total_count: number;
- };
- type SearchReposLegacyResponseRepositoriesItem = {
- created: string;
- created_at: string;
- description: string;
- followers: number;
- fork: boolean;
- forks: number;
- has_downloads: boolean;
- has_issues: boolean;
- has_wiki: boolean;
- homepage: string;
- language: string;
- name: string;
- open_issues: number;
- owner: string;
- private: boolean;
- pushed: string;
- pushed_at: string;
- score: number;
- size: number;
- type: string;
- url: string;
- username: string;
- watchers: number;
- };
- type SearchReposLegacyResponse = {
- repositories: Array;
- };
- type SearchReposResponseItemsItemOwner = {
- avatar_url: string;
- gravatar_id: string;
- id: number;
- login: string;
- node_id: string;
- received_events_url: string;
- type: string;
- url: string;
- };
- type SearchReposResponseItemsItem = {
- created_at: string;
- default_branch: string;
- description: string;
- fork: boolean;
- forks_count: number;
- full_name: string;
- homepage: string;
- html_url: string;
- id: number;
- language: string;
- master_branch: string;
- name: string;
- node_id: string;
- open_issues_count: number;
- owner: SearchReposResponseItemsItemOwner;
- private: boolean;
- pushed_at: string;
- score: number;
- size: number;
- stargazers_count: number;
- updated_at: string;
- url: string;
- watchers_count: number;
- };
- type SearchReposResponse = {
- incomplete_results: boolean;
- items: Array;
- total_count: number;
- };
- type SearchLabelsResponseItemsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- score: number;
- url: string;
- };
- type SearchLabelsResponse = {
- incomplete_results: boolean;
- items: Array;
- total_count: number;
- };
- type SearchIssuesLegacyResponseIssuesItem = {
- body: string;
- comments: number;
- created_at: string;
- gravatar_id: string;
- html_url: string;
- labels: Array;
- number: number;
- position: number;
- state: string;
- title: string;
- updated_at: string;
- user: string;
- votes: number;
- };
- type SearchIssuesLegacyResponse = {
- issues: Array;
- };
- type SearchIssuesAndPullRequestsResponseItemsItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type SearchIssuesAndPullRequestsResponseItemsItemPullRequest = {
- diff_url: null;
- html_url: null;
- patch_url: null;
- };
- type SearchIssuesAndPullRequestsResponseItemsItemLabelsItem = {
- color: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type SearchIssuesAndPullRequestsResponseItemsItem = {
- assignee: null;
- body: string;
- closed_at: null;
- comments: number;
- comments_url: string;
- created_at: string;
- events_url: string;
- html_url: string;
- id: number;
- labels: Array;
- labels_url: string;
- milestone: null;
- node_id: string;
- number: number;
- pull_request: SearchIssuesAndPullRequestsResponseItemsItemPullRequest;
- repository_url: string;
- score: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- user: SearchIssuesAndPullRequestsResponseItemsItemUser;
- };
- type SearchIssuesAndPullRequestsResponse = {
- incomplete_results: boolean;
- items: Array;
- total_count: number;
- };
- type SearchIssuesResponseItemsItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type SearchIssuesResponseItemsItemPullRequest = {
- diff_url: null;
- html_url: null;
- patch_url: null;
- };
- type SearchIssuesResponseItemsItemLabelsItem = {
- color: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type SearchIssuesResponseItemsItem = {
- assignee: null;
- body: string;
- closed_at: null;
- comments: number;
- comments_url: string;
- created_at: string;
- events_url: string;
- html_url: string;
- id: number;
- labels: Array;
- labels_url: string;
- milestone: null;
- node_id: string;
- number: number;
- pull_request: SearchIssuesResponseItemsItemPullRequest;
- repository_url: string;
- score: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- user: SearchIssuesResponseItemsItemUser;
- };
- type SearchIssuesResponse = {
- incomplete_results: boolean;
- items: Array;
- total_count: number;
- };
- type SearchEmailLegacyResponseUser = {
- blog: string;
- company: string;
- created: string;
- created_at: string;
- email: string;
- followers_count: number;
- following_count: number;
- gravatar_id: string;
- id: number;
- location: string;
- login: string;
- name: string;
- public_gist_count: number;
- public_repo_count: number;
- type: string;
- };
- type SearchEmailLegacyResponse = { user: SearchEmailLegacyResponseUser };
- type SearchCommitsResponseItemsItemRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type SearchCommitsResponseItemsItemRepository = {
- archive_url: string;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- deployments_url: string;
- description: string;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- hooks_url: string;
- html_url: string;
- id: number;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- name: string;
- node_id: string;
- notifications_url: string;
- owner: SearchCommitsResponseItemsItemRepositoryOwner;
- private: boolean;
- pulls_url: string;
- releases_url: string;
- stargazers_url: string;
- statuses_url: string;
- subscribers_url: string;
- subscription_url: string;
- tags_url: string;
- teams_url: string;
- trees_url: string;
- url: string;
- };
- type SearchCommitsResponseItemsItemParentsItem = {
- html_url: string;
- sha: string;
- url: string;
- };
- type SearchCommitsResponseItemsItemCommitter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type SearchCommitsResponseItemsItemCommitTree = { sha: string; url: string };
- type SearchCommitsResponseItemsItemCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type SearchCommitsResponseItemsItemCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type SearchCommitsResponseItemsItemCommit = {
- author: SearchCommitsResponseItemsItemCommitAuthor;
- comment_count: number;
- committer: SearchCommitsResponseItemsItemCommitCommitter;
- message: string;
- tree: SearchCommitsResponseItemsItemCommitTree;
- url: string;
- };
- type SearchCommitsResponseItemsItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type SearchCommitsResponseItemsItem = {
- author: SearchCommitsResponseItemsItemAuthor;
- comments_url: string;
- commit: SearchCommitsResponseItemsItemCommit;
- committer: SearchCommitsResponseItemsItemCommitter;
- html_url: string;
- parents: Array;
- repository: SearchCommitsResponseItemsItemRepository;
- score: number;
- sha: string;
- url: string;
- };
- type SearchCommitsResponse = {
- incomplete_results: boolean;
- items: Array;
- total_count: number;
- };
- type SearchCodeResponseItemsItemRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type SearchCodeResponseItemsItemRepository = {
- archive_url: string;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- description: string;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- hooks_url: string;
- html_url: string;
- id: number;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- name: string;
- node_id: string;
- notifications_url: string;
- owner: SearchCodeResponseItemsItemRepositoryOwner;
- private: boolean;
- pulls_url: string;
- stargazers_url: string;
- statuses_url: string;
- subscribers_url: string;
- subscription_url: string;
- tags_url: string;
- teams_url: string;
- trees_url: string;
- url: string;
- };
- type SearchCodeResponseItemsItem = {
- git_url: string;
- html_url: string;
- name: string;
- path: string;
- repository: SearchCodeResponseItemsItemRepository;
- score: number;
- sha: string;
- url: string;
- };
- type SearchCodeResponse = {
- incomplete_results: boolean;
- items: Array;
- total_count: number;
- };
- type ReposUploadReleaseAssetResponseValueUploader = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUploadReleaseAssetResponseValue = {
- browser_download_url: string;
- content_type: string;
- created_at: string;
- download_count: number;
- id: number;
- label: string;
- name: string;
- node_id: string;
- size: number;
- state: string;
- updated_at: string;
- uploader: ReposUploadReleaseAssetResponseValueUploader;
- url: string;
- };
- type ReposUploadReleaseAssetResponse = {
- value: ReposUploadReleaseAssetResponseValue;
- };
- type ReposUpdateReleaseAssetResponseUploader = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateReleaseAssetResponse = {
- browser_download_url: string;
- content_type: string;
- created_at: string;
- download_count: number;
- id: number;
- label: string;
- name: string;
- node_id: string;
- size: number;
- state: string;
- updated_at: string;
- uploader: ReposUpdateReleaseAssetResponseUploader;
- url: string;
- };
- type ReposUpdateReleaseResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateReleaseResponseAssetsItemUploader = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateReleaseResponseAssetsItem = {
- browser_download_url: string;
- content_type: string;
- created_at: string;
- download_count: number;
- id: number;
- label: string;
- name: string;
- node_id: string;
- size: number;
- state: string;
- updated_at: string;
- uploader: ReposUpdateReleaseResponseAssetsItemUploader;
- url: string;
- };
- type ReposUpdateReleaseResponse = {
- assets: Array;
- assets_url: string;
- author: ReposUpdateReleaseResponseAuthor;
- body: string;
- created_at: string;
- draft: boolean;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- prerelease: boolean;
- published_at: string;
- tag_name: string;
- tarball_url: string;
- target_commitish: string;
- upload_url: string;
- url: string;
- zipball_url: string;
- };
- type ReposUpdateProtectedBranchRequiredStatusChecksResponse = {
- contexts: Array;
- contexts_url: string;
- strict: boolean;
- url: string;
- };
- type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = {
- teams: Array<
- ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem
- >;
- teams_url: string;
- url: string;
- users: Array<
- ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem
- >;
- users_url: string;
- };
- type ReposUpdateProtectedBranchPullRequestReviewEnforcementResponse = {
- dismiss_stale_reviews: boolean;
- dismissal_restrictions: ReposUpdateProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions;
- require_code_owner_reviews: boolean;
- required_approving_review_count: number;
- url: string;
- };
- type ReposUpdateInvitationResponseRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateInvitationResponseRepository = {
- archive_url: string;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- deployments_url: string;
- description: string;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- html_url: string;
- id: number;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- name: string;
- node_id: string;
- notifications_url: string;
- owner: ReposUpdateInvitationResponseRepositoryOwner;
- private: boolean;
- pulls_url: string;
- releases_url: string;
- ssh_url: string;
- stargazers_url: string;
- statuses_url: string;
- subscribers_url: string;
- subscription_url: string;
- tags_url: string;
- teams_url: string;
- trees_url: string;
- url: string;
- };
- type ReposUpdateInvitationResponseInviter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateInvitationResponseInvitee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateInvitationResponse = {
- created_at: string;
- html_url: string;
- id: number;
- invitee: ReposUpdateInvitationResponseInvitee;
- inviter: ReposUpdateInvitationResponseInviter;
- permissions: string;
- repository: ReposUpdateInvitationResponseRepository;
- url: string;
- };
- type ReposUpdateHookResponseLastResponse = {
- code: null;
- message: null;
- status: string;
- };
- type ReposUpdateHookResponseConfig = {
- content_type: string;
- insecure_ssl: string;
- url: string;
- };
- type ReposUpdateHookResponse = {
- active: boolean;
- config: ReposUpdateHookResponseConfig;
- created_at: string;
- events: Array;
- id: number;
- last_response: ReposUpdateHookResponseLastResponse;
- name: string;
- ping_url: string;
- test_url: string;
- type: string;
- updated_at: string;
- url: string;
- };
- type ReposUpdateFileResponseContentLinks = {
- git: string;
- html: string;
- self: string;
- };
- type ReposUpdateFileResponseContent = {
- _links: ReposUpdateFileResponseContentLinks;
- download_url: string;
- git_url: string;
- html_url: string;
- name: string;
- path: string;
- sha: string;
- size: number;
- type: string;
- url: string;
- };
- type ReposUpdateFileResponseCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposUpdateFileResponseCommitTree = { sha: string; url: string };
- type ReposUpdateFileResponseCommitParentsItem = {
- html_url: string;
- sha: string;
- url: string;
- };
- type ReposUpdateFileResponseCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposUpdateFileResponseCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposUpdateFileResponseCommit = {
- author: ReposUpdateFileResponseCommitAuthor;
- committer: ReposUpdateFileResponseCommitCommitter;
- html_url: string;
- message: string;
- node_id: string;
- parents: Array;
- sha: string;
- tree: ReposUpdateFileResponseCommitTree;
- url: string;
- verification: ReposUpdateFileResponseCommitVerification;
- };
- type ReposUpdateFileResponse = {
- commit: ReposUpdateFileResponseCommit;
- content: ReposUpdateFileResponseContent;
- };
- type ReposUpdateCommitCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateCommitCommentResponse = {
- body: string;
- commit_id: string;
- created_at: string;
- html_url: string;
- id: number;
- line: number;
- node_id: string;
- path: string;
- position: number;
- updated_at: string;
- url: string;
- user: ReposUpdateCommitCommentResponseUser;
- };
- type ReposUpdateBranchProtectionResponseRestrictionsUsersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateBranchProtectionResponseRestrictionsTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposUpdateBranchProtectionResponseRestrictionsAppsItemPermissions = {
- contents: string;
- issues: string;
- metadata: string;
- single_file: string;
- };
- type ReposUpdateBranchProtectionResponseRestrictionsAppsItemOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type ReposUpdateBranchProtectionResponseRestrictionsAppsItem = {
- created_at: string;
- description: string;
- events: Array;
- external_url: string;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- owner: ReposUpdateBranchProtectionResponseRestrictionsAppsItemOwner;
- permissions: ReposUpdateBranchProtectionResponseRestrictionsAppsItemPermissions;
- slug: string;
- updated_at: string;
- };
- type ReposUpdateBranchProtectionResponseRestrictions = {
- apps: Array;
- apps_url: string;
- teams: Array;
- teams_url: string;
- url: string;
- users: Array;
- users_url: string;
- };
- type ReposUpdateBranchProtectionResponseRequiredStatusChecks = {
- contexts: Array;
- contexts_url: string;
- strict: boolean;
- url: string;
- };
- type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = {
- teams: Array<
- ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem
- >;
- teams_url: string;
- url: string;
- users: Array<
- ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem
- >;
- users_url: string;
- };
- type ReposUpdateBranchProtectionResponseRequiredPullRequestReviews = {
- dismiss_stale_reviews: boolean;
- dismissal_restrictions: ReposUpdateBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions;
- require_code_owner_reviews: boolean;
- required_approving_review_count: number;
- url: string;
- };
- type ReposUpdateBranchProtectionResponseRequiredLinearHistory = {
- enabled: boolean;
- };
- type ReposUpdateBranchProtectionResponseEnforceAdmins = {
- enabled: boolean;
- url: string;
- };
- type ReposUpdateBranchProtectionResponseAllowForcePushes = {
- enabled: boolean;
- };
- type ReposUpdateBranchProtectionResponseAllowDeletions = { enabled: boolean };
- type ReposUpdateBranchProtectionResponse = {
- allow_deletions: ReposUpdateBranchProtectionResponseAllowDeletions;
- allow_force_pushes: ReposUpdateBranchProtectionResponseAllowForcePushes;
- enforce_admins: ReposUpdateBranchProtectionResponseEnforceAdmins;
- required_linear_history: ReposUpdateBranchProtectionResponseRequiredLinearHistory;
- required_pull_request_reviews: ReposUpdateBranchProtectionResponseRequiredPullRequestReviews;
- required_status_checks: ReposUpdateBranchProtectionResponseRequiredStatusChecks;
- restrictions: ReposUpdateBranchProtectionResponseRestrictions;
- url: string;
- };
- type ReposUpdateResponseSourcePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposUpdateResponseSourceOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateResponseSource = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposUpdateResponseSourceOwner;
- permissions: ReposUpdateResponseSourcePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposUpdateResponsePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposUpdateResponseParentPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposUpdateResponseParentOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateResponseParent = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposUpdateResponseParentOwner;
- permissions: ReposUpdateResponseParentPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposUpdateResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateResponseOrganization = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposUpdateResponse = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- organization: ReposUpdateResponseOrganization;
- owner: ReposUpdateResponseOwner;
- parent: ReposUpdateResponseParent;
- permissions: ReposUpdateResponsePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- source: ReposUpdateResponseSource;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposTransferResponsePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposTransferResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposTransferResponse = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposTransferResponseOwner;
- permissions: ReposTransferResponsePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposRetrieveCommunityProfileMetricsResponseFilesReadme = {
- html_url: string;
- url: string;
- };
- type ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate = {
- html_url: string;
- url: string;
- };
- type ReposRetrieveCommunityProfileMetricsResponseFilesLicense = {
- html_url: string;
- key: string;
- name: string;
- spdx_id: string;
- url: string;
- };
- type ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate = {
- html_url: string;
- url: string;
- };
- type ReposRetrieveCommunityProfileMetricsResponseFilesContributing = {
- html_url: string;
- url: string;
- };
- type ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct = {
- html_url: string;
- key: string;
- name: string;
- url: string;
- };
- type ReposRetrieveCommunityProfileMetricsResponseFiles = {
- code_of_conduct: ReposRetrieveCommunityProfileMetricsResponseFilesCodeOfConduct;
- contributing: ReposRetrieveCommunityProfileMetricsResponseFilesContributing;
- issue_template: ReposRetrieveCommunityProfileMetricsResponseFilesIssueTemplate;
- license: ReposRetrieveCommunityProfileMetricsResponseFilesLicense;
- pull_request_template: ReposRetrieveCommunityProfileMetricsResponseFilesPullRequestTemplate;
- readme: ReposRetrieveCommunityProfileMetricsResponseFilesReadme;
- };
- type ReposRetrieveCommunityProfileMetricsResponse = {
- description: string;
- documentation: boolean;
- files: ReposRetrieveCommunityProfileMetricsResponseFiles;
- health_percentage: number;
- updated_at: string;
- };
- type ReposRequestPageBuildResponse = { status: string; url: string };
- type ReposReplaceTopicsResponse = { names: Array };
- type ReposReplaceProtectedBranchUserRestrictionsResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposReplaceProtectedBranchTeamRestrictionsResponseItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposReplaceProtectedBranchAppRestrictionsResponseItemPermissions = {
- contents: string;
- issues: string;
- metadata: string;
- single_file: string;
- };
- type ReposReplaceProtectedBranchAppRestrictionsResponseItemOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type ReposReplaceProtectedBranchAppRestrictionsResponseItem = {
- created_at: string;
- description: string;
- events: Array;
- external_url: string;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- owner: ReposReplaceProtectedBranchAppRestrictionsResponseItemOwner;
- permissions: ReposReplaceProtectedBranchAppRestrictionsResponseItemPermissions;
- slug: string;
- updated_at: string;
- };
- type ReposRemoveProtectedBranchUserRestrictionsResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposRemoveProtectedBranchTeamRestrictionsResponseItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposRemoveProtectedBranchAppRestrictionsResponseItemPermissions = {
- contents: string;
- issues: string;
- metadata: string;
- single_file: string;
- };
- type ReposRemoveProtectedBranchAppRestrictionsResponseItemOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type ReposRemoveProtectedBranchAppRestrictionsResponseItem = {
- created_at: string;
- description: string;
- events: Array;
- external_url: string;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- owner: ReposRemoveProtectedBranchAppRestrictionsResponseItemOwner;
- permissions: ReposRemoveProtectedBranchAppRestrictionsResponseItemPermissions;
- slug: string;
- updated_at: string;
- };
- type ReposMergeResponseParentsItem = { sha: string; url: string };
- type ReposMergeResponseCommitter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposMergeResponseCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposMergeResponseCommitTree = { sha: string; url: string };
- type ReposMergeResponseCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposMergeResponseCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposMergeResponseCommit = {
- author: ReposMergeResponseCommitAuthor;
- comment_count: number;
- committer: ReposMergeResponseCommitCommitter;
- message: string;
- tree: ReposMergeResponseCommitTree;
- url: string;
- verification: ReposMergeResponseCommitVerification;
- };
- type ReposMergeResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposMergeResponse = {
- author: ReposMergeResponseAuthor;
- comments_url: string;
- commit: ReposMergeResponseCommit;
- committer: ReposMergeResponseCommitter;
- html_url: string;
- node_id: string;
- parents: Array;
- sha: string;
- url: string;
- };
- type ReposListUsersWithAccessToProtectedBranchResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListTopicsResponse = { names: Array };
- type ReposListTeamsWithAccessToProtectedBranchResponseItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposListTeamsResponseItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposListTagsResponseItemCommit = { sha: string; url: string };
- type ReposListTagsResponseItem = {
- commit: ReposListTagsResponseItemCommit;
- name: string;
- tarball_url: string;
- zipball_url: string;
- };
- type ReposListStatusesForRefResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListStatusesForRefResponseItem = {
- avatar_url: string;
- context: string;
- created_at: string;
- creator: ReposListStatusesForRefResponseItemCreator;
- description: string;
- id: number;
- node_id: string;
- state: string;
- target_url: string;
- updated_at: string;
- url: string;
- };
- type ReposListReleasesResponseItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListReleasesResponseItemAssetsItemUploader = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListReleasesResponseItemAssetsItem = {
- browser_download_url: string;
- content_type: string;
- created_at: string;
- download_count: number;
- id: number;
- label: string;
- name: string;
- node_id: string;
- size: number;
- state: string;
- updated_at: string;
- uploader: ReposListReleasesResponseItemAssetsItemUploader;
- url: string;
- };
- type ReposListReleasesResponseItem = {
- assets: Array;
- assets_url: string;
- author: ReposListReleasesResponseItemAuthor;
- body: string;
- created_at: string;
- draft: boolean;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- prerelease: boolean;
- published_at: string;
- tag_name: string;
- tarball_url: string;
- target_commitish: string;
- upload_url: string;
- url: string;
- zipball_url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemRequestedReviewersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: ReposListPullRequestsAssociatedWithCommitResponseItemMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoOwner;
- permissions: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemHead = {
- label: string;
- ref: string;
- repo: ReposListPullRequestsAssociatedWithCommitResponseItemHeadRepo;
- sha: string;
- user: ReposListPullRequestsAssociatedWithCommitResponseItemHeadUser;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoOwner;
- permissions: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemBase = {
- label: string;
- ref: string;
- repo: ReposListPullRequestsAssociatedWithCommitResponseItemBaseRepo;
- sha: string;
- user: ReposListPullRequestsAssociatedWithCommitResponseItemBaseUser;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses = {
- href: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf = {
- href: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments = {
- href: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment = {
- href: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue = {
- href: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml = {
- href: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits = {
- href: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments = {
- href: string;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItemLinks = {
- comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksComments;
- commits: ReposListPullRequestsAssociatedWithCommitResponseItemLinksCommits;
- html: ReposListPullRequestsAssociatedWithCommitResponseItemLinksHtml;
- issue: ReposListPullRequestsAssociatedWithCommitResponseItemLinksIssue;
- review_comment: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComment;
- review_comments: ReposListPullRequestsAssociatedWithCommitResponseItemLinksReviewComments;
- self: ReposListPullRequestsAssociatedWithCommitResponseItemLinksSelf;
- statuses: ReposListPullRequestsAssociatedWithCommitResponseItemLinksStatuses;
- };
- type ReposListPullRequestsAssociatedWithCommitResponseItem = {
- _links: ReposListPullRequestsAssociatedWithCommitResponseItemLinks;
- active_lock_reason: string;
- assignee: ReposListPullRequestsAssociatedWithCommitResponseItemAssignee;
- assignees: Array<
- ReposListPullRequestsAssociatedWithCommitResponseItemAssigneesItem
- >;
- author_association: string;
- base: ReposListPullRequestsAssociatedWithCommitResponseItemBase;
- body: string;
- closed_at: string;
- comments_url: string;
- commits_url: string;
- created_at: string;
- diff_url: string;
- draft: boolean;
- head: ReposListPullRequestsAssociatedWithCommitResponseItemHead;
- html_url: string;
- id: number;
- issue_url: string;
- labels: Array<
- ReposListPullRequestsAssociatedWithCommitResponseItemLabelsItem
- >;
- locked: boolean;
- merge_commit_sha: string;
- merged_at: string;
- milestone: ReposListPullRequestsAssociatedWithCommitResponseItemMilestone;
- node_id: string;
- number: number;
- patch_url: string;
- requested_reviewers: Array<
- ReposListPullRequestsAssociatedWithCommitResponseItemRequestedReviewersItem
- >;
- requested_teams: Array<
- ReposListPullRequestsAssociatedWithCommitResponseItemRequestedTeamsItem
- >;
- review_comment_url: string;
- review_comments_url: string;
- state: string;
- statuses_url: string;
- title: string;
- updated_at: string;
- url: string;
- user: ReposListPullRequestsAssociatedWithCommitResponseItemUser;
- };
- type ReposListPublicResponseItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPublicResponseItem = {
- archive_url: string;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- deployments_url: string;
- description: string;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- html_url: string;
- id: number;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- name: string;
- node_id: string;
- notifications_url: string;
- owner: ReposListPublicResponseItemOwner;
- private: boolean;
- pulls_url: string;
- releases_url: string;
- ssh_url: string;
- stargazers_url: string;
- statuses_url: string;
- subscribers_url: string;
- subscription_url: string;
- tags_url: string;
- teams_url: string;
- trees_url: string;
- url: string;
- };
- type ReposListProtectedBranchUserRestrictionsResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListProtectedBranchTeamRestrictionsResponseItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposListPagesBuildsResponseItemPusher = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListPagesBuildsResponseItemError = { message: null };
- type ReposListPagesBuildsResponseItem = {
- commit: string;
- created_at: string;
- duration: number;
- error: ReposListPagesBuildsResponseItemError;
- pusher: ReposListPagesBuildsResponseItemPusher;
- status: string;
- updated_at: string;
- url: string;
- };
- type ReposListLanguagesResponse = { C: number; Python: number };
- type ReposListInvitationsForAuthenticatedUserResponseItemRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListInvitationsForAuthenticatedUserResponseItemRepository = {
- archive_url: string;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- deployments_url: string;
- description: string;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- html_url: string;
- id: number;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- name: string;
- node_id: string;
- notifications_url: string;
- owner: ReposListInvitationsForAuthenticatedUserResponseItemRepositoryOwner;
- private: boolean;
- pulls_url: string;
- releases_url: string;
- ssh_url: string;
- stargazers_url: string;
- statuses_url: string;
- subscribers_url: string;
- subscription_url: string;
- tags_url: string;
- teams_url: string;
- trees_url: string;
- url: string;
- };
- type ReposListInvitationsForAuthenticatedUserResponseItemInviter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListInvitationsForAuthenticatedUserResponseItemInvitee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListInvitationsForAuthenticatedUserResponseItem = {
- created_at: string;
- html_url: string;
- id: number;
- invitee: ReposListInvitationsForAuthenticatedUserResponseItemInvitee;
- inviter: ReposListInvitationsForAuthenticatedUserResponseItemInviter;
- permissions: string;
- repository: ReposListInvitationsForAuthenticatedUserResponseItemRepository;
- url: string;
- };
- type ReposListInvitationsResponseItemRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListInvitationsResponseItemRepository = {
- archive_url: string;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- deployments_url: string;
- description: string;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- html_url: string;
- id: number;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- name: string;
- node_id: string;
- notifications_url: string;
- owner: ReposListInvitationsResponseItemRepositoryOwner;
- private: boolean;
- pulls_url: string;
- releases_url: string;
- ssh_url: string;
- stargazers_url: string;
- statuses_url: string;
- subscribers_url: string;
- subscription_url: string;
- tags_url: string;
- teams_url: string;
- trees_url: string;
- url: string;
- };
- type ReposListInvitationsResponseItemInviter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListInvitationsResponseItemInvitee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListInvitationsResponseItem = {
- created_at: string;
- html_url: string;
- id: number;
- invitee: ReposListInvitationsResponseItemInvitee;
- inviter: ReposListInvitationsResponseItemInviter;
- permissions: string;
- repository: ReposListInvitationsResponseItemRepository;
- url: string;
- };
- type ReposListHooksResponseItemLastResponse = {
- code: null;
- message: null;
- status: string;
- };
- type ReposListHooksResponseItemConfig = {
- content_type: string;
- insecure_ssl: string;
- url: string;
- };
- type ReposListHooksResponseItem = {
- active: boolean;
- config: ReposListHooksResponseItemConfig;
- created_at: string;
- events: Array;
- id: number;
- last_response: ReposListHooksResponseItemLastResponse;
- name: string;
- ping_url: string;
- test_url: string;
- type: string;
- updated_at: string;
- url: string;
- };
- type ReposListForksResponseItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposListForksResponseItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListForksResponseItemLicense = {
- key: string;
- name: string;
- node_id: string;
- spdx_id: string;
- url: string;
- };
- type ReposListForksResponseItem = {
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- license: ReposListForksResponseItemLicense;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposListForksResponseItemOwner;
- permissions: ReposListForksResponseItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposListForOrgResponseItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposListForOrgResponseItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListForOrgResponseItemLicense = {
- key: string;
- name: string;
- node_id: string;
- spdx_id: string;
- url: string;
- };
- type ReposListForOrgResponseItem = {
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- license: ReposListForOrgResponseItemLicense;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposListForOrgResponseItemOwner;
- permissions: ReposListForOrgResponseItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposListDownloadsResponseItem = {
- content_type: string;
- description: string;
- download_count: number;
- html_url: string;
- id: number;
- name: string;
- size: number;
- url: string;
- };
- type ReposListDeploymentsResponseItemPayload = { deploy: string };
- type ReposListDeploymentsResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListDeploymentsResponseItem = {
- created_at: string;
- creator: ReposListDeploymentsResponseItemCreator;
- description: string;
- environment: string;
- id: number;
- node_id: string;
- original_environment: string;
- payload: ReposListDeploymentsResponseItemPayload;
- production_environment: boolean;
- ref: string;
- repository_url: string;
- sha: string;
- statuses_url: string;
- task: string;
- transient_environment: boolean;
- updated_at: string;
- url: string;
- };
- type ReposListDeploymentStatusesResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListDeploymentStatusesResponseItem = {
- created_at: string;
- creator: ReposListDeploymentStatusesResponseItemCreator;
- deployment_url: string;
- description: string;
- environment: string;
- environment_url: string;
- id: number;
- log_url: string;
- node_id: string;
- repository_url: string;
- state: string;
- target_url: string;
- updated_at: string;
- url: string;
- };
- type ReposListDeployKeysResponseItem = {
- created_at: string;
- id: number;
- key: string;
- read_only: boolean;
- title: string;
- url: string;
- verified: boolean;
- };
- type ReposListContributorsResponseItem = {
- avatar_url: string;
- contributions: number;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListCommitsResponseItemParentsItem = { sha: string; url: string };
- type ReposListCommitsResponseItemCommitter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListCommitsResponseItemCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposListCommitsResponseItemCommitTree = { sha: string; url: string };
- type ReposListCommitsResponseItemCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposListCommitsResponseItemCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposListCommitsResponseItemCommit = {
- author: ReposListCommitsResponseItemCommitAuthor;
- comment_count: number;
- committer: ReposListCommitsResponseItemCommitCommitter;
- message: string;
- tree: ReposListCommitsResponseItemCommitTree;
- url: string;
- verification: ReposListCommitsResponseItemCommitVerification;
- };
- type ReposListCommitsResponseItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListCommitsResponseItem = {
- author: ReposListCommitsResponseItemAuthor;
- comments_url: string;
- commit: ReposListCommitsResponseItemCommit;
- committer: ReposListCommitsResponseItemCommitter;
- html_url: string;
- node_id: string;
- parents: Array;
- sha: string;
- url: string;
- };
- type ReposListCommitCommentsResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListCommitCommentsResponseItem = {
- body: string;
- commit_id: string;
- created_at: string;
- html_url: string;
- id: number;
- line: number;
- node_id: string;
- path: string;
- position: number;
- updated_at: string;
- url: string;
- user: ReposListCommitCommentsResponseItemUser;
- };
- type ReposListCommentsForCommitResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListCommentsForCommitResponseItem = {
- body: string;
- commit_id: string;
- created_at: string;
- html_url: string;
- id: number;
- line: number;
- node_id: string;
- path: string;
- position: number;
- updated_at: string;
- url: string;
- user: ReposListCommentsForCommitResponseItemUser;
- };
- type ReposListCollaboratorsResponseItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposListCollaboratorsResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- permissions: ReposListCollaboratorsResponseItemPermissions;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListBranchesForHeadCommitResponseItemCommit = {
- sha: string;
- url: string;
- };
- type ReposListBranchesForHeadCommitResponseItem = {
- commit: ReposListBranchesForHeadCommitResponseItemCommit;
- name: string;
- protected: string;
- };
- type ReposListBranchesResponseItemProtectionRequiredStatusChecks = {
- contexts: Array;
- enforcement_level: string;
- };
- type ReposListBranchesResponseItemProtection = {
- enabled: boolean;
- required_status_checks: ReposListBranchesResponseItemProtectionRequiredStatusChecks;
- };
- type ReposListBranchesResponseItemCommit = { sha: string; url: string };
- type ReposListBranchesResponseItem = {
- commit: ReposListBranchesResponseItemCommit;
- name: string;
- protected: boolean;
- protection: ReposListBranchesResponseItemProtection;
- protection_url: string;
- };
- type ReposListAssetsForReleaseResponseItemUploader = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposListAssetsForReleaseResponseItem = {
- browser_download_url: string;
- content_type: string;
- created_at: string;
- download_count: number;
- id: number;
- label: string;
- name: string;
- node_id: string;
- size: number;
- state: string;
- updated_at: string;
- uploader: ReposListAssetsForReleaseResponseItemUploader;
- url: string;
- };
- type ReposListAppsWithAccessToProtectedBranchResponseItemPermissions = {
- contents: string;
- issues: string;
- metadata: string;
- single_file: string;
- };
- type ReposListAppsWithAccessToProtectedBranchResponseItemOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type ReposListAppsWithAccessToProtectedBranchResponseItem = {
- created_at: string;
- description: string;
- events: Array;
- external_url: string;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- owner: ReposListAppsWithAccessToProtectedBranchResponseItemOwner;
- permissions: ReposListAppsWithAccessToProtectedBranchResponseItemPermissions;
- slug: string;
- updated_at: string;
- };
- type ReposGetViewsResponseViewsItem = {
- count: number;
- timestamp: string;
- uniques: number;
- };
- type ReposGetViewsResponse = {
- count: number;
- uniques: number;
- views: Array;
- };
- type ReposGetUsersWithAccessToProtectedBranchResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetTopReferrersResponseItem = {
- count: number;
- referrer: string;
- uniques: number;
- };
- type ReposGetTopPathsResponseItem = {
- count: number;
- path: string;
- title: string;
- uniques: number;
- };
- type ReposGetTeamsWithAccessToProtectedBranchResponseItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposGetReleaseByTagResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetReleaseByTagResponseAssetsItemUploader = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetReleaseByTagResponseAssetsItem = {
- browser_download_url: string;
- content_type: string;
- created_at: string;
- download_count: number;
- id: number;
- label: string;
- name: string;
- node_id: string;
- size: number;
- state: string;
- updated_at: string;
- uploader: ReposGetReleaseByTagResponseAssetsItemUploader;
- url: string;
- };
- type ReposGetReleaseByTagResponse = {
- assets: Array;
- assets_url: string;
- author: ReposGetReleaseByTagResponseAuthor;
- body: string;
- created_at: string;
- draft: boolean;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- prerelease: boolean;
- published_at: string;
- tag_name: string;
- tarball_url: string;
- target_commitish: string;
- upload_url: string;
- url: string;
- zipball_url: string;
- };
- type ReposGetReleaseAssetResponseUploader = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetReleaseAssetResponse = {
- browser_download_url: string;
- content_type: string;
- created_at: string;
- download_count: number;
- id: number;
- label: string;
- name: string;
- node_id: string;
- size: number;
- state: string;
- updated_at: string;
- uploader: ReposGetReleaseAssetResponseUploader;
- url: string;
- };
- type ReposGetReleaseResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetReleaseResponseAssetsItemUploader = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetReleaseResponseAssetsItem = {
- browser_download_url: string;
- content_type: string;
- created_at: string;
- download_count: number;
- id: number;
- label: string;
- name: string;
- node_id: string;
- size: number;
- state: string;
- updated_at: string;
- uploader: ReposGetReleaseResponseAssetsItemUploader;
- url: string;
- };
- type ReposGetReleaseResponse = {
- assets: Array;
- assets_url: string;
- author: ReposGetReleaseResponseAuthor;
- body: string;
- created_at: string;
- draft: boolean;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- prerelease: boolean;
- published_at: string;
- tag_name: string;
- tarball_url: string;
- target_commitish: string;
- upload_url: string;
- url: string;
- zipball_url: string;
- };
- type ReposGetReadmeResponseLinks = {
- git: string;
- html: string;
- self: string;
- };
- type ReposGetReadmeResponse = {
- _links: ReposGetReadmeResponseLinks;
- content: string;
- download_url: string;
- encoding: string;
- git_url: string;
- html_url: string;
- name: string;
- path: string;
- sha: string;
- size: number;
- type: string;
- url: string;
- };
- type ReposGetProtectedBranchRestrictionsResponseUsersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetProtectedBranchRestrictionsResponseTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions = {
- contents: string;
- issues: string;
- metadata: string;
- single_file: string;
- };
- type ReposGetProtectedBranchRestrictionsResponseAppsItemOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type ReposGetProtectedBranchRestrictionsResponseAppsItem = {
- created_at: string;
- description: string;
- events: Array;
- external_url: string;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- owner: ReposGetProtectedBranchRestrictionsResponseAppsItemOwner;
- permissions: ReposGetProtectedBranchRestrictionsResponseAppsItemPermissions;
- slug: string;
- updated_at: string;
- };
- type ReposGetProtectedBranchRestrictionsResponse = {
- apps: Array;
- apps_url: string;
- teams: Array;
- teams_url: string;
- url: string;
- users: Array;
- users_url: string;
- };
- type ReposGetProtectedBranchRequiredStatusChecksResponse = {
- contexts: Array;
- contexts_url: string;
- strict: boolean;
- url: string;
- };
- type ReposGetProtectedBranchRequiredSignaturesResponse = {
- enabled: boolean;
- url: string;
- };
- type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions = {
- teams: Array<
- ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsTeamsItem
- >;
- teams_url: string;
- url: string;
- users: Array<
- ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictionsUsersItem
- >;
- users_url: string;
- };
- type ReposGetProtectedBranchPullRequestReviewEnforcementResponse = {
- dismiss_stale_reviews: boolean;
- dismissal_restrictions: ReposGetProtectedBranchPullRequestReviewEnforcementResponseDismissalRestrictions;
- require_code_owner_reviews: boolean;
- required_approving_review_count: number;
- url: string;
- };
- type ReposGetProtectedBranchAdminEnforcementResponse = {
- enabled: boolean;
- url: string;
- };
- type ReposGetParticipationStatsResponse = {
- all: Array;
- owner: Array;
- };
- type ReposGetPagesBuildResponsePusher = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetPagesBuildResponseError = { message: null };
- type ReposGetPagesBuildResponse = {
- commit: string;
- created_at: string;
- duration: number;
- error: ReposGetPagesBuildResponseError;
- pusher: ReposGetPagesBuildResponsePusher;
- status: string;
- updated_at: string;
- url: string;
- };
- type ReposGetPagesResponseSource = { branch: string; directory: string };
- type ReposGetPagesResponse = {
- cname: string;
- custom_404: boolean;
- html_url: string;
- source: ReposGetPagesResponseSource;
- status: string;
- url: string;
- };
- type ReposGetLatestReleaseResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetLatestReleaseResponseAssetsItemUploader = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetLatestReleaseResponseAssetsItem = {
- browser_download_url: string;
- content_type: string;
- created_at: string;
- download_count: number;
- id: number;
- label: string;
- name: string;
- node_id: string;
- size: number;
- state: string;
- updated_at: string;
- uploader: ReposGetLatestReleaseResponseAssetsItemUploader;
- url: string;
- };
- type ReposGetLatestReleaseResponse = {
- assets: Array;
- assets_url: string;
- author: ReposGetLatestReleaseResponseAuthor;
- body: string;
- created_at: string;
- draft: boolean;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- prerelease: boolean;
- published_at: string;
- tag_name: string;
- tarball_url: string;
- target_commitish: string;
- upload_url: string;
- url: string;
- zipball_url: string;
- };
- type ReposGetLatestPagesBuildResponsePusher = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetLatestPagesBuildResponseError = { message: null };
- type ReposGetLatestPagesBuildResponse = {
- commit: string;
- created_at: string;
- duration: number;
- error: ReposGetLatestPagesBuildResponseError;
- pusher: ReposGetLatestPagesBuildResponsePusher;
- status: string;
- updated_at: string;
- url: string;
- };
- type ReposGetHookResponseLastResponse = {
- code: null;
- message: null;
- status: string;
- };
- type ReposGetHookResponseConfig = {
- content_type: string;
- insecure_ssl: string;
- url: string;
- };
- type ReposGetHookResponse = {
- active: boolean;
- config: ReposGetHookResponseConfig;
- created_at: string;
- events: Array;
- id: number;
- last_response: ReposGetHookResponseLastResponse;
- name: string;
- ping_url: string;
- test_url: string;
- type: string;
- updated_at: string;
- url: string;
- };
- type ReposGetDownloadResponse = {
- content_type: string;
- description: string;
- download_count: number;
- html_url: string;
- id: number;
- name: string;
- size: number;
- url: string;
- };
- type ReposGetDeploymentStatusResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetDeploymentStatusResponse = {
- created_at: string;
- creator: ReposGetDeploymentStatusResponseCreator;
- deployment_url: string;
- description: string;
- environment: string;
- environment_url: string;
- id: number;
- log_url: string;
- node_id: string;
- repository_url: string;
- state: string;
- target_url: string;
- updated_at: string;
- url: string;
- };
- type ReposGetDeploymentResponsePayload = { deploy: string };
- type ReposGetDeploymentResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetDeploymentResponse = {
- created_at: string;
- creator: ReposGetDeploymentResponseCreator;
- description: string;
- environment: string;
- id: number;
- node_id: string;
- original_environment: string;
- payload: ReposGetDeploymentResponsePayload;
- production_environment: boolean;
- ref: string;
- repository_url: string;
- sha: string;
- statuses_url: string;
- task: string;
- transient_environment: boolean;
- updated_at: string;
- url: string;
- };
- type ReposGetDeployKeyResponse = {
- created_at: string;
- id: number;
- key: string;
- read_only: boolean;
- title: string;
- url: string;
- verified: boolean;
- };
- type ReposGetContributorsStatsResponseItemWeeksItem = {
- a: number;
- c: number;
- d: number;
- w: string;
- };
- type ReposGetContributorsStatsResponseItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetContributorsStatsResponseItem = {
- author: ReposGetContributorsStatsResponseItemAuthor;
- total: number;
- weeks: Array;
- };
- type ReposGetContentsResponseItemLinks = {
- git: string;
- html: string;
- self: string;
- };
- type ReposGetContentsResponseItem = {
- _links: ReposGetContentsResponseItemLinks;
- download_url: string | null;
- git_url: string;
- html_url: string;
- name: string;
- path: string;
- sha: string;
- size: number;
- type: string;
- url: string;
- };
- type ReposGetContentsResponseLinks = {
- git: string;
- html: string;
- self: string;
- };
- type ReposGetContentsResponse =
- | {
- _links: ReposGetContentsResponseLinks;
- content?: string;
- download_url: string | null;
- encoding?: string;
- git_url: string;
- html_url: string;
- name: string;
- path: string;
- sha: string;
- size: number;
- type: string;
- url: string;
- target?: string;
- submodule_git_url?: string;
- }
- | Array;
- type ReposGetCommitCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetCommitCommentResponse = {
- body: string;
- commit_id: string;
- created_at: string;
- html_url: string;
- id: number;
- line: number;
- node_id: string;
- path: string;
- position: number;
- updated_at: string;
- url: string;
- user: ReposGetCommitCommentResponseUser;
- };
- type ReposGetCommitActivityStatsResponseItem = {
- days: Array;
- total: number;
- week: number;
- };
- type ReposGetCommitResponseStats = {
- additions: number;
- deletions: number;
- total: number;
- };
- type ReposGetCommitResponseParentsItem = { sha: string; url: string };
- type ReposGetCommitResponseFilesItem = {
- additions: number;
- blob_url: string;
- changes: number;
- deletions: number;
- filename: string;
- patch: string;
- raw_url: string;
- status: string;
- };
- type ReposGetCommitResponseCommitter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetCommitResponseCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposGetCommitResponseCommitTree = { sha: string; url: string };
- type ReposGetCommitResponseCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposGetCommitResponseCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposGetCommitResponseCommit = {
- author: ReposGetCommitResponseCommitAuthor;
- comment_count: number;
- committer: ReposGetCommitResponseCommitCommitter;
- message: string;
- tree: ReposGetCommitResponseCommitTree;
- url: string;
- verification: ReposGetCommitResponseCommitVerification;
- };
- type ReposGetCommitResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetCommitResponse = {
- author: ReposGetCommitResponseAuthor;
- comments_url: string;
- commit: ReposGetCommitResponseCommit;
- committer: ReposGetCommitResponseCommitter;
- files: Array;
- html_url: string;
- node_id: string;
- parents: Array;
- sha: string;
- stats: ReposGetCommitResponseStats;
- url: string;
- };
- type ReposGetCombinedStatusForRefResponseStatusesItem = {
- avatar_url: string;
- context: string;
- created_at: string;
- description: string;
- id: number;
- node_id: string;
- state: string;
- target_url: string;
- updated_at: string;
- url: string;
- };
- type ReposGetCombinedStatusForRefResponseRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetCombinedStatusForRefResponseRepository = {
- archive_url: string;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- deployments_url: string;
- description: string;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- html_url: string;
- id: number;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- name: string;
- node_id: string;
- notifications_url: string;
- owner: ReposGetCombinedStatusForRefResponseRepositoryOwner;
- private: boolean;
- pulls_url: string;
- releases_url: string;
- ssh_url: string;
- stargazers_url: string;
- statuses_url: string;
- subscribers_url: string;
- subscription_url: string;
- tags_url: string;
- teams_url: string;
- trees_url: string;
- url: string;
- };
- type ReposGetCombinedStatusForRefResponse = {
- commit_url: string;
- repository: ReposGetCombinedStatusForRefResponseRepository;
- sha: string;
- state: string;
- statuses: Array;
- total_count: number;
- url: string;
- };
- type ReposGetCollaboratorPermissionLevelResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetCollaboratorPermissionLevelResponse = {
- permission: string;
- user: ReposGetCollaboratorPermissionLevelResponseUser;
- };
- type ReposGetClonesResponseClonesItem = {
- count: number;
- timestamp: string;
- uniques: number;
- };
- type ReposGetClonesResponse = {
- clones: Array;
- count: number;
- uniques: number;
- };
- type ReposGetBranchProtectionResponseRestrictionsUsersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetBranchProtectionResponseRestrictionsTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposGetBranchProtectionResponseRestrictionsAppsItemPermissions = {
- contents: string;
- issues: string;
- metadata: string;
- single_file: string;
- };
- type ReposGetBranchProtectionResponseRestrictionsAppsItemOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type ReposGetBranchProtectionResponseRestrictionsAppsItem = {
- created_at: string;
- description: string;
- events: Array;
- external_url: string;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- owner: ReposGetBranchProtectionResponseRestrictionsAppsItemOwner;
- permissions: ReposGetBranchProtectionResponseRestrictionsAppsItemPermissions;
- slug: string;
- updated_at: string;
- };
- type ReposGetBranchProtectionResponseRestrictions = {
- apps: Array;
- apps_url: string;
- teams: Array;
- teams_url: string;
- url: string;
- users: Array;
- users_url: string;
- };
- type ReposGetBranchProtectionResponseRequiredStatusChecks = {
- contexts: Array;
- contexts_url: string;
- strict: boolean;
- url: string;
- };
- type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions = {
- teams: Array<
- ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsTeamsItem
- >;
- teams_url: string;
- url: string;
- users: Array<
- ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictionsUsersItem
- >;
- users_url: string;
- };
- type ReposGetBranchProtectionResponseRequiredPullRequestReviews = {
- dismiss_stale_reviews: boolean;
- dismissal_restrictions: ReposGetBranchProtectionResponseRequiredPullRequestReviewsDismissalRestrictions;
- require_code_owner_reviews: boolean;
- required_approving_review_count: number;
- url: string;
- };
- type ReposGetBranchProtectionResponseRequiredLinearHistory = {
- enabled: boolean;
- };
- type ReposGetBranchProtectionResponseEnforceAdmins = {
- enabled: boolean;
- url: string;
- };
- type ReposGetBranchProtectionResponseAllowForcePushes = { enabled: boolean };
- type ReposGetBranchProtectionResponseAllowDeletions = { enabled: boolean };
- type ReposGetBranchProtectionResponse = {
- allow_deletions: ReposGetBranchProtectionResponseAllowDeletions;
- allow_force_pushes: ReposGetBranchProtectionResponseAllowForcePushes;
- enforce_admins: ReposGetBranchProtectionResponseEnforceAdmins;
- required_linear_history: ReposGetBranchProtectionResponseRequiredLinearHistory;
- required_pull_request_reviews: ReposGetBranchProtectionResponseRequiredPullRequestReviews;
- required_status_checks: ReposGetBranchProtectionResponseRequiredStatusChecks;
- restrictions: ReposGetBranchProtectionResponseRestrictions;
- url: string;
- };
- type ReposGetBranchResponseProtectionRequiredStatusChecks = {
- contexts: Array;
- enforcement_level: string;
- };
- type ReposGetBranchResponseProtection = {
- enabled: boolean;
- required_status_checks: ReposGetBranchResponseProtectionRequiredStatusChecks;
- };
- type ReposGetBranchResponseCommitParentsItem = { sha: string; url: string };
- type ReposGetBranchResponseCommitCommitter = {
- avatar_url: string;
- gravatar_id: string;
- id: number;
- login: string;
- url: string;
- };
- type ReposGetBranchResponseCommitCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposGetBranchResponseCommitCommitTree = { sha: string; url: string };
- type ReposGetBranchResponseCommitCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposGetBranchResponseCommitCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposGetBranchResponseCommitCommit = {
- author: ReposGetBranchResponseCommitCommitAuthor;
- committer: ReposGetBranchResponseCommitCommitCommitter;
- message: string;
- tree: ReposGetBranchResponseCommitCommitTree;
- url: string;
- verification: ReposGetBranchResponseCommitCommitVerification;
- };
- type ReposGetBranchResponseCommitAuthor = {
- avatar_url: string;
- gravatar_id: string;
- id: number;
- login: string;
- url: string;
- };
- type ReposGetBranchResponseCommit = {
- author: ReposGetBranchResponseCommitAuthor;
- commit: ReposGetBranchResponseCommitCommit;
- committer: ReposGetBranchResponseCommitCommitter;
- node_id: string;
- parents: Array;
- sha: string;
- url: string;
- };
- type ReposGetBranchResponseLinks = { html: string; self: string };
- type ReposGetBranchResponse = {
- _links: ReposGetBranchResponseLinks;
- commit: ReposGetBranchResponseCommit;
- name: string;
- protected: boolean;
- protection: ReposGetBranchResponseProtection;
- protection_url: string;
- };
- type ReposGetAppsWithAccessToProtectedBranchResponseItemPermissions = {
- contents: string;
- issues: string;
- metadata: string;
- single_file: string;
- };
- type ReposGetAppsWithAccessToProtectedBranchResponseItemOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type ReposGetAppsWithAccessToProtectedBranchResponseItem = {
- created_at: string;
- description: string;
- events: Array;
- external_url: string;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- owner: ReposGetAppsWithAccessToProtectedBranchResponseItemOwner;
- permissions: ReposGetAppsWithAccessToProtectedBranchResponseItemPermissions;
- slug: string;
- updated_at: string;
- };
- type ReposGetResponseSourcePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposGetResponseSourceOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetResponseSource = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposGetResponseSourceOwner;
- permissions: ReposGetResponseSourcePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposGetResponsePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposGetResponseParentPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposGetResponseParentOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetResponseParent = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposGetResponseParentOwner;
- permissions: ReposGetResponseParentPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposGetResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetResponseOrganization = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposGetResponseLicense = {
- key: string;
- name: string;
- node_id: string;
- spdx_id: string;
- url: string;
- };
- type ReposGetResponse = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- license: ReposGetResponseLicense;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- organization: ReposGetResponseOrganization;
- owner: ReposGetResponseOwner;
- parent: ReposGetResponseParent;
- permissions: ReposGetResponsePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- source: ReposGetResponseSource;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposEnablePagesSiteResponseSource = {
- branch: string;
- directory: string;
- };
- type ReposEnablePagesSiteResponse = {
- cname: string;
- custom_404: boolean;
- html_url: string;
- source: ReposEnablePagesSiteResponseSource;
- status: string;
- url: string;
- };
- type ReposDeleteFileResponseCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposDeleteFileResponseCommitTree = { sha: string; url: string };
- type ReposDeleteFileResponseCommitParentsItem = {
- html_url: string;
- sha: string;
- url: string;
- };
- type ReposDeleteFileResponseCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposDeleteFileResponseCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposDeleteFileResponseCommit = {
- author: ReposDeleteFileResponseCommitAuthor;
- committer: ReposDeleteFileResponseCommitCommitter;
- html_url: string;
- message: string;
- node_id: string;
- parents: Array;
- sha: string;
- tree: ReposDeleteFileResponseCommitTree;
- url: string;
- verification: ReposDeleteFileResponseCommitVerification;
- };
- type ReposDeleteFileResponse = {
- commit: ReposDeleteFileResponseCommit;
- content: null;
- };
- type ReposDeleteResponse = { documentation_url: string; message: string };
- type ReposCreateUsingTemplateResponseTemplateRepositoryPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposCreateUsingTemplateResponseTemplateRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCreateUsingTemplateResponseTemplateRepository = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposCreateUsingTemplateResponseTemplateRepositoryOwner;
- permissions: ReposCreateUsingTemplateResponseTemplateRepositoryPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposCreateUsingTemplateResponsePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposCreateUsingTemplateResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCreateUsingTemplateResponse = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposCreateUsingTemplateResponseOwner;
- permissions: ReposCreateUsingTemplateResponsePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: ReposCreateUsingTemplateResponseTemplateRepository;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposCreateStatusResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCreateStatusResponse = {
- avatar_url: string;
- context: string;
- created_at: string;
- creator: ReposCreateStatusResponseCreator;
- description: string;
- id: number;
- node_id: string;
- state: string;
- target_url: string;
- updated_at: string;
- url: string;
- };
- type ReposCreateReleaseResponseAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCreateReleaseResponse = {
- assets: Array;
- assets_url: string;
- author: ReposCreateReleaseResponseAuthor;
- body: string;
- created_at: string;
- draft: boolean;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- prerelease: boolean;
- published_at: string;
- tag_name: string;
- tarball_url: string;
- target_commitish: string;
- upload_url: string;
- url: string;
- zipball_url: string;
- };
- type ReposCreateOrUpdateFileResponseContentLinks = {
- git: string;
- html: string;
- self: string;
- };
- type ReposCreateOrUpdateFileResponseContent = {
- _links: ReposCreateOrUpdateFileResponseContentLinks;
- download_url: string;
- git_url: string;
- html_url: string;
- name: string;
- path: string;
- sha: string;
- size: number;
- type: string;
- url: string;
- };
- type ReposCreateOrUpdateFileResponseCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposCreateOrUpdateFileResponseCommitTree = { sha: string; url: string };
- type ReposCreateOrUpdateFileResponseCommitParentsItem = {
- html_url: string;
- sha: string;
- url: string;
- };
- type ReposCreateOrUpdateFileResponseCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposCreateOrUpdateFileResponseCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposCreateOrUpdateFileResponseCommit = {
- author: ReposCreateOrUpdateFileResponseCommitAuthor;
- committer: ReposCreateOrUpdateFileResponseCommitCommitter;
- html_url: string;
- message: string;
- node_id: string;
- parents: Array;
- sha: string;
- tree: ReposCreateOrUpdateFileResponseCommitTree;
- url: string;
- verification: ReposCreateOrUpdateFileResponseCommitVerification;
- };
- type ReposCreateOrUpdateFileResponse = {
- commit: ReposCreateOrUpdateFileResponseCommit;
- content: ReposCreateOrUpdateFileResponseContent;
- };
- type ReposCreateInOrgResponsePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposCreateInOrgResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCreateInOrgResponse = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposCreateInOrgResponseOwner;
- permissions: ReposCreateInOrgResponsePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposCreateHookResponseLastResponse = {
- code: null;
- message: null;
- status: string;
- };
- type ReposCreateHookResponseConfig = {
- content_type: string;
- insecure_ssl: string;
- url: string;
- };
- type ReposCreateHookResponse = {
- active: boolean;
- config: ReposCreateHookResponseConfig;
- created_at: string;
- events: Array;
- id: number;
- last_response: ReposCreateHookResponseLastResponse;
- name: string;
- ping_url: string;
- test_url: string;
- type: string;
- updated_at: string;
- url: string;
- };
- type ReposCreateForkResponsePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposCreateForkResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCreateForkResponse = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposCreateForkResponseOwner;
- permissions: ReposCreateForkResponsePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposCreateForAuthenticatedUserResponsePermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type ReposCreateForAuthenticatedUserResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCreateForAuthenticatedUserResponse = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: ReposCreateForAuthenticatedUserResponseOwner;
- permissions: ReposCreateForAuthenticatedUserResponsePermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type ReposCreateFileResponseContentLinks = {
- git: string;
- html: string;
- self: string;
- };
- type ReposCreateFileResponseContent = {
- _links: ReposCreateFileResponseContentLinks;
- download_url: string;
- git_url: string;
- html_url: string;
- name: string;
- path: string;
- sha: string;
- size: number;
- type: string;
- url: string;
- };
- type ReposCreateFileResponseCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposCreateFileResponseCommitTree = { sha: string; url: string };
- type ReposCreateFileResponseCommitParentsItem = {
- html_url: string;
- sha: string;
- url: string;
- };
- type ReposCreateFileResponseCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposCreateFileResponseCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposCreateFileResponseCommit = {
- author: ReposCreateFileResponseCommitAuthor;
- committer: ReposCreateFileResponseCommitCommitter;
- html_url: string;
- message: string;
- node_id: string;
- parents: Array;
- sha: string;
- tree: ReposCreateFileResponseCommitTree;
- url: string;
- verification: ReposCreateFileResponseCommitVerification;
- };
- type ReposCreateFileResponse = {
- commit: ReposCreateFileResponseCommit;
- content: ReposCreateFileResponseContent;
- };
- type ReposCreateDeploymentStatusResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCreateDeploymentStatusResponse = {
- created_at: string;
- creator: ReposCreateDeploymentStatusResponseCreator;
- deployment_url: string;
- description: string;
- environment: string;
- environment_url: string;
- id: number;
- log_url: string;
- node_id: string;
- repository_url: string;
- state: string;
- target_url: string;
- updated_at: string;
- url: string;
- };
- type ReposCreateDeploymentResponsePayload = { deploy: string };
- type ReposCreateDeploymentResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCreateDeploymentResponse = {
- created_at: string;
- creator: ReposCreateDeploymentResponseCreator;
- description: string;
- environment: string;
- id: number;
- node_id: string;
- original_environment: string;
- payload: ReposCreateDeploymentResponsePayload;
- production_environment: boolean;
- ref: string;
- repository_url: string;
- sha: string;
- statuses_url: string;
- task: string;
- transient_environment: boolean;
- updated_at: string;
- url: string;
- };
- type ReposCreateCommitCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCreateCommitCommentResponse = {
- body: string;
- commit_id: string;
- created_at: string;
- html_url: string;
- id: number;
- line: number;
- node_id: string;
- path: string;
- position: number;
- updated_at: string;
- url: string;
- user: ReposCreateCommitCommentResponseUser;
- };
- type ReposCompareCommitsResponseMergeBaseCommitParentsItem = {
- sha: string;
- url: string;
- };
- type ReposCompareCommitsResponseMergeBaseCommitCommitter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCompareCommitsResponseMergeBaseCommitCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposCompareCommitsResponseMergeBaseCommitCommitTree = {
- sha: string;
- url: string;
- };
- type ReposCompareCommitsResponseMergeBaseCommitCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposCompareCommitsResponseMergeBaseCommitCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposCompareCommitsResponseMergeBaseCommitCommit = {
- author: ReposCompareCommitsResponseMergeBaseCommitCommitAuthor;
- comment_count: number;
- committer: ReposCompareCommitsResponseMergeBaseCommitCommitCommitter;
- message: string;
- tree: ReposCompareCommitsResponseMergeBaseCommitCommitTree;
- url: string;
- verification: ReposCompareCommitsResponseMergeBaseCommitCommitVerification;
- };
- type ReposCompareCommitsResponseMergeBaseCommitAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCompareCommitsResponseMergeBaseCommit = {
- author: ReposCompareCommitsResponseMergeBaseCommitAuthor;
- comments_url: string;
- commit: ReposCompareCommitsResponseMergeBaseCommitCommit;
- committer: ReposCompareCommitsResponseMergeBaseCommitCommitter;
- html_url: string;
- node_id: string;
- parents: Array;
- sha: string;
- url: string;
- };
- type ReposCompareCommitsResponseFilesItem = {
- additions: number;
- blob_url: string;
- changes: number;
- contents_url: string;
- deletions: number;
- filename: string;
- patch: string;
- raw_url: string;
- sha: string;
- status: string;
- };
- type ReposCompareCommitsResponseCommitsItemParentsItem = {
- sha: string;
- url: string;
- };
- type ReposCompareCommitsResponseCommitsItemCommitter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCompareCommitsResponseCommitsItemCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposCompareCommitsResponseCommitsItemCommitTree = {
- sha: string;
- url: string;
- };
- type ReposCompareCommitsResponseCommitsItemCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposCompareCommitsResponseCommitsItemCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposCompareCommitsResponseCommitsItemCommit = {
- author: ReposCompareCommitsResponseCommitsItemCommitAuthor;
- comment_count: number;
- committer: ReposCompareCommitsResponseCommitsItemCommitCommitter;
- message: string;
- tree: ReposCompareCommitsResponseCommitsItemCommitTree;
- url: string;
- verification: ReposCompareCommitsResponseCommitsItemCommitVerification;
- };
- type ReposCompareCommitsResponseCommitsItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCompareCommitsResponseCommitsItem = {
- author: ReposCompareCommitsResponseCommitsItemAuthor;
- comments_url: string;
- commit: ReposCompareCommitsResponseCommitsItemCommit;
- committer: ReposCompareCommitsResponseCommitsItemCommitter;
- html_url: string;
- node_id: string;
- parents: Array;
- sha: string;
- url: string;
- };
- type ReposCompareCommitsResponseBaseCommitParentsItem = {
- sha: string;
- url: string;
- };
- type ReposCompareCommitsResponseBaseCommitCommitter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCompareCommitsResponseBaseCommitCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type ReposCompareCommitsResponseBaseCommitCommitTree = {
- sha: string;
- url: string;
- };
- type ReposCompareCommitsResponseBaseCommitCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type ReposCompareCommitsResponseBaseCommitCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type ReposCompareCommitsResponseBaseCommitCommit = {
- author: ReposCompareCommitsResponseBaseCommitCommitAuthor;
- comment_count: number;
- committer: ReposCompareCommitsResponseBaseCommitCommitCommitter;
- message: string;
- tree: ReposCompareCommitsResponseBaseCommitCommitTree;
- url: string;
- verification: ReposCompareCommitsResponseBaseCommitCommitVerification;
- };
- type ReposCompareCommitsResponseBaseCommitAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposCompareCommitsResponseBaseCommit = {
- author: ReposCompareCommitsResponseBaseCommitAuthor;
- comments_url: string;
- commit: ReposCompareCommitsResponseBaseCommitCommit;
- committer: ReposCompareCommitsResponseBaseCommitCommitter;
- html_url: string;
- node_id: string;
- parents: Array;
- sha: string;
- url: string;
- };
- type ReposCompareCommitsResponse = {
- ahead_by: number;
- base_commit: ReposCompareCommitsResponseBaseCommit;
- behind_by: number;
- commits: Array;
- diff_url: string;
- files: Array;
- html_url: string;
- merge_base_commit: ReposCompareCommitsResponseMergeBaseCommit;
- patch_url: string;
- permalink_url: string;
- status: string;
- total_commits: number;
- url: string;
- };
- type ReposAddProtectedBranchUserRestrictionsResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposAddProtectedBranchTeamRestrictionsResponseItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type ReposAddProtectedBranchRequiredSignaturesResponse = {
- enabled: boolean;
- url: string;
- };
- type ReposAddProtectedBranchAppRestrictionsResponseItemPermissions = {
- contents: string;
- issues: string;
- metadata: string;
- single_file: string;
- };
- type ReposAddProtectedBranchAppRestrictionsResponseItemOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type ReposAddProtectedBranchAppRestrictionsResponseItem = {
- created_at: string;
- description: string;
- events: Array;
- external_url: string;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- owner: ReposAddProtectedBranchAppRestrictionsResponseItemOwner;
- permissions: ReposAddProtectedBranchAppRestrictionsResponseItemPermissions;
- slug: string;
- updated_at: string;
- };
- type ReposAddProtectedBranchAdminEnforcementResponse = {
- enabled: boolean;
- url: string;
- };
- type ReposAddDeployKeyResponse = {
- created_at: string;
- id: number;
- key: string;
- read_only: boolean;
- title: string;
- url: string;
- verified: boolean;
- };
- type ReposAddCollaboratorResponseRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposAddCollaboratorResponseRepository = {
- archive_url: string;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- deployments_url: string;
- description: string;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- html_url: string;
- id: number;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- name: string;
- node_id: string;
- notifications_url: string;
- owner: ReposAddCollaboratorResponseRepositoryOwner;
- private: boolean;
- pulls_url: string;
- releases_url: string;
- ssh_url: string;
- stargazers_url: string;
- statuses_url: string;
- subscribers_url: string;
- subscription_url: string;
- tags_url: string;
- teams_url: string;
- trees_url: string;
- url: string;
- };
- type ReposAddCollaboratorResponseInviter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposAddCollaboratorResponseInvitee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReposAddCollaboratorResponse = {
- created_at: string;
- html_url: string;
- id: number;
- invitee: ReposAddCollaboratorResponseInvitee;
- inviter: ReposAddCollaboratorResponseInviter;
- permissions: string;
- repository: ReposAddCollaboratorResponseRepository;
- url: string;
- };
- type ReactionsListForTeamDiscussionLegacyResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsListForTeamDiscussionLegacyResponseItem = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsListForTeamDiscussionLegacyResponseItemUser;
- };
- type ReactionsListForTeamDiscussionInOrgResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsListForTeamDiscussionInOrgResponseItem = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsListForTeamDiscussionInOrgResponseItemUser;
- };
- type ReactionsListForTeamDiscussionCommentLegacyResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsListForTeamDiscussionCommentLegacyResponseItem = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsListForTeamDiscussionCommentLegacyResponseItemUser;
- };
- type ReactionsListForTeamDiscussionCommentInOrgResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsListForTeamDiscussionCommentInOrgResponseItem = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsListForTeamDiscussionCommentInOrgResponseItemUser;
- };
- type ReactionsListForTeamDiscussionCommentResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsListForTeamDiscussionCommentResponseItem = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsListForTeamDiscussionCommentResponseItemUser;
- };
- type ReactionsListForTeamDiscussionResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsListForTeamDiscussionResponseItem = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsListForTeamDiscussionResponseItemUser;
- };
- type ReactionsListForPullRequestReviewCommentResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsListForPullRequestReviewCommentResponseItem = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsListForPullRequestReviewCommentResponseItemUser;
- };
- type ReactionsListForIssueCommentResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsListForIssueCommentResponseItem = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsListForIssueCommentResponseItemUser;
- };
- type ReactionsListForIssueResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsListForIssueResponseItem = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsListForIssueResponseItemUser;
- };
- type ReactionsListForCommitCommentResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsListForCommitCommentResponseItem = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsListForCommitCommentResponseItemUser;
- };
- type ReactionsCreateForTeamDiscussionLegacyResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsCreateForTeamDiscussionLegacyResponse = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsCreateForTeamDiscussionLegacyResponseUser;
- };
- type ReactionsCreateForTeamDiscussionInOrgResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsCreateForTeamDiscussionInOrgResponse = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsCreateForTeamDiscussionInOrgResponseUser;
- };
- type ReactionsCreateForTeamDiscussionCommentLegacyResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsCreateForTeamDiscussionCommentLegacyResponse = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsCreateForTeamDiscussionCommentLegacyResponseUser;
- };
- type ReactionsCreateForTeamDiscussionCommentInOrgResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsCreateForTeamDiscussionCommentInOrgResponse = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsCreateForTeamDiscussionCommentInOrgResponseUser;
- };
- type ReactionsCreateForTeamDiscussionCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsCreateForTeamDiscussionCommentResponse = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsCreateForTeamDiscussionCommentResponseUser;
- };
- type ReactionsCreateForTeamDiscussionResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsCreateForTeamDiscussionResponse = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsCreateForTeamDiscussionResponseUser;
- };
- type ReactionsCreateForPullRequestReviewCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsCreateForPullRequestReviewCommentResponse = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsCreateForPullRequestReviewCommentResponseUser;
- };
- type ReactionsCreateForIssueCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsCreateForIssueCommentResponse = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsCreateForIssueCommentResponseUser;
- };
- type ReactionsCreateForIssueResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsCreateForIssueResponse = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsCreateForIssueResponseUser;
- };
- type ReactionsCreateForCommitCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ReactionsCreateForCommitCommentResponse = {
- content: string;
- created_at: string;
- id: number;
- node_id: string;
- user: ReactionsCreateForCommitCommentResponseUser;
- };
- type RateLimitGetResponseResourcesSearch = {
- limit: number;
- remaining: number;
- reset: number;
- };
- type RateLimitGetResponseResourcesIntegrationManifest = {
- limit: number;
- remaining: number;
- reset: number;
- };
- type RateLimitGetResponseResourcesGraphql = {
- limit: number;
- remaining: number;
- reset: number;
- };
- type RateLimitGetResponseResourcesCore = {
- limit: number;
- remaining: number;
- reset: number;
- };
- type RateLimitGetResponseResources = {
- core: RateLimitGetResponseResourcesCore;
- graphql: RateLimitGetResponseResourcesGraphql;
- integration_manifest: RateLimitGetResponseResourcesIntegrationManifest;
- search: RateLimitGetResponseResourcesSearch;
- };
- type RateLimitGetResponseRate = {
- limit: number;
- remaining: number;
- reset: number;
- };
- type RateLimitGetResponse = {
- rate: RateLimitGetResponseRate;
- resources: RateLimitGetResponseResources;
- };
- type PullsUpdateReviewResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateReviewResponseLinksPullRequest = { href: string };
- type PullsUpdateReviewResponseLinksHtml = { href: string };
- type PullsUpdateReviewResponseLinks = {
- html: PullsUpdateReviewResponseLinksHtml;
- pull_request: PullsUpdateReviewResponseLinksPullRequest;
- };
- type PullsUpdateReviewResponse = {
- _links: PullsUpdateReviewResponseLinks;
- body: string;
- commit_id: string;
- html_url: string;
- id: number;
- node_id: string;
- pull_request_url: string;
- state: string;
- user: PullsUpdateReviewResponseUser;
- };
- type PullsUpdateCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateCommentResponseLinksSelf = { href: string };
- type PullsUpdateCommentResponseLinksPullRequest = { href: string };
- type PullsUpdateCommentResponseLinksHtml = { href: string };
- type PullsUpdateCommentResponseLinks = {
- html: PullsUpdateCommentResponseLinksHtml;
- pull_request: PullsUpdateCommentResponseLinksPullRequest;
- self: PullsUpdateCommentResponseLinksSelf;
- };
- type PullsUpdateCommentResponse = {
- _links: PullsUpdateCommentResponseLinks;
- author_association: string;
- body: string;
- commit_id: string;
- created_at: string;
- diff_hunk: string;
- html_url: string;
- id: number;
- in_reply_to_id: number;
- line: number;
- node_id: string;
- original_commit_id: string;
- original_line: number;
- original_position: number;
- original_start_line: number;
- path: string;
- position: number;
- pull_request_review_id: number;
- pull_request_url: string;
- side: string;
- start_line: number;
- start_side: string;
- updated_at: string;
- url: string;
- user: PullsUpdateCommentResponseUser;
- };
- type PullsUpdateBranchResponse = { message: string; url: string };
- type PullsUpdateResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateResponseRequestedTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type PullsUpdateResponseRequestedReviewersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateResponseMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateResponseMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: PullsUpdateResponseMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type PullsUpdateResponseMergedBy = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateResponseLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type PullsUpdateResponseHeadUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateResponseHeadRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsUpdateResponseHeadRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateResponseHeadRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsUpdateResponseHeadRepoOwner;
- permissions: PullsUpdateResponseHeadRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsUpdateResponseHead = {
- label: string;
- ref: string;
- repo: PullsUpdateResponseHeadRepo;
- sha: string;
- user: PullsUpdateResponseHeadUser;
- };
- type PullsUpdateResponseBaseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateResponseBaseRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsUpdateResponseBaseRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateResponseBaseRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsUpdateResponseBaseRepoOwner;
- permissions: PullsUpdateResponseBaseRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsUpdateResponseBase = {
- label: string;
- ref: string;
- repo: PullsUpdateResponseBaseRepo;
- sha: string;
- user: PullsUpdateResponseBaseUser;
- };
- type PullsUpdateResponseAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateResponseAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsUpdateResponseLinksStatuses = { href: string };
- type PullsUpdateResponseLinksSelf = { href: string };
- type PullsUpdateResponseLinksReviewComments = { href: string };
- type PullsUpdateResponseLinksReviewComment = { href: string };
- type PullsUpdateResponseLinksIssue = { href: string };
- type PullsUpdateResponseLinksHtml = { href: string };
- type PullsUpdateResponseLinksCommits = { href: string };
- type PullsUpdateResponseLinksComments = { href: string };
- type PullsUpdateResponseLinks = {
- comments: PullsUpdateResponseLinksComments;
- commits: PullsUpdateResponseLinksCommits;
- html: PullsUpdateResponseLinksHtml;
- issue: PullsUpdateResponseLinksIssue;
- review_comment: PullsUpdateResponseLinksReviewComment;
- review_comments: PullsUpdateResponseLinksReviewComments;
- self: PullsUpdateResponseLinksSelf;
- statuses: PullsUpdateResponseLinksStatuses;
- };
- type PullsUpdateResponse = {
- _links: PullsUpdateResponseLinks;
- active_lock_reason: string;
- additions: number;
- assignee: PullsUpdateResponseAssignee;
- assignees: Array;
- author_association: string;
- base: PullsUpdateResponseBase;
- body: string;
- changed_files: number;
- closed_at: string;
- comments: number;
- comments_url: string;
- commits: number;
- commits_url: string;
- created_at: string;
- deletions: number;
- diff_url: string;
- draft: boolean;
- head: PullsUpdateResponseHead;
- html_url: string;
- id: number;
- issue_url: string;
- labels: Array;
- locked: boolean;
- maintainer_can_modify: boolean;
- merge_commit_sha: string;
- mergeable: boolean;
- mergeable_state: string;
- merged: boolean;
- merged_at: string;
- merged_by: PullsUpdateResponseMergedBy;
- milestone: PullsUpdateResponseMilestone;
- node_id: string;
- number: number;
- patch_url: string;
- rebaseable: boolean;
- requested_reviewers: Array;
- requested_teams: Array;
- review_comment_url: string;
- review_comments: number;
- review_comments_url: string;
- state: string;
- statuses_url: string;
- title: string;
- updated_at: string;
- url: string;
- user: PullsUpdateResponseUser;
- };
- type PullsSubmitReviewResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsSubmitReviewResponseLinksPullRequest = { href: string };
- type PullsSubmitReviewResponseLinksHtml = { href: string };
- type PullsSubmitReviewResponseLinks = {
- html: PullsSubmitReviewResponseLinksHtml;
- pull_request: PullsSubmitReviewResponseLinksPullRequest;
- };
- type PullsSubmitReviewResponse = {
- _links: PullsSubmitReviewResponseLinks;
- body: string;
- commit_id: string;
- html_url: string;
- id: number;
- node_id: string;
- pull_request_url: string;
- state: string;
- submitted_at: string;
- user: PullsSubmitReviewResponseUser;
- };
- type PullsMergeResponse = { merged: boolean; message: string; sha: string };
- type PullsListReviewsResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListReviewsResponseItemLinksPullRequest = { href: string };
- type PullsListReviewsResponseItemLinksHtml = { href: string };
- type PullsListReviewsResponseItemLinks = {
- html: PullsListReviewsResponseItemLinksHtml;
- pull_request: PullsListReviewsResponseItemLinksPullRequest;
- };
- type PullsListReviewsResponseItem = {
- _links: PullsListReviewsResponseItemLinks;
- body: string;
- commit_id: string;
- html_url: string;
- id: number;
- node_id: string;
- pull_request_url: string;
- state: string;
- submitted_at: string;
- user: PullsListReviewsResponseItemUser;
- };
- type PullsListReviewRequestsResponseUsersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListReviewRequestsResponseTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type PullsListReviewRequestsResponse = {
- teams: Array;
- users: Array;
- };
- type PullsListFilesResponseItem = {
- additions: number;
- blob_url: string;
- changes: number;
- contents_url: string;
- deletions: number;
- filename: string;
- patch: string;
- raw_url: string;
- sha: string;
- status: string;
- };
- type PullsListCommitsResponseItemParentsItem = { sha: string; url: string };
- type PullsListCommitsResponseItemCommitter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListCommitsResponseItemCommitVerification = {
- payload: null;
- reason: string;
- signature: null;
- verified: boolean;
- };
- type PullsListCommitsResponseItemCommitTree = { sha: string; url: string };
- type PullsListCommitsResponseItemCommitCommitter = {
- date: string;
- email: string;
- name: string;
- };
- type PullsListCommitsResponseItemCommitAuthor = {
- date: string;
- email: string;
- name: string;
- };
- type PullsListCommitsResponseItemCommit = {
- author: PullsListCommitsResponseItemCommitAuthor;
- comment_count: number;
- committer: PullsListCommitsResponseItemCommitCommitter;
- message: string;
- tree: PullsListCommitsResponseItemCommitTree;
- url: string;
- verification: PullsListCommitsResponseItemCommitVerification;
- };
- type PullsListCommitsResponseItemAuthor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListCommitsResponseItem = {
- author: PullsListCommitsResponseItemAuthor;
- comments_url: string;
- commit: PullsListCommitsResponseItemCommit;
- committer: PullsListCommitsResponseItemCommitter;
- html_url: string;
- node_id: string;
- parents: Array;
- sha: string;
- url: string;
- };
- type PullsListCommentsForRepoResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListCommentsForRepoResponseItemLinksSelf = { href: string };
- type PullsListCommentsForRepoResponseItemLinksPullRequest = { href: string };
- type PullsListCommentsForRepoResponseItemLinksHtml = { href: string };
- type PullsListCommentsForRepoResponseItemLinks = {
- html: PullsListCommentsForRepoResponseItemLinksHtml;
- pull_request: PullsListCommentsForRepoResponseItemLinksPullRequest;
- self: PullsListCommentsForRepoResponseItemLinksSelf;
- };
- type PullsListCommentsForRepoResponseItem = {
- _links: PullsListCommentsForRepoResponseItemLinks;
- author_association: string;
- body: string;
- commit_id: string;
- created_at: string;
- diff_hunk: string;
- html_url: string;
- id: number;
- in_reply_to_id: number;
- line: number;
- node_id: string;
- original_commit_id: string;
- original_line: number;
- original_position: number;
- original_start_line: number;
- path: string;
- position: number;
- pull_request_review_id: number;
- pull_request_url: string;
- side: string;
- start_line: number;
- start_side: string;
- updated_at: string;
- url: string;
- user: PullsListCommentsForRepoResponseItemUser;
- };
- type PullsListCommentsResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListCommentsResponseItemLinksSelf = { href: string };
- type PullsListCommentsResponseItemLinksPullRequest = { href: string };
- type PullsListCommentsResponseItemLinksHtml = { href: string };
- type PullsListCommentsResponseItemLinks = {
- html: PullsListCommentsResponseItemLinksHtml;
- pull_request: PullsListCommentsResponseItemLinksPullRequest;
- self: PullsListCommentsResponseItemLinksSelf;
- };
- type PullsListCommentsResponseItem = {
- _links: PullsListCommentsResponseItemLinks;
- author_association: string;
- body: string;
- commit_id: string;
- created_at: string;
- diff_hunk: string;
- html_url: string;
- id: number;
- in_reply_to_id: number;
- line: number;
- node_id: string;
- original_commit_id: string;
- original_line: number;
- original_position: number;
- original_start_line: number;
- path: string;
- position: number;
- pull_request_review_id: number;
- pull_request_url: string;
- side: string;
- start_line: number;
- start_side: string;
- updated_at: string;
- url: string;
- user: PullsListCommentsResponseItemUser;
- };
- type PullsListResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListResponseItemRequestedTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type PullsListResponseItemRequestedReviewersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListResponseItemMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListResponseItemMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: PullsListResponseItemMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type PullsListResponseItemLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type PullsListResponseItemHeadUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListResponseItemHeadRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsListResponseItemHeadRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListResponseItemHeadRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsListResponseItemHeadRepoOwner;
- permissions: PullsListResponseItemHeadRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsListResponseItemHead = {
- label: string;
- ref: string;
- repo: PullsListResponseItemHeadRepo;
- sha: string;
- user: PullsListResponseItemHeadUser;
- };
- type PullsListResponseItemBaseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListResponseItemBaseRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsListResponseItemBaseRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListResponseItemBaseRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsListResponseItemBaseRepoOwner;
- permissions: PullsListResponseItemBaseRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsListResponseItemBase = {
- label: string;
- ref: string;
- repo: PullsListResponseItemBaseRepo;
- sha: string;
- user: PullsListResponseItemBaseUser;
- };
- type PullsListResponseItemAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListResponseItemAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsListResponseItemLinksStatuses = { href: string };
- type PullsListResponseItemLinksSelf = { href: string };
- type PullsListResponseItemLinksReviewComments = { href: string };
- type PullsListResponseItemLinksReviewComment = { href: string };
- type PullsListResponseItemLinksIssue = { href: string };
- type PullsListResponseItemLinksHtml = { href: string };
- type PullsListResponseItemLinksCommits = { href: string };
- type PullsListResponseItemLinksComments = { href: string };
- type PullsListResponseItemLinks = {
- comments: PullsListResponseItemLinksComments;
- commits: PullsListResponseItemLinksCommits;
- html: PullsListResponseItemLinksHtml;
- issue: PullsListResponseItemLinksIssue;
- review_comment: PullsListResponseItemLinksReviewComment;
- review_comments: PullsListResponseItemLinksReviewComments;
- self: PullsListResponseItemLinksSelf;
- statuses: PullsListResponseItemLinksStatuses;
- };
- type PullsListResponseItem = {
- _links: PullsListResponseItemLinks;
- active_lock_reason: string;
- assignee: PullsListResponseItemAssignee;
- assignees: Array;
- author_association: string;
- base: PullsListResponseItemBase;
- body: string;
- closed_at: string;
- comments_url: string;
- commits_url: string;
- created_at: string;
- diff_url: string;
- draft: boolean;
- head: PullsListResponseItemHead;
- html_url: string;
- id: number;
- issue_url: string;
- labels: Array;
- locked: boolean;
- merge_commit_sha: string;
- merged_at: string;
- milestone: PullsListResponseItemMilestone;
- node_id: string;
- number: number;
- patch_url: string;
- requested_reviewers: Array;
- requested_teams: Array;
- review_comment_url: string;
- review_comments_url: string;
- state: string;
- statuses_url: string;
- title: string;
- updated_at: string;
- url: string;
- user: PullsListResponseItemUser;
- };
- type PullsGetReviewResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetReviewResponseLinksPullRequest = { href: string };
- type PullsGetReviewResponseLinksHtml = { href: string };
- type PullsGetReviewResponseLinks = {
- html: PullsGetReviewResponseLinksHtml;
- pull_request: PullsGetReviewResponseLinksPullRequest;
- };
- type PullsGetReviewResponse = {
- _links: PullsGetReviewResponseLinks;
- body: string;
- commit_id: string;
- html_url: string;
- id: number;
- node_id: string;
- pull_request_url: string;
- state: string;
- submitted_at: string;
- user: PullsGetReviewResponseUser;
- };
- type PullsGetCommentsForReviewResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetCommentsForReviewResponseItemLinksSelf = { href: string };
- type PullsGetCommentsForReviewResponseItemLinksPullRequest = { href: string };
- type PullsGetCommentsForReviewResponseItemLinksHtml = { href: string };
- type PullsGetCommentsForReviewResponseItemLinks = {
- html: PullsGetCommentsForReviewResponseItemLinksHtml;
- pull_request: PullsGetCommentsForReviewResponseItemLinksPullRequest;
- self: PullsGetCommentsForReviewResponseItemLinksSelf;
- };
- type PullsGetCommentsForReviewResponseItem = {
- _links: PullsGetCommentsForReviewResponseItemLinks;
- author_association: string;
- body: string;
- commit_id: string;
- created_at: string;
- diff_hunk: string;
- html_url: string;
- id: number;
- in_reply_to_id: number;
- node_id: string;
- original_commit_id: string;
- original_position: number;
- path: string;
- position: number;
- pull_request_review_id: number;
- pull_request_url: string;
- updated_at: string;
- url: string;
- user: PullsGetCommentsForReviewResponseItemUser;
- };
- type PullsGetCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetCommentResponseLinksSelf = { href: string };
- type PullsGetCommentResponseLinksPullRequest = { href: string };
- type PullsGetCommentResponseLinksHtml = { href: string };
- type PullsGetCommentResponseLinks = {
- html: PullsGetCommentResponseLinksHtml;
- pull_request: PullsGetCommentResponseLinksPullRequest;
- self: PullsGetCommentResponseLinksSelf;
- };
- type PullsGetCommentResponse = {
- _links: PullsGetCommentResponseLinks;
- author_association: string;
- body: string;
- commit_id: string;
- created_at: string;
- diff_hunk: string;
- html_url: string;
- id: number;
- in_reply_to_id: number;
- line: number;
- node_id: string;
- original_commit_id: string;
- original_line: number;
- original_position: number;
- original_start_line: number;
- path: string;
- position: number;
- pull_request_review_id: number;
- pull_request_url: string;
- side: string;
- start_line: number;
- start_side: string;
- updated_at: string;
- url: string;
- user: PullsGetCommentResponseUser;
- };
- type PullsGetResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetResponseRequestedTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type PullsGetResponseRequestedReviewersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetResponseMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetResponseMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: PullsGetResponseMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type PullsGetResponseMergedBy = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetResponseLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type PullsGetResponseHeadUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetResponseHeadRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsGetResponseHeadRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetResponseHeadRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsGetResponseHeadRepoOwner;
- permissions: PullsGetResponseHeadRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsGetResponseHead = {
- label: string;
- ref: string;
- repo: PullsGetResponseHeadRepo;
- sha: string;
- user: PullsGetResponseHeadUser;
- };
- type PullsGetResponseBaseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetResponseBaseRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsGetResponseBaseRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetResponseBaseRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsGetResponseBaseRepoOwner;
- permissions: PullsGetResponseBaseRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsGetResponseBase = {
- label: string;
- ref: string;
- repo: PullsGetResponseBaseRepo;
- sha: string;
- user: PullsGetResponseBaseUser;
- };
- type PullsGetResponseAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetResponseAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsGetResponseLinksStatuses = { href: string };
- type PullsGetResponseLinksSelf = { href: string };
- type PullsGetResponseLinksReviewComments = { href: string };
- type PullsGetResponseLinksReviewComment = { href: string };
- type PullsGetResponseLinksIssue = { href: string };
- type PullsGetResponseLinksHtml = { href: string };
- type PullsGetResponseLinksCommits = { href: string };
- type PullsGetResponseLinksComments = { href: string };
- type PullsGetResponseLinks = {
- comments: PullsGetResponseLinksComments;
- commits: PullsGetResponseLinksCommits;
- html: PullsGetResponseLinksHtml;
- issue: PullsGetResponseLinksIssue;
- review_comment: PullsGetResponseLinksReviewComment;
- review_comments: PullsGetResponseLinksReviewComments;
- self: PullsGetResponseLinksSelf;
- statuses: PullsGetResponseLinksStatuses;
- };
- type PullsGetResponse = {
- _links: PullsGetResponseLinks;
- active_lock_reason: string;
- additions: number;
- assignee: PullsGetResponseAssignee;
- assignees: Array;
- author_association: string;
- base: PullsGetResponseBase;
- body: string;
- changed_files: number;
- closed_at: string;
- comments: number;
- comments_url: string;
- commits: number;
- commits_url: string;
- created_at: string;
- deletions: number;
- diff_url: string;
- draft: boolean;
- head: PullsGetResponseHead;
- html_url: string;
- id: number;
- issue_url: string;
- labels: Array;
- locked: boolean;
- maintainer_can_modify: boolean;
- merge_commit_sha: string;
- mergeable: boolean;
- mergeable_state: string;
- merged: boolean;
- merged_at: string;
- merged_by: PullsGetResponseMergedBy;
- milestone: PullsGetResponseMilestone;
- node_id: string;
- number: number;
- patch_url: string;
- rebaseable: boolean;
- requested_reviewers: Array;
- requested_teams: Array;
- review_comment_url: string;
- review_comments: number;
- review_comments_url: string;
- state: string;
- statuses_url: string;
- title: string;
- updated_at: string;
- url: string;
- user: PullsGetResponseUser;
- };
- type PullsDismissReviewResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsDismissReviewResponseLinksPullRequest = { href: string };
- type PullsDismissReviewResponseLinksHtml = { href: string };
- type PullsDismissReviewResponseLinks = {
- html: PullsDismissReviewResponseLinksHtml;
- pull_request: PullsDismissReviewResponseLinksPullRequest;
- };
- type PullsDismissReviewResponse = {
- _links: PullsDismissReviewResponseLinks;
- body: string;
- commit_id: string;
- html_url: string;
- id: number;
- node_id: string;
- pull_request_url: string;
- state: string;
- user: PullsDismissReviewResponseUser;
- };
- type PullsDeletePendingReviewResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsDeletePendingReviewResponseLinksPullRequest = { href: string };
- type PullsDeletePendingReviewResponseLinksHtml = { href: string };
- type PullsDeletePendingReviewResponseLinks = {
- html: PullsDeletePendingReviewResponseLinksHtml;
- pull_request: PullsDeletePendingReviewResponseLinksPullRequest;
- };
- type PullsDeletePendingReviewResponse = {
- _links: PullsDeletePendingReviewResponseLinks;
- body: string;
- commit_id: string;
- html_url: string;
- id: number;
- node_id: string;
- pull_request_url: string;
- state: string;
- user: PullsDeletePendingReviewResponseUser;
- };
- type PullsCreateReviewRequestResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseRequestedTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseRequestedReviewersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: PullsCreateReviewRequestResponseMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseHeadUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseHeadRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsCreateReviewRequestResponseHeadRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseHeadRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsCreateReviewRequestResponseHeadRepoOwner;
- permissions: PullsCreateReviewRequestResponseHeadRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsCreateReviewRequestResponseHead = {
- label: string;
- ref: string;
- repo: PullsCreateReviewRequestResponseHeadRepo;
- sha: string;
- user: PullsCreateReviewRequestResponseHeadUser;
- };
- type PullsCreateReviewRequestResponseBaseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseBaseRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsCreateReviewRequestResponseBaseRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseBaseRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsCreateReviewRequestResponseBaseRepoOwner;
- permissions: PullsCreateReviewRequestResponseBaseRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsCreateReviewRequestResponseBase = {
- label: string;
- ref: string;
- repo: PullsCreateReviewRequestResponseBaseRepo;
- sha: string;
- user: PullsCreateReviewRequestResponseBaseUser;
- };
- type PullsCreateReviewRequestResponseAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewRequestResponseLinksStatuses = { href: string };
- type PullsCreateReviewRequestResponseLinksSelf = { href: string };
- type PullsCreateReviewRequestResponseLinksReviewComments = { href: string };
- type PullsCreateReviewRequestResponseLinksReviewComment = { href: string };
- type PullsCreateReviewRequestResponseLinksIssue = { href: string };
- type PullsCreateReviewRequestResponseLinksHtml = { href: string };
- type PullsCreateReviewRequestResponseLinksCommits = { href: string };
- type PullsCreateReviewRequestResponseLinksComments = { href: string };
- type PullsCreateReviewRequestResponseLinks = {
- comments: PullsCreateReviewRequestResponseLinksComments;
- commits: PullsCreateReviewRequestResponseLinksCommits;
- html: PullsCreateReviewRequestResponseLinksHtml;
- issue: PullsCreateReviewRequestResponseLinksIssue;
- review_comment: PullsCreateReviewRequestResponseLinksReviewComment;
- review_comments: PullsCreateReviewRequestResponseLinksReviewComments;
- self: PullsCreateReviewRequestResponseLinksSelf;
- statuses: PullsCreateReviewRequestResponseLinksStatuses;
- };
- type PullsCreateReviewRequestResponse = {
- _links: PullsCreateReviewRequestResponseLinks;
- active_lock_reason: string;
- assignee: PullsCreateReviewRequestResponseAssignee;
- assignees: Array;
- author_association: string;
- base: PullsCreateReviewRequestResponseBase;
- body: string;
- closed_at: string;
- comments_url: string;
- commits_url: string;
- created_at: string;
- diff_url: string;
- draft: boolean;
- head: PullsCreateReviewRequestResponseHead;
- html_url: string;
- id: number;
- issue_url: string;
- labels: Array;
- locked: boolean;
- merge_commit_sha: string;
- merged_at: string;
- milestone: PullsCreateReviewRequestResponseMilestone;
- node_id: string;
- number: number;
- patch_url: string;
- requested_reviewers: Array<
- PullsCreateReviewRequestResponseRequestedReviewersItem
- >;
- requested_teams: Array;
- review_comment_url: string;
- review_comments_url: string;
- state: string;
- statuses_url: string;
- title: string;
- updated_at: string;
- url: string;
- user: PullsCreateReviewRequestResponseUser;
- };
- type PullsCreateReviewCommentReplyResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewCommentReplyResponseLinksSelf = { href: string };
- type PullsCreateReviewCommentReplyResponseLinksPullRequest = { href: string };
- type PullsCreateReviewCommentReplyResponseLinksHtml = { href: string };
- type PullsCreateReviewCommentReplyResponseLinks = {
- html: PullsCreateReviewCommentReplyResponseLinksHtml;
- pull_request: PullsCreateReviewCommentReplyResponseLinksPullRequest;
- self: PullsCreateReviewCommentReplyResponseLinksSelf;
- };
- type PullsCreateReviewCommentReplyResponse = {
- _links: PullsCreateReviewCommentReplyResponseLinks;
- author_association: string;
- body: string;
- commit_id: string;
- created_at: string;
- diff_hunk: string;
- html_url: string;
- id: number;
- node_id: string;
- original_commit_id: string;
- original_position: number;
- path: string;
- position: number;
- pull_request_review_id: number;
- pull_request_url: string;
- updated_at: string;
- url: string;
- user: PullsCreateReviewCommentReplyResponseUser;
- };
- type PullsCreateReviewResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateReviewResponseLinksPullRequest = { href: string };
- type PullsCreateReviewResponseLinksHtml = { href: string };
- type PullsCreateReviewResponseLinks = {
- html: PullsCreateReviewResponseLinksHtml;
- pull_request: PullsCreateReviewResponseLinksPullRequest;
- };
- type PullsCreateReviewResponse = {
- _links: PullsCreateReviewResponseLinks;
- body: string;
- commit_id: string;
- html_url: string;
- id: number;
- node_id: string;
- pull_request_url: string;
- state: string;
- user: PullsCreateReviewResponseUser;
- };
- type PullsCreateFromIssueResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateFromIssueResponseRequestedTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type PullsCreateFromIssueResponseRequestedReviewersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateFromIssueResponseMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateFromIssueResponseMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: PullsCreateFromIssueResponseMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type PullsCreateFromIssueResponseMergedBy = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateFromIssueResponseLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type PullsCreateFromIssueResponseHeadUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateFromIssueResponseHeadRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsCreateFromIssueResponseHeadRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateFromIssueResponseHeadRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsCreateFromIssueResponseHeadRepoOwner;
- permissions: PullsCreateFromIssueResponseHeadRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsCreateFromIssueResponseHead = {
- label: string;
- ref: string;
- repo: PullsCreateFromIssueResponseHeadRepo;
- sha: string;
- user: PullsCreateFromIssueResponseHeadUser;
- };
- type PullsCreateFromIssueResponseBaseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateFromIssueResponseBaseRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsCreateFromIssueResponseBaseRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateFromIssueResponseBaseRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsCreateFromIssueResponseBaseRepoOwner;
- permissions: PullsCreateFromIssueResponseBaseRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsCreateFromIssueResponseBase = {
- label: string;
- ref: string;
- repo: PullsCreateFromIssueResponseBaseRepo;
- sha: string;
- user: PullsCreateFromIssueResponseBaseUser;
- };
- type PullsCreateFromIssueResponseAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateFromIssueResponseAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateFromIssueResponseLinksStatuses = { href: string };
- type PullsCreateFromIssueResponseLinksSelf = { href: string };
- type PullsCreateFromIssueResponseLinksReviewComments = { href: string };
- type PullsCreateFromIssueResponseLinksReviewComment = { href: string };
- type PullsCreateFromIssueResponseLinksIssue = { href: string };
- type PullsCreateFromIssueResponseLinksHtml = { href: string };
- type PullsCreateFromIssueResponseLinksCommits = { href: string };
- type PullsCreateFromIssueResponseLinksComments = { href: string };
- type PullsCreateFromIssueResponseLinks = {
- comments: PullsCreateFromIssueResponseLinksComments;
- commits: PullsCreateFromIssueResponseLinksCommits;
- html: PullsCreateFromIssueResponseLinksHtml;
- issue: PullsCreateFromIssueResponseLinksIssue;
- review_comment: PullsCreateFromIssueResponseLinksReviewComment;
- review_comments: PullsCreateFromIssueResponseLinksReviewComments;
- self: PullsCreateFromIssueResponseLinksSelf;
- statuses: PullsCreateFromIssueResponseLinksStatuses;
- };
- type PullsCreateFromIssueResponse = {
- _links: PullsCreateFromIssueResponseLinks;
- active_lock_reason: string;
- additions: number;
- assignee: PullsCreateFromIssueResponseAssignee;
- assignees: Array;
- author_association: string;
- base: PullsCreateFromIssueResponseBase;
- body: string;
- changed_files: number;
- closed_at: string;
- comments: number;
- comments_url: string;
- commits: number;
- commits_url: string;
- created_at: string;
- deletions: number;
- diff_url: string;
- draft: boolean;
- head: PullsCreateFromIssueResponseHead;
- html_url: string;
- id: number;
- issue_url: string;
- labels: Array;
- locked: boolean;
- maintainer_can_modify: boolean;
- merge_commit_sha: string;
- mergeable: boolean;
- mergeable_state: string;
- merged: boolean;
- merged_at: string;
- merged_by: PullsCreateFromIssueResponseMergedBy;
- milestone: PullsCreateFromIssueResponseMilestone;
- node_id: string;
- number: number;
- patch_url: string;
- rebaseable: boolean;
- requested_reviewers: Array<
- PullsCreateFromIssueResponseRequestedReviewersItem
- >;
- requested_teams: Array;
- review_comment_url: string;
- review_comments: number;
- review_comments_url: string;
- state: string;
- statuses_url: string;
- title: string;
- updated_at: string;
- url: string;
- user: PullsCreateFromIssueResponseUser;
- };
- type PullsCreateCommentReplyResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateCommentReplyResponseLinksSelf = { href: string };
- type PullsCreateCommentReplyResponseLinksPullRequest = { href: string };
- type PullsCreateCommentReplyResponseLinksHtml = { href: string };
- type PullsCreateCommentReplyResponseLinks = {
- html: PullsCreateCommentReplyResponseLinksHtml;
- pull_request: PullsCreateCommentReplyResponseLinksPullRequest;
- self: PullsCreateCommentReplyResponseLinksSelf;
- };
- type PullsCreateCommentReplyResponse = {
- _links: PullsCreateCommentReplyResponseLinks;
- author_association: string;
- body: string;
- commit_id: string;
- created_at: string;
- diff_hunk: string;
- html_url: string;
- id: number;
- in_reply_to_id: number;
- line: number;
- node_id: string;
- original_commit_id: string;
- original_line: number;
- original_position: number;
- original_start_line: number;
- path: string;
- position: number;
- pull_request_review_id: number;
- pull_request_url: string;
- side: string;
- start_line: number;
- start_side: string;
- updated_at: string;
- url: string;
- user: PullsCreateCommentReplyResponseUser;
- };
- type PullsCreateCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateCommentResponseLinksSelf = { href: string };
- type PullsCreateCommentResponseLinksPullRequest = { href: string };
- type PullsCreateCommentResponseLinksHtml = { href: string };
- type PullsCreateCommentResponseLinks = {
- html: PullsCreateCommentResponseLinksHtml;
- pull_request: PullsCreateCommentResponseLinksPullRequest;
- self: PullsCreateCommentResponseLinksSelf;
- };
- type PullsCreateCommentResponse = {
- _links: PullsCreateCommentResponseLinks;
- author_association: string;
- body: string;
- commit_id: string;
- created_at: string;
- diff_hunk: string;
- html_url: string;
- id: number;
- in_reply_to_id: number;
- line: number;
- node_id: string;
- original_commit_id: string;
- original_line: number;
- original_position: number;
- original_start_line: number;
- path: string;
- position: number;
- pull_request_review_id: number;
- pull_request_url: string;
- side: string;
- start_line: number;
- start_side: string;
- updated_at: string;
- url: string;
- user: PullsCreateCommentResponseUser;
- };
- type PullsCreateResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateResponseRequestedTeamsItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type PullsCreateResponseRequestedReviewersItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateResponseMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateResponseMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: PullsCreateResponseMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type PullsCreateResponseMergedBy = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateResponseLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type PullsCreateResponseHeadUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateResponseHeadRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsCreateResponseHeadRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateResponseHeadRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsCreateResponseHeadRepoOwner;
- permissions: PullsCreateResponseHeadRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsCreateResponseHead = {
- label: string;
- ref: string;
- repo: PullsCreateResponseHeadRepo;
- sha: string;
- user: PullsCreateResponseHeadUser;
- };
- type PullsCreateResponseBaseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateResponseBaseRepoPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type PullsCreateResponseBaseRepoOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateResponseBaseRepo = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: PullsCreateResponseBaseRepoOwner;
- permissions: PullsCreateResponseBaseRepoPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type PullsCreateResponseBase = {
- label: string;
- ref: string;
- repo: PullsCreateResponseBaseRepo;
- sha: string;
- user: PullsCreateResponseBaseUser;
- };
- type PullsCreateResponseAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateResponseAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type PullsCreateResponseLinksStatuses = { href: string };
- type PullsCreateResponseLinksSelf = { href: string };
- type PullsCreateResponseLinksReviewComments = { href: string };
- type PullsCreateResponseLinksReviewComment = { href: string };
- type PullsCreateResponseLinksIssue = { href: string };
- type PullsCreateResponseLinksHtml = { href: string };
- type PullsCreateResponseLinksCommits = { href: string };
- type PullsCreateResponseLinksComments = { href: string };
- type PullsCreateResponseLinks = {
- comments: PullsCreateResponseLinksComments;
- commits: PullsCreateResponseLinksCommits;
- html: PullsCreateResponseLinksHtml;
- issue: PullsCreateResponseLinksIssue;
- review_comment: PullsCreateResponseLinksReviewComment;
- review_comments: PullsCreateResponseLinksReviewComments;
- self: PullsCreateResponseLinksSelf;
- statuses: PullsCreateResponseLinksStatuses;
- };
- type PullsCreateResponse = {
- _links: PullsCreateResponseLinks;
- active_lock_reason: string;
- additions: number;
- assignee: PullsCreateResponseAssignee;
- assignees: Array;
- author_association: string;
- base: PullsCreateResponseBase;
- body: string;
- changed_files: number;
- closed_at: string;
- comments: number;
- comments_url: string;
- commits: number;
- commits_url: string;
- created_at: string;
- deletions: number;
- diff_url: string;
- draft: boolean;
- head: PullsCreateResponseHead;
- html_url: string;
- id: number;
- issue_url: string;
- labels: Array;
- locked: boolean;
- maintainer_can_modify: boolean;
- merge_commit_sha: string;
- mergeable: boolean;
- mergeable_state: string;
- merged: boolean;
- merged_at: string;
- merged_by: PullsCreateResponseMergedBy;
- milestone: PullsCreateResponseMilestone;
- node_id: string;
- number: number;
- patch_url: string;
- rebaseable: boolean;
- requested_reviewers: Array;
- requested_teams: Array;
- review_comment_url: string;
- review_comments: number;
- review_comments_url: string;
- state: string;
- statuses_url: string;
- title: string;
- updated_at: string;
- url: string;
- user: PullsCreateResponseUser;
- };
- type ProjectsUpdateColumnResponse = {
- cards_url: string;
- created_at: string;
- id: number;
- name: string;
- node_id: string;
- project_url: string;
- updated_at: string;
- url: string;
- };
- type ProjectsUpdateCardResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsUpdateCardResponse = {
- archived: boolean;
- column_url: string;
- content_url: string;
- created_at: string;
- creator: ProjectsUpdateCardResponseCreator;
- id: number;
- node_id: string;
- note: string;
- project_url: string;
- updated_at: string;
- url: string;
- };
- type ProjectsUpdateResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsUpdateResponse = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: ProjectsUpdateResponseCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- owner_url: string;
- state: string;
- updated_at: string;
- url: string;
- };
- type ProjectsReviewUserPermissionLevelResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsReviewUserPermissionLevelResponse = {
- permission: string;
- user: ProjectsReviewUserPermissionLevelResponseUser;
- };
- type ProjectsListForUserResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsListForUserResponseItem = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: ProjectsListForUserResponseItemCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- owner_url: string;
- state: string;
- updated_at: string;
- url: string;
- };
- type ProjectsListForRepoResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsListForRepoResponseItem = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: ProjectsListForRepoResponseItemCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- owner_url: string;
- state: string;
- updated_at: string;
- url: string;
- };
- type ProjectsListForOrgResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsListForOrgResponseItem = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: ProjectsListForOrgResponseItemCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- owner_url: string;
- state: string;
- updated_at: string;
- url: string;
- };
- type ProjectsListColumnsResponseItem = {
- cards_url: string;
- created_at: string;
- id: number;
- name: string;
- node_id: string;
- project_url: string;
- updated_at: string;
- url: string;
- };
- type ProjectsListCollaboratorsResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsListCardsResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsListCardsResponseItem = {
- archived: boolean;
- column_url: string;
- content_url: string;
- created_at: string;
- creator: ProjectsListCardsResponseItemCreator;
- id: number;
- node_id: string;
- note: string;
- project_url: string;
- updated_at: string;
- url: string;
- };
- type ProjectsGetColumnResponse = {
- cards_url: string;
- created_at: string;
- id: number;
- name: string;
- node_id: string;
- project_url: string;
- updated_at: string;
- url: string;
- };
- type ProjectsGetCardResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsGetCardResponse = {
- archived: boolean;
- column_url: string;
- content_url: string;
- created_at: string;
- creator: ProjectsGetCardResponseCreator;
- id: number;
- node_id: string;
- note: string;
- project_url: string;
- updated_at: string;
- url: string;
- };
- type ProjectsGetResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsGetResponse = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: ProjectsGetResponseCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- owner_url: string;
- state: string;
- updated_at: string;
- url: string;
- };
- type ProjectsCreateForRepoResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsCreateForRepoResponse = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: ProjectsCreateForRepoResponseCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- owner_url: string;
- state: string;
- updated_at: string;
- url: string;
- };
- type ProjectsCreateForOrgResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsCreateForOrgResponse = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: ProjectsCreateForOrgResponseCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- owner_url: string;
- state: string;
- updated_at: string;
- url: string;
- };
- type ProjectsCreateForAuthenticatedUserResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsCreateForAuthenticatedUserResponse = {
- body: string;
- columns_url: string;
- created_at: string;
- creator: ProjectsCreateForAuthenticatedUserResponseCreator;
- html_url: string;
- id: number;
- name: string;
- node_id: string;
- number: number;
- owner_url: string;
- state: string;
- updated_at: string;
- url: string;
- };
- type ProjectsCreateColumnResponse = {
- cards_url: string;
- created_at: string;
- id: number;
- name: string;
- node_id: string;
- project_url: string;
- updated_at: string;
- url: string;
- };
- type ProjectsCreateCardResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type ProjectsCreateCardResponse = {
- archived: boolean;
- column_url: string;
- content_url: string;
- created_at: string;
- creator: ProjectsCreateCardResponseCreator;
- id: number;
- node_id: string;
- note: string;
- project_url: string;
- updated_at: string;
- url: string;
- };
- type OrgsUpdateMembershipResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsUpdateMembershipResponseOrganization = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type OrgsUpdateMembershipResponse = {
- organization: OrgsUpdateMembershipResponseOrganization;
- organization_url: string;
- role: string;
- state: string;
- url: string;
- user: OrgsUpdateMembershipResponseUser;
- };
- type OrgsUpdateHookResponseConfig = { content_type: string; url: string };
- type OrgsUpdateHookResponse = {
- active: boolean;
- config: OrgsUpdateHookResponseConfig;
- created_at: string;
- events: Array;
- id: number;
- name: string;
- ping_url: string;
- updated_at: string;
- url: string;
- };
- type OrgsUpdateResponsePlan = {
- name: string;
- private_repos: number;
- space: number;
- };
- type OrgsUpdateResponse = {
- avatar_url: string;
- billing_email: string;
- blog: string;
- collaborators: number;
- company: string;
- created_at: string;
- default_repository_permission: string;
- description: string;
- disk_usage: number;
- email: string;
- events_url: string;
- followers: number;
- following: number;
- has_organization_projects: boolean;
- has_repository_projects: boolean;
- hooks_url: string;
- html_url: string;
- id: number;
- is_verified: boolean;
- issues_url: string;
- location: string;
- login: string;
- members_allowed_repository_creation_type: string;
- members_can_create_internal_repositories: boolean;
- members_can_create_private_repositories: boolean;
- members_can_create_public_repositories: boolean;
- members_can_create_repositories: boolean;
- members_url: string;
- name: string;
- node_id: string;
- owned_private_repos: number;
- plan: OrgsUpdateResponsePlan;
- private_gists: number;
- public_gists: number;
- public_members_url: string;
- public_repos: number;
- repos_url: string;
- total_private_repos: number;
- two_factor_requirement_enabled: boolean;
- type: string;
- url: string;
- };
- type OrgsRemoveOutsideCollaboratorResponse = {
- documentation_url: string;
- message: string;
- };
- type OrgsListPublicMembersResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsListPendingInvitationsResponseItemInviter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsListPendingInvitationsResponseItem = {
- created_at: string;
- email: string;
- id: number;
- invitation_team_url: string;
- inviter: OrgsListPendingInvitationsResponseItemInviter;
- login: string;
- role: string;
- team_count: number;
- };
- type OrgsListOutsideCollaboratorsResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsListMembershipsResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsListMembershipsResponseItemOrganization = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type OrgsListMembershipsResponseItem = {
- organization: OrgsListMembershipsResponseItemOrganization;
- organization_url: string;
- role: string;
- state: string;
- url: string;
- user: OrgsListMembershipsResponseItemUser;
- };
- type OrgsListMembersResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsListInvitationTeamsResponseItem = {
- description: string;
- html_url: string;
- id: number;
- members_url: string;
- name: string;
- node_id: string;
- parent: null;
- permission: string;
- privacy: string;
- repositories_url: string;
- slug: string;
- url: string;
- };
- type OrgsListInstallationsResponseInstallationsItemPermissions = {
- deployments: string;
- metadata: string;
- pull_requests: string;
- statuses: string;
- };
- type OrgsListInstallationsResponseInstallationsItemAccount = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsListInstallationsResponseInstallationsItem = {
- access_tokens_url: string;
- account: OrgsListInstallationsResponseInstallationsItemAccount;
- app_id: number;
- created_at: string;
- events: Array;
- html_url: string;
- id: number;
- permissions: OrgsListInstallationsResponseInstallationsItemPermissions;
- repositories_url: string;
- repository_selection: string;
- single_file_name: null;
- target_id: number;
- target_type: string;
- updated_at: string;
- };
- type OrgsListInstallationsResponse = {
- installations: Array;
- total_count: number;
- };
- type OrgsListHooksResponseItemConfig = { content_type: string; url: string };
- type OrgsListHooksResponseItem = {
- active: boolean;
- config: OrgsListHooksResponseItemConfig;
- created_at: string;
- events: Array;
- id: number;
- name: string;
- ping_url: string;
- updated_at: string;
- url: string;
- };
- type OrgsListForUserResponseItem = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type OrgsListForAuthenticatedUserResponseItem = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type OrgsListBlockedUsersResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsListResponseItem = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type OrgsGetMembershipForAuthenticatedUserResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsGetMembershipForAuthenticatedUserResponseOrganization = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type OrgsGetMembershipForAuthenticatedUserResponse = {
- organization: OrgsGetMembershipForAuthenticatedUserResponseOrganization;
- organization_url: string;
- role: string;
- state: string;
- url: string;
- user: OrgsGetMembershipForAuthenticatedUserResponseUser;
- };
- type OrgsGetMembershipResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsGetMembershipResponseOrganization = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type OrgsGetMembershipResponse = {
- organization: OrgsGetMembershipResponseOrganization;
- organization_url: string;
- role: string;
- state: string;
- url: string;
- user: OrgsGetMembershipResponseUser;
- };
- type OrgsGetHookResponseConfig = { content_type: string; url: string };
- type OrgsGetHookResponse = {
- active: boolean;
- config: OrgsGetHookResponseConfig;
- created_at: string;
- events: Array;
- id: number;
- name: string;
- ping_url: string;
- updated_at: string;
- url: string;
- };
- type OrgsGetResponsePlan = {
- name: string;
- private_repos: number;
- space: number;
- filled_seats?: number;
- seats?: number;
- };
- type OrgsGetResponse = {
- avatar_url: string;
- billing_email?: string;
- blog: string;
- collaborators?: number;
- company: string;
- created_at: string;
- default_repository_permission?: string;
- description: string;
- disk_usage?: number;
- email: string;
- events_url: string;
- followers: number;
- following: number;
- has_organization_projects: boolean;
- has_repository_projects: boolean;
- hooks_url: string;
- html_url: string;
- id: number;
- is_verified: boolean;
- issues_url: string;
- location: string;
- login: string;
- members_allowed_repository_creation_type?: string;
- members_can_create_internal_repositories?: boolean;
- members_can_create_private_repositories?: boolean;
- members_can_create_public_repositories?: boolean;
- members_can_create_repositories?: boolean;
- members_url: string;
- name: string;
- node_id: string;
- owned_private_repos?: number;
- plan: OrgsGetResponsePlan;
- private_gists?: number;
- public_gists: number;
- public_members_url: string;
- public_repos: number;
- repos_url: string;
- total_private_repos?: number;
- two_factor_requirement_enabled?: boolean;
- type: string;
- url: string;
- };
- type OrgsCreateInvitationResponseInviter = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsCreateInvitationResponse = {
- created_at: string;
- email: string;
- id: number;
- invitation_team_url: string;
- inviter: OrgsCreateInvitationResponseInviter;
- login: string;
- role: string;
- team_count: number;
- };
- type OrgsCreateHookResponseConfig = { content_type: string; url: string };
- type OrgsCreateHookResponse = {
- active: boolean;
- config: OrgsCreateHookResponseConfig;
- created_at: string;
- events: Array;
- id: number;
- name: string;
- ping_url: string;
- updated_at: string;
- url: string;
- };
- type OrgsConvertMemberToOutsideCollaboratorResponse = {
- documentation_url: string;
- message: string;
- };
- type OrgsAddOrUpdateMembershipResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OrgsAddOrUpdateMembershipResponseOrganization = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type OrgsAddOrUpdateMembershipResponse = {
- organization: OrgsAddOrUpdateMembershipResponseOrganization;
- organization_url: string;
- role: string;
- state: string;
- url: string;
- user: OrgsAddOrUpdateMembershipResponseUser;
- };
- type OauthAuthorizationsUpdateAuthorizationResponseApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsUpdateAuthorizationResponse = {
- app: OauthAuthorizationsUpdateAuthorizationResponseApp;
- created_at: string;
- fingerprint: string;
- hashed_token: string;
- id: number;
- note: string;
- note_url: string;
- scopes: Array;
- token: string;
- token_last_eight: string;
- updated_at: string;
- url: string;
- };
- type OauthAuthorizationsResetAuthorizationResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OauthAuthorizationsResetAuthorizationResponseApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsResetAuthorizationResponse = {
- app: OauthAuthorizationsResetAuthorizationResponseApp;
- created_at: string;
- fingerprint: string;
- hashed_token: string;
- id: number;
- note: string;
- note_url: string;
- scopes: Array;
- token: string;
- token_last_eight: string;
- updated_at: string;
- url: string;
- user: OauthAuthorizationsResetAuthorizationResponseUser;
- };
- type OauthAuthorizationsListGrantsResponseItemApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsListGrantsResponseItem = {
- app: OauthAuthorizationsListGrantsResponseItemApp;
- created_at: string;
- id: number;
- scopes: Array;
- updated_at: string;
- url: string;
- };
- type OauthAuthorizationsListAuthorizationsResponseItemApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsListAuthorizationsResponseItem = {
- app: OauthAuthorizationsListAuthorizationsResponseItemApp;
- created_at: string;
- fingerprint: string;
- hashed_token: string;
- id: number;
- note: string;
- note_url: string;
- scopes: Array;
- token: string;
- token_last_eight: string;
- updated_at: string;
- url: string;
- };
- type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponseApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponse = {
- app: OauthAuthorizationsGetOrCreateAuthorizationForAppFingerprintResponseApp;
- created_at: string;
- fingerprint: string;
- hashed_token: string;
- id: number;
- note: string;
- note_url: string;
- scopes: Array;
- token: string;
- token_last_eight: string;
- updated_at: string;
- url: string;
- };
- type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponse = {
- app: OauthAuthorizationsGetOrCreateAuthorizationForAppAndFingerprintResponseApp;
- created_at: string;
- fingerprint: string;
- hashed_token: string;
- id: number;
- note: string;
- note_url: string;
- scopes: Array;
- token: string;
- token_last_eight: string;
- updated_at: string;
- url: string;
- };
- type OauthAuthorizationsGetOrCreateAuthorizationForAppResponseApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsGetOrCreateAuthorizationForAppResponse = {
- app: OauthAuthorizationsGetOrCreateAuthorizationForAppResponseApp;
- created_at: string;
- fingerprint: string;
- hashed_token: string;
- id: number;
- note: string;
- note_url: string;
- scopes: Array;
- token: string;
- token_last_eight: string;
- updated_at: string;
- url: string;
- };
- type OauthAuthorizationsGetGrantResponseApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsGetGrantResponse = {
- app: OauthAuthorizationsGetGrantResponseApp;
- created_at: string;
- id: number;
- scopes: Array;
- updated_at: string;
- url: string;
- };
- type OauthAuthorizationsGetAuthorizationResponseApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsGetAuthorizationResponse = {
- app: OauthAuthorizationsGetAuthorizationResponseApp;
- created_at: string;
- fingerprint: string;
- hashed_token: string;
- id: number;
- note: string;
- note_url: string;
- scopes: Array;
- token: string;
- token_last_eight: string;
- updated_at: string;
- url: string;
- };
- type OauthAuthorizationsCreateAuthorizationResponseApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsCreateAuthorizationResponse = {
- app: OauthAuthorizationsCreateAuthorizationResponseApp;
- created_at: string;
- fingerprint: string;
- hashed_token: string;
- id: number;
- note: string;
- note_url: string;
- scopes: Array;
- token: string;
- token_last_eight: string;
- updated_at: string;
- url: string;
- };
- type OauthAuthorizationsCheckAuthorizationResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type OauthAuthorizationsCheckAuthorizationResponseApp = {
- client_id: string;
- name: string;
- url: string;
- };
- type OauthAuthorizationsCheckAuthorizationResponse = {
- app: OauthAuthorizationsCheckAuthorizationResponseApp;
- created_at: string;
- fingerprint: string;
- hashed_token: string;
- id: number;
- note: string;
- note_url: string;
- scopes: Array;
- token: string;
- token_last_eight: string;
- updated_at: string;
- url: string;
- user: OauthAuthorizationsCheckAuthorizationResponseUser;
- };
- type MigrationsUpdateImportResponse = {
- authors_url: string;
- html_url: string;
- repository_url: string;
- status: string;
- url: string;
- use_lfs: string;
- vcs: string;
- vcs_url: string;
- authors_count?: number;
- commit_count?: number;
- has_large_files?: boolean;
- large_files_count?: number;
- large_files_size?: number;
- percent?: number;
- status_text?: string;
- tfvc_project?: string;
- };
- type MigrationsStartImportResponse = {
- authors_count: number;
- authors_url: string;
- commit_count: number;
- has_large_files: boolean;
- html_url: string;
- large_files_count: number;
- large_files_size: number;
- percent: number;
- repository_url: string;
- status: string;
- status_text: string;
- url: string;
- use_lfs: string;
- vcs: string;
- vcs_url: string;
- };
- type MigrationsStartForOrgResponseRepositoriesItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type MigrationsStartForOrgResponseRepositoriesItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsStartForOrgResponseRepositoriesItem = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: MigrationsStartForOrgResponseRepositoriesItemOwner;
- permissions: MigrationsStartForOrgResponseRepositoriesItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type MigrationsStartForOrgResponseOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type MigrationsStartForOrgResponse = {
- created_at: string;
- exclude_attachments: boolean;
- guid: string;
- id: number;
- lock_repositories: boolean;
- owner: MigrationsStartForOrgResponseOwner;
- repositories: Array;
- state: string;
- updated_at: string;
- url: string;
- };
- type MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsStartForAuthenticatedUserResponseRepositoriesItem = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: MigrationsStartForAuthenticatedUserResponseRepositoriesItemOwner;
- permissions: MigrationsStartForAuthenticatedUserResponseRepositoriesItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type MigrationsStartForAuthenticatedUserResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsStartForAuthenticatedUserResponse = {
- created_at: string;
- exclude_attachments: boolean;
- guid: string;
- id: number;
- lock_repositories: boolean;
- owner: MigrationsStartForAuthenticatedUserResponseOwner;
- repositories: Array<
- MigrationsStartForAuthenticatedUserResponseRepositoriesItem
- >;
- state: string;
- updated_at: string;
- url: string;
- };
- type MigrationsSetLfsPreferenceResponse = {
- authors_count: number;
- authors_url: string;
- has_large_files: boolean;
- html_url: string;
- large_files_count: number;
- large_files_size: number;
- repository_url: string;
- status: string;
- status_text: string;
- url: string;
- use_lfs: string;
- vcs: string;
- vcs_url: string;
- };
- type MigrationsMapCommitAuthorResponse = {
- email: string;
- id: number;
- import_url: string;
- name: string;
- remote_id: string;
- remote_name: string;
- url: string;
- };
- type MigrationsListReposForUserResponseItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type MigrationsListReposForUserResponseItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsListReposForUserResponseItemLicense = {
- key: string;
- name: string;
- node_id: string;
- spdx_id: string;
- url: string;
- };
- type MigrationsListReposForUserResponseItem = {
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- license: MigrationsListReposForUserResponseItemLicense;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: MigrationsListReposForUserResponseItemOwner;
- permissions: MigrationsListReposForUserResponseItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type MigrationsListReposForOrgResponseItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type MigrationsListReposForOrgResponseItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsListReposForOrgResponseItemLicense = {
- key: string;
- name: string;
- node_id: string;
- spdx_id: string;
- url: string;
- };
- type MigrationsListReposForOrgResponseItem = {
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- license: MigrationsListReposForOrgResponseItemLicense;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: MigrationsListReposForOrgResponseItemOwner;
- permissions: MigrationsListReposForOrgResponseItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type MigrationsListForOrgResponseItemRepositoriesItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type MigrationsListForOrgResponseItemRepositoriesItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsListForOrgResponseItemRepositoriesItem = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: MigrationsListForOrgResponseItemRepositoriesItemOwner;
- permissions: MigrationsListForOrgResponseItemRepositoriesItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type MigrationsListForOrgResponseItemOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type MigrationsListForOrgResponseItem = {
- created_at: string;
- exclude_attachments: boolean;
- guid: string;
- id: number;
- lock_repositories: boolean;
- owner: MigrationsListForOrgResponseItemOwner;
- repositories: Array;
- state: string;
- updated_at: string;
- url: string;
- };
- type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsListForAuthenticatedUserResponseItemRepositoriesItem = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: MigrationsListForAuthenticatedUserResponseItemRepositoriesItemOwner;
- permissions: MigrationsListForAuthenticatedUserResponseItemRepositoriesItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type MigrationsListForAuthenticatedUserResponseItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsListForAuthenticatedUserResponseItem = {
- created_at: string;
- exclude_attachments: boolean;
- guid: string;
- id: number;
- lock_repositories: boolean;
- owner: MigrationsListForAuthenticatedUserResponseItemOwner;
- repositories: Array<
- MigrationsListForAuthenticatedUserResponseItemRepositoriesItem
- >;
- state: string;
- updated_at: string;
- url: string;
- };
- type MigrationsGetStatusForOrgResponseRepositoriesItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type MigrationsGetStatusForOrgResponseRepositoriesItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsGetStatusForOrgResponseRepositoriesItem = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: MigrationsGetStatusForOrgResponseRepositoriesItemOwner;
- permissions: MigrationsGetStatusForOrgResponseRepositoriesItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type MigrationsGetStatusForOrgResponseOwner = {
- avatar_url: string;
- description: string;
- events_url: string;
- hooks_url: string;
- id: number;
- issues_url: string;
- login: string;
- members_url: string;
- node_id: string;
- public_members_url: string;
- repos_url: string;
- url: string;
- };
- type MigrationsGetStatusForOrgResponse = {
- created_at: string;
- exclude_attachments: boolean;
- guid: string;
- id: number;
- lock_repositories: boolean;
- owner: MigrationsGetStatusForOrgResponseOwner;
- repositories: Array;
- state: string;
- updated_at: string;
- url: string;
- };
- type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItem = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemOwner;
- permissions: MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItemPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type MigrationsGetStatusForAuthenticatedUserResponseOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type MigrationsGetStatusForAuthenticatedUserResponse = {
- created_at: string;
- exclude_attachments: boolean;
- guid: string;
- id: number;
- lock_repositories: boolean;
- owner: MigrationsGetStatusForAuthenticatedUserResponseOwner;
- repositories: Array<
- MigrationsGetStatusForAuthenticatedUserResponseRepositoriesItem
- >;
- state: string;
- updated_at: string;
- url: string;
- };
- type MigrationsGetLargeFilesResponseItem = {
- oid: string;
- path: string;
- ref_name: string;
- size: number;
- };
- type MigrationsGetImportProgressResponse = {
- authors_count: number;
- authors_url: string;
- has_large_files: boolean;
- html_url: string;
- large_files_count: number;
- large_files_size: number;
- repository_url: string;
- status: string;
- status_text: string;
- url: string;
- use_lfs: string;
- vcs: string;
- vcs_url: string;
- };
- type MigrationsGetCommitAuthorsResponseItem = {
- email: string;
- id: number;
- import_url: string;
- name: string;
- remote_id: string;
- remote_name: string;
- url: string;
- };
- type MetaGetResponseSshKeyFingerprints = {
- MD5_DSA: string;
- MD5_RSA: string;
- SHA256_DSA: string;
- SHA256_RSA: string;
- };
- type MetaGetResponse = {
- api: Array;
- git: Array;
- hooks: Array;
- importer: Array;
- pages: Array;
- ssh_key_fingerprints: MetaGetResponseSshKeyFingerprints;
- verifiable_password_authentication: boolean;
- web: Array;
- };
- type LicensesListCommonlyUsedResponseItem = {
- key: string;
- name: string;
- node_id?: string;
- spdx_id: string;
- url: string;
- };
- type LicensesListResponseItem = {
- key: string;
- name: string;
- node_id?: string;
- spdx_id: string;
- url: string;
- };
- type LicensesGetForRepoResponseLicense = {
- key: string;
- name: string;
- node_id: string;
- spdx_id: string;
- url: string;
- };
- type LicensesGetForRepoResponseLinks = {
- git: string;
- html: string;
- self: string;
- };
- type LicensesGetForRepoResponse = {
- _links: LicensesGetForRepoResponseLinks;
- content: string;
- download_url: string;
- encoding: string;
- git_url: string;
- html_url: string;
- license: LicensesGetForRepoResponseLicense;
- name: string;
- path: string;
- sha: string;
- size: number;
- type: string;
- url: string;
- };
- type LicensesGetResponse = {
- body: string;
- conditions: Array;
- description: string;
- featured: boolean;
- html_url: string;
- implementation: string;
- key: string;
- limitations: Array;
- name: string;
- node_id: string;
- permissions: Array;
- spdx_id: string;
- url: string;
- };
- type IssuesUpdateMilestoneResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesUpdateMilestoneResponse = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesUpdateMilestoneResponseCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesUpdateLabelResponse = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesUpdateCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesUpdateCommentResponse = {
- body: string;
- created_at: string;
- html_url: string;
- id: number;
- node_id: string;
- updated_at: string;
- url: string;
- user: IssuesUpdateCommentResponseUser;
- };
- type IssuesUpdateResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesUpdateResponsePullRequest = {
- diff_url: string;
- html_url: string;
- patch_url: string;
- url: string;
- };
- type IssuesUpdateResponseMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesUpdateResponseMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesUpdateResponseMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesUpdateResponseLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesUpdateResponseClosedBy = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesUpdateResponseAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesUpdateResponseAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesUpdateResponse = {
- active_lock_reason: string;
- assignee: IssuesUpdateResponseAssignee;
- assignees: Array;
- body: string;
- closed_at: null;
- closed_by: IssuesUpdateResponseClosedBy;
- comments: number;
- comments_url: string;
- created_at: string;
- events_url: string;
- html_url: string;
- id: number;
- labels: Array;
- labels_url: string;
- locked: boolean;
- milestone: IssuesUpdateResponseMilestone;
- node_id: string;
- number: number;
- pull_request: IssuesUpdateResponsePullRequest;
- repository_url: string;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- user: IssuesUpdateResponseUser;
- };
- type IssuesReplaceLabelsResponseItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesRemoveLabelResponseItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesRemoveAssigneesResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesRemoveAssigneesResponsePullRequest = {
- diff_url: string;
- html_url: string;
- patch_url: string;
- url: string;
- };
- type IssuesRemoveAssigneesResponseMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesRemoveAssigneesResponseMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesRemoveAssigneesResponseMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesRemoveAssigneesResponseLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesRemoveAssigneesResponseAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesRemoveAssigneesResponseAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesRemoveAssigneesResponse = {
- active_lock_reason: string;
- assignee: IssuesRemoveAssigneesResponseAssignee;
- assignees: Array;
- body: string;
- closed_at: null;
- comments: number;
- comments_url: string;
- created_at: string;
- events_url: string;
- html_url: string;
- id: number;
- labels: Array;
- labels_url: string;
- locked: boolean;
- milestone: IssuesRemoveAssigneesResponseMilestone;
- node_id: string;
- number: number;
- pull_request: IssuesRemoveAssigneesResponsePullRequest;
- repository_url: string;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- user: IssuesRemoveAssigneesResponseUser;
- };
- type IssuesListMilestonesForRepoResponseItemCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListMilestonesForRepoResponseItem = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesListMilestonesForRepoResponseItemCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesListLabelsOnIssueResponseItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesListLabelsForRepoResponseItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesListLabelsForMilestoneResponseItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesListForRepoResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForRepoResponseItemPullRequest = {
- diff_url: string;
- html_url: string;
- patch_url: string;
- url: string;
- };
- type IssuesListForRepoResponseItemMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForRepoResponseItemMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesListForRepoResponseItemMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesListForRepoResponseItemLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesListForRepoResponseItemAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForRepoResponseItemAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForRepoResponseItem = {
- active_lock_reason: string;
- assignee: IssuesListForRepoResponseItemAssignee;
- assignees: Array;
- body: string;
- closed_at: null;
- comments: number;
- comments_url: string;
- created_at: string;
- events_url: string;
- html_url: string;
- id: number;
- labels: Array;
- labels_url: string;
- locked: boolean;
- milestone: IssuesListForRepoResponseItemMilestone;
- node_id: string;
- number: number;
- pull_request: IssuesListForRepoResponseItemPullRequest;
- repository_url: string;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- user: IssuesListForRepoResponseItemUser;
- };
- type IssuesListForOrgResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForOrgResponseItemRepositoryPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type IssuesListForOrgResponseItemRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForOrgResponseItemRepository = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: IssuesListForOrgResponseItemRepositoryOwner;
- permissions: IssuesListForOrgResponseItemRepositoryPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type IssuesListForOrgResponseItemPullRequest = {
- diff_url: string;
- html_url: string;
- patch_url: string;
- url: string;
- };
- type IssuesListForOrgResponseItemMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForOrgResponseItemMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesListForOrgResponseItemMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesListForOrgResponseItemLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesListForOrgResponseItemAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForOrgResponseItemAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForOrgResponseItem = {
- active_lock_reason: string;
- assignee: IssuesListForOrgResponseItemAssignee;
- assignees: Array;
- body: string;
- closed_at: null;
- comments: number;
- comments_url: string;
- created_at: string;
- events_url: string;
- html_url: string;
- id: number;
- labels: Array;
- labels_url: string;
- locked: boolean;
- milestone: IssuesListForOrgResponseItemMilestone;
- node_id: string;
- number: number;
- pull_request: IssuesListForOrgResponseItemPullRequest;
- repository: IssuesListForOrgResponseItemRepository;
- repository_url: string;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- user: IssuesListForOrgResponseItemUser;
- };
- type IssuesListForAuthenticatedUserResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForAuthenticatedUserResponseItemRepositoryPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type IssuesListForAuthenticatedUserResponseItemRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForAuthenticatedUserResponseItemRepository = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: IssuesListForAuthenticatedUserResponseItemRepositoryOwner;
- permissions: IssuesListForAuthenticatedUserResponseItemRepositoryPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type IssuesListForAuthenticatedUserResponseItemPullRequest = {
- diff_url: string;
- html_url: string;
- patch_url: string;
- url: string;
- };
- type IssuesListForAuthenticatedUserResponseItemMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForAuthenticatedUserResponseItemMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesListForAuthenticatedUserResponseItemMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesListForAuthenticatedUserResponseItemLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesListForAuthenticatedUserResponseItemAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForAuthenticatedUserResponseItemAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListForAuthenticatedUserResponseItem = {
- active_lock_reason: string;
- assignee: IssuesListForAuthenticatedUserResponseItemAssignee;
- assignees: Array;
- body: string;
- closed_at: null;
- comments: number;
- comments_url: string;
- created_at: string;
- events_url: string;
- html_url: string;
- id: number;
- labels: Array;
- labels_url: string;
- locked: boolean;
- milestone: IssuesListForAuthenticatedUserResponseItemMilestone;
- node_id: string;
- number: number;
- pull_request: IssuesListForAuthenticatedUserResponseItemPullRequest;
- repository: IssuesListForAuthenticatedUserResponseItemRepository;
- repository_url: string;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- user: IssuesListForAuthenticatedUserResponseItemUser;
- };
- type IssuesListEventsForTimelineResponseItemActor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListEventsForTimelineResponseItem = {
- actor: IssuesListEventsForTimelineResponseItemActor;
- commit_id: string;
- commit_url: string;
- created_at: string;
- event: string;
- id: number;
- node_id: string;
- url: string;
- };
- type IssuesListEventsForRepoResponseItemIssueUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListEventsForRepoResponseItemIssuePullRequest = {
- diff_url: string;
- html_url: string;
- patch_url: string;
- url: string;
- };
- type IssuesListEventsForRepoResponseItemIssueMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListEventsForRepoResponseItemIssueMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesListEventsForRepoResponseItemIssueMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesListEventsForRepoResponseItemIssueLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesListEventsForRepoResponseItemIssueAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListEventsForRepoResponseItemIssueAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListEventsForRepoResponseItemIssue = {
- active_lock_reason: string;
- assignee: IssuesListEventsForRepoResponseItemIssueAssignee;
- assignees: Array;
- body: string;
- closed_at: null;
- comments: number;
- comments_url: string;
- created_at: string;
- events_url: string;
- html_url: string;
- id: number;
- labels: Array;
- labels_url: string;
- locked: boolean;
- milestone: IssuesListEventsForRepoResponseItemIssueMilestone;
- node_id: string;
- number: number;
- pull_request: IssuesListEventsForRepoResponseItemIssuePullRequest;
- repository_url: string;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- user: IssuesListEventsForRepoResponseItemIssueUser;
- };
- type IssuesListEventsForRepoResponseItemActor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListEventsForRepoResponseItem = {
- actor: IssuesListEventsForRepoResponseItemActor;
- commit_id: string;
- commit_url: string;
- created_at: string;
- event: string;
- id: number;
- issue: IssuesListEventsForRepoResponseItemIssue;
- node_id: string;
- url: string;
- };
- type IssuesListEventsResponseItemActor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListEventsResponseItem = {
- actor: IssuesListEventsResponseItemActor;
- commit_id: string;
- commit_url: string;
- created_at: string;
- event: string;
- id: number;
- node_id: string;
- url: string;
- };
- type IssuesListCommentsForRepoResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListCommentsForRepoResponseItem = {
- body: string;
- created_at: string;
- html_url: string;
- id: number;
- node_id: string;
- updated_at: string;
- url: string;
- user: IssuesListCommentsForRepoResponseItemUser;
- };
- type IssuesListCommentsResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListCommentsResponseItem = {
- body: string;
- created_at: string;
- html_url: string;
- id: number;
- node_id: string;
- updated_at: string;
- url: string;
- user: IssuesListCommentsResponseItemUser;
- };
- type IssuesListAssigneesResponseItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListResponseItemUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListResponseItemRepositoryPermissions = {
- admin: boolean;
- pull: boolean;
- push: boolean;
- };
- type IssuesListResponseItemRepositoryOwner = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListResponseItemRepository = {
- allow_merge_commit: boolean;
- allow_rebase_merge: boolean;
- allow_squash_merge: boolean;
- archive_url: string;
- archived: boolean;
- assignees_url: string;
- blobs_url: string;
- branches_url: string;
- clone_url: string;
- collaborators_url: string;
- comments_url: string;
- commits_url: string;
- compare_url: string;
- contents_url: string;
- contributors_url: string;
- created_at: string;
- default_branch: string;
- deployments_url: string;
- description: string;
- disabled: boolean;
- downloads_url: string;
- events_url: string;
- fork: boolean;
- forks_count: number;
- forks_url: string;
- full_name: string;
- git_commits_url: string;
- git_refs_url: string;
- git_tags_url: string;
- git_url: string;
- has_downloads: boolean;
- has_issues: boolean;
- has_pages: boolean;
- has_projects: boolean;
- has_wiki: boolean;
- homepage: string;
- hooks_url: string;
- html_url: string;
- id: number;
- is_template: boolean;
- issue_comment_url: string;
- issue_events_url: string;
- issues_url: string;
- keys_url: string;
- labels_url: string;
- language: null;
- languages_url: string;
- merges_url: string;
- milestones_url: string;
- mirror_url: string;
- name: string;
- network_count: number;
- node_id: string;
- notifications_url: string;
- open_issues_count: number;
- owner: IssuesListResponseItemRepositoryOwner;
- permissions: IssuesListResponseItemRepositoryPermissions;
- private: boolean;
- pulls_url: string;
- pushed_at: string;
- releases_url: string;
- size: number;
- ssh_url: string;
- stargazers_count: number;
- stargazers_url: string;
- statuses_url: string;
- subscribers_count: number;
- subscribers_url: string;
- subscription_url: string;
- svn_url: string;
- tags_url: string;
- teams_url: string;
- temp_clone_token: string;
- template_repository: null;
- topics: Array;
- trees_url: string;
- updated_at: string;
- url: string;
- visibility: string;
- watchers_count: number;
- };
- type IssuesListResponseItemPullRequest = {
- diff_url: string;
- html_url: string;
- patch_url: string;
- url: string;
- };
- type IssuesListResponseItemMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListResponseItemMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesListResponseItemMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesListResponseItemLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesListResponseItemAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListResponseItemAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesListResponseItem = {
- active_lock_reason: string;
- assignee: IssuesListResponseItemAssignee;
- assignees: Array;
- body: string;
- closed_at: null;
- comments: number;
- comments_url: string;
- created_at: string;
- events_url: string;
- html_url: string;
- id: number;
- labels: Array;
- labels_url: string;
- locked: boolean;
- milestone: IssuesListResponseItemMilestone;
- node_id: string;
- number: number;
- pull_request: IssuesListResponseItemPullRequest;
- repository: IssuesListResponseItemRepository;
- repository_url: string;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- user: IssuesListResponseItemUser;
- };
- type IssuesGetMilestoneResponseCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetMilestoneResponse = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesGetMilestoneResponseCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesGetLabelResponse = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesGetEventResponseIssueUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetEventResponseIssuePullRequest = {
- diff_url: string;
- html_url: string;
- patch_url: string;
- url: string;
- };
- type IssuesGetEventResponseIssueMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetEventResponseIssueMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesGetEventResponseIssueMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesGetEventResponseIssueLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesGetEventResponseIssueAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetEventResponseIssueAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetEventResponseIssue = {
- active_lock_reason: string;
- assignee: IssuesGetEventResponseIssueAssignee;
- assignees: Array;
- body: string;
- closed_at: null;
- comments: number;
- comments_url: string;
- created_at: string;
- events_url: string;
- html_url: string;
- id: number;
- labels: Array;
- labels_url: string;
- locked: boolean;
- milestone: IssuesGetEventResponseIssueMilestone;
- node_id: string;
- number: number;
- pull_request: IssuesGetEventResponseIssuePullRequest;
- repository_url: string;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- user: IssuesGetEventResponseIssueUser;
- };
- type IssuesGetEventResponseActor = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetEventResponse = {
- actor: IssuesGetEventResponseActor;
- commit_id: string;
- commit_url: string;
- created_at: string;
- event: string;
- id: number;
- issue: IssuesGetEventResponseIssue;
- node_id: string;
- url: string;
- };
- type IssuesGetCommentResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetCommentResponse = {
- body: string;
- created_at: string;
- html_url: string;
- id: number;
- node_id: string;
- updated_at: string;
- url: string;
- user: IssuesGetCommentResponseUser;
- };
- type IssuesGetResponseUser = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetResponsePullRequest = {
- diff_url: string;
- html_url: string;
- patch_url: string;
- url: string;
- };
- type IssuesGetResponseMilestoneCreator = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetResponseMilestone = {
- closed_at: string;
- closed_issues: number;
- created_at: string;
- creator: IssuesGetResponseMilestoneCreator;
- description: string;
- due_on: string;
- html_url: string;
- id: number;
- labels_url: string;
- node_id: string;
- number: number;
- open_issues: number;
- state: string;
- title: string;
- updated_at: string;
- url: string;
- };
- type IssuesGetResponseLabelsItem = {
- color: string;
- default: boolean;
- description: string;
- id: number;
- name: string;
- node_id: string;
- url: string;
- };
- type IssuesGetResponseClosedBy = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetResponseAssigneesItem = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetResponseAssignee = {
- avatar_url: string;
- events_url: string;
- followers_url: string;
- following_url: string;
- gists_url: string;
- gravatar_id: string;
- html_url: string;
- id: number;
- login: string;
- node_id: string;
- organizations_url: string;
- received_events_url: string;
- repos_url: string;
- site_admin: boolean;
- starred_url: string;
- subscriptions_url: string;
- type: string;
- url: string;
- };
- type IssuesGetResponse = {
- active_lock_reason: string;
- assignee: IssuesGetResponseAssignee;
- assignees: Array