Compare commits

...

46 Commits

Author SHA1 Message Date
copilot-swe-agent[bot]
393c074965 Refactor existing telemetry diagnostics to use makeTelemetryDiagnostic
Refactored bundle-download-telemetry and zstd-availability diagnostics
in init-action.ts to use the new makeTelemetryDiagnostic helper function.
Also added guard for empty languages array in logGitVersionTelemetry.

Co-authored-by: henrymercer <14129055+henrymercer@users.noreply.github.com>
2025-12-16 17:24:57 +00:00
copilot-swe-agent[bot]
c3dc529aef Address feedback: cache git version, improve error handling, add telemetry
- Cache the git version to avoid recomputing on repeated calls
- Refactor getGitVersion to getGitVersionOrThrow with detailed errors
- Add getGitVersion that logs errors and handles caching
- Add makeTelemetryDiagnostic helper to diagnostics.ts
- Add logGitVersionTelemetry function to log git version telemetry
- Call logGitVersionTelemetry in init-action.ts
- Add resetCachedGitVersion for testing
- Update tests to work with new function signatures and caching

Co-authored-by: henrymercer <14129055+henrymercer@users.noreply.github.com>
2025-12-16 17:19:46 +00:00
copilot-swe-agent[bot]
fc2bbb041e Address code review feedback
- Add test for Windows-style git version format
- Add comment clarifying regex extracts major.minor.patch
- Replace dynamic import with static import for semver

Co-authored-by: henrymercer <14129055+henrymercer@users.noreply.github.com>
2025-12-16 16:27:41 +00:00
copilot-swe-agent[bot]
89753aa84b Add git version check for overlay analysis enablement
Overlay analysis depends on `getFileOidsUnderPath`, which uses
`git ls-files --format` option that requires Git 2.38.0+. This
change adds a check for the git version before enabling overlay
analysis.

Co-authored-by: henrymercer <14129055+henrymercer@users.noreply.github.com>
2025-12-16 16:22:23 +00:00
copilot-swe-agent[bot]
aff7998c4a Initial plan 2025-12-16 16:09:09 +00:00
Henry Mercer
c07cc0d3a9 Merge pull request #3351 from github/henrymercer/ghec-dr-determine-tools-version-from-ffs
Determine CodeQL version from feature flags on GHEC-DR
2025-12-16 13:42:01 +00:00
Henry Mercer
a2ee53c0d3 Use full names for GitHub variants 2025-12-16 13:23:24 +00:00
Michael B. Gale
b5e1a28b8a Merge pull request #3365 from github/dependabot/github_actions/dot-github/workflows/actions/download-artifact-7
Bump actions/download-artifact from 6 to 7 in /.github/workflows
2025-12-16 12:17:14 +00:00
Michael B. Gale
c2d4383e64 Merge branch 'main' into dependabot/github_actions/dot-github/workflows/actions/download-artifact-7 2025-12-15 22:00:03 +00:00
Michael B. Gale
d0ad1da72a Merge pull request #3364 from github/dependabot/github_actions/dot-github/workflows/actions-minor-8751820eb1
Bump ruby/setup-ruby from 1.269.0 to 1.270.0 in /.github/workflows in the actions-minor group across 1 directory
2025-12-15 21:08:40 +00:00
Michael B. Gale
07cd437640 Merge pull request #3366 from github/dependabot/github_actions/dot-github/workflows/actions/upload-artifact-6
Bump actions/upload-artifact from 5 to 6 in /.github/workflows
2025-12-15 18:18:05 +00:00
Michael B. Gale
a682bbe410 Merge pull request #3309 from github/mbg/ff/make-new-upload-default
Remove `AnalyzeUseNewUpload` FF and make its behaviour the default
2025-12-15 17:24:57 +00:00
github-actions[bot]
7fd7db3f26 Rebuild 2025-12-15 17:20:17 +00:00
github-actions[bot]
d6c1a791b7 Rebuild 2025-12-15 17:20:02 +00:00
dependabot[bot]
034374eb3f Bump actions/upload-artifact from 5 to 6 in /.github/workflows
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 17:18:40 +00:00
dependabot[bot]
6dbc22c93f Bump actions/download-artifact from 6 to 7 in /.github/workflows
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 17:18:32 +00:00
dependabot[bot]
a539068a61 Bump ruby/setup-ruby
Bumps the actions-minor group with 1 update in the /.github/workflows directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby).


Updates `ruby/setup-ruby` from 1.269.0 to 1.270.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](d697be2f83...ac793fdd38)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.270.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-15 17:18:28 +00:00
Michael B. Gale
b30cb9ae2a Merge branch 'main' into mbg/ff/make-new-upload-default 2025-12-15 16:28:30 +00:00
Michael B. Gale
009fe6b0c1 Remove AnalyzeUseNewUpload FF 2025-12-15 16:27:29 +00:00
Michael B. Gale
b1dea65f65 Make postProcessAndUploadSarif the default 2025-12-15 16:27:19 +00:00
Henry Mercer
7e0b77e3a8 Merge pull request #3349 from github/dependabot/github_actions/dot-github/workflows/actions-minor-dc476f2f5b
Bump the actions-minor group across 1 directory with 2 updates
2025-12-15 15:38:25 +00:00
Henry Mercer
0264b51610 Merge pull request #3348 from github/dependabot/npm_and_yarn/npm-minor-38a2a793c5
Bump the npm-minor group with 5 updates
2025-12-15 15:37:54 +00:00
Henry Mercer
2ac846d41e Merge branch 'main' into dependabot/npm_and_yarn/npm-minor-38a2a793c5 2025-12-15 14:12:45 +00:00
Óscar San José
4b675e451b Merge pull request #3356 from github/mergeback/v4.31.8-to-main-1b168cd3
Mergeback v4.31.8 refs/heads/releases/v4 into main
2025-12-12 10:48:29 +01:00
github-actions[bot]
65bad627f3 Rebuild 2025-12-12 08:52:54 +00:00
github-actions[bot]
4564f5e482 Update changelog and version after v4.31.8 2025-12-12 08:44:31 +00:00
Óscar San José
1b168cd394 Merge pull request #3355 from github/update-v4.31.8-1b0b941e1
Merge main into releases/v4
2025-12-12 09:43:00 +01:00
github-actions[bot]
120f277b16 Update changelog for v4.31.8 2025-12-11 17:23:34 +00:00
Óscar San José
1b0b941e1f Merge pull request #3354 from github/update-bundle/codeql-bundle-v2.23.8
Update default bundle to 2.23.8
2025-12-11 17:25:18 +01:00
github-actions[bot]
db812c1ae6 Add changelog note 2025-12-11 15:46:24 +00:00
github-actions[bot]
2930dba17a Update default bundle to codeql-bundle-v2.23.8 2025-12-11 15:46:14 +00:00
Henry Mercer
da501245d4 Update PR template to include GHEC-DR 2025-12-10 17:41:20 +00:00
Henry Mercer
1fc7d3785d Rename GHE_DOTCOM to GHEC_DR
This more closely reflects the published naming https://docs.github.com/en/enterprise-cloud@latest/admin/data-residency/about-github-enterprise-cloud-with-data-residency
2025-12-10 17:41:19 +00:00
Henry Mercer
7a55ffeaf1 Determine CodeQL version from feature flags on GHEC-DR 2025-12-10 17:35:27 +00:00
Kasper Svendsen
c43362b91a Merge pull request #3340 from github/kaspersv/check-for-overlayBaseSpecifier
Overlay: Check database metadata for overlayBaseSpecifier
2025-12-09 11:37:30 +01:00
Kasper Svendsen
002a7f25fd Overlay: log overlayBaseSpecifier at debug log-level 2025-12-09 09:44:56 +01:00
Kasper Svendsen
5b7e7fcc9c Update src/codeql.ts
Co-authored-by: Henry Mercer <henrymercer@github.com>
2025-12-09 09:41:33 +01:00
github-actions[bot]
cd48547da5 Rebuild 2025-12-08 17:18:17 +00:00
dependabot[bot]
44570be32d Bump the actions-minor group across 1 directory with 2 updates
Bumps the actions-minor group with 2 updates in the /.github/workflows directory: [ruby/setup-ruby](https://github.com/ruby/setup-ruby) and [actions/create-github-app-token](https://github.com/actions/create-github-app-token).


Updates `ruby/setup-ruby` from 1.268.0 to 1.269.0
- [Release notes](https://github.com/ruby/setup-ruby/releases)
- [Changelog](https://github.com/ruby/setup-ruby/blob/master/release.rb)
- [Commits](8aeb6ff803...d697be2f83)

Updates `actions/create-github-app-token` from 2.2.0 to 2.2.1
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/v2.2.0...v2.2.1)

---
updated-dependencies:
- dependency-name: ruby/setup-ruby
  dependency-version: 1.269.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: actions-minor
- dependency-name: actions/create-github-app-token
  dependency-version: 2.2.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: actions-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 17:16:45 +00:00
github-actions[bot]
b73d396b48 Rebuild 2025-12-08 17:03:51 +00:00
dependabot[bot]
0ffebf72b2 Bump the npm-minor group with 5 updates
Bumps the npm-minor group with 5 updates:

| Package | From | To |
| --- | --- | --- |
| [node-forge](https://github.com/digitalbazaar/forge) | `1.3.2` | `1.3.3` |
| [@typescript-eslint/eslint-plugin](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/eslint-plugin) | `8.48.0` | `8.48.1` |
| [@typescript-eslint/parser](https://github.com/typescript-eslint/typescript-eslint/tree/HEAD/packages/parser) | `8.48.0` | `8.48.1` |
| [esbuild](https://github.com/evanw/esbuild) | `0.27.0` | `0.27.1` |
| [eslint-plugin-jsdoc](https://github.com/gajus/eslint-plugin-jsdoc) | `61.4.1` | `61.5.0` |


Updates `node-forge` from 1.3.2 to 1.3.3
- [Changelog](https://github.com/digitalbazaar/forge/blob/main/CHANGELOG.md)
- [Commits](https://github.com/digitalbazaar/forge/compare/v1.3.2...v1.3.3)

Updates `@typescript-eslint/eslint-plugin` from 8.48.0 to 8.48.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/eslint-plugin/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.1/packages/eslint-plugin)

Updates `@typescript-eslint/parser` from 8.48.0 to 8.48.1
- [Release notes](https://github.com/typescript-eslint/typescript-eslint/releases)
- [Changelog](https://github.com/typescript-eslint/typescript-eslint/blob/main/packages/parser/CHANGELOG.md)
- [Commits](https://github.com/typescript-eslint/typescript-eslint/commits/v8.48.1/packages/parser)

Updates `esbuild` from 0.27.0 to 0.27.1
- [Release notes](https://github.com/evanw/esbuild/releases)
- [Changelog](https://github.com/evanw/esbuild/blob/main/CHANGELOG.md)
- [Commits](https://github.com/evanw/esbuild/compare/v0.27.0...v0.27.1)

Updates `eslint-plugin-jsdoc` from 61.4.1 to 61.5.0
- [Release notes](https://github.com/gajus/eslint-plugin-jsdoc/releases)
- [Commits](https://github.com/gajus/eslint-plugin-jsdoc/compare/v61.4.1...v61.5.0)

---
updated-dependencies:
- dependency-name: node-forge
  dependency-version: 1.3.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@typescript-eslint/eslint-plugin"
  dependency-version: 8.48.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: "@typescript-eslint/parser"
  dependency-version: 8.48.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: esbuild
  dependency-version: 0.27.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
  dependency-group: npm-minor
- dependency-name: eslint-plugin-jsdoc
  dependency-version: 61.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
  dependency-group: npm-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-12-08 17:02:12 +00:00
Óscar San José
149d184a51 Merge pull request #3345 from github/mergeback/v4.31.7-to-main-cf1bb45a
Mergeback v4.31.7 refs/heads/releases/v4 into main
2025-12-05 21:43:41 +01:00
github-actions[bot]
97c2630b10 Rebuild 2025-12-05 17:21:46 +00:00
github-actions[bot]
b93926dc35 Update changelog and version after v4.31.7 2025-12-05 17:19:09 +00:00
Kasper Svendsen
c4efbda299 Overlay: Check database metadata for overlayBaseSpecifier 2025-12-03 13:40:24 +01:00
Kasper Svendsen
dd8914320f CodeQL: Add resolveDatabase method 2025-12-03 13:40:24 +01:00
55 changed files with 4558 additions and 3977 deletions

View File

@@ -34,7 +34,7 @@ Products:
Environments:
- **Dotcom** - Impacts CodeQL workflows on `github.com`.
- **Dotcom** - Impacts CodeQL workflows on `github.com` and/or GitHub Enterprise Cloud with Data Residency.
- **GHES** - Impacts CodeQL workflows on GitHub Enterprise Server.
- **Testing/None** - This change does not impact any CodeQL workflows in production.

View File

@@ -79,7 +79,7 @@ jobs:
output: ${{ runner.temp }}/results
upload-database: false
- name: Upload SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: ${{ matrix.os }}-zstd-bundle.sarif
path: ${{ runner.temp }}/results/javascript.sarif

View File

@@ -67,7 +67,7 @@ jobs:
output: ${{ runner.temp }}/results
upload-database: false
- name: Upload SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: config-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: ${{ runner.temp }}/results/javascript.sarif

View File

@@ -78,7 +78,7 @@ jobs:
output: ${{ runner.temp }}/results
upload-database: false
- name: Upload SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: ${{ runner.temp }}/results/javascript.sarif

View File

@@ -99,7 +99,7 @@ jobs:
with:
output: ${{ runner.temp }}/results
- name: Upload SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: ${{ runner.temp }}/results/javascript.sarif

View File

@@ -64,7 +64,7 @@ jobs:
with:
output: ${{ runner.temp }}/results
- name: Upload SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: ${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: ${{ runner.temp }}/results/javascript.sarif

View File

@@ -83,7 +83,7 @@ jobs:
post-processed-sarif-path: ${{ runner.temp }}/post-processed
- name: Upload security SARIF
if: contains(matrix.analysis-kinds, 'code-scanning')
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: |
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
@@ -91,14 +91,14 @@ jobs:
retention-days: 7
- name: Upload quality SARIF
if: contains(matrix.analysis-kinds, 'code-quality')
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: |
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.quality.sarif.json
path: ${{ runner.temp }}/results/javascript.quality.sarif
retention-days: 7
- name: Upload post-processed SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: |
post-processed-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json

View File

@@ -56,7 +56,7 @@ jobs:
use-all-platform-bundle: 'false'
setup-kotlin: 'true'
- name: Set up Ruby
uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
uses: ruby/setup-ruby@ac793fdd38cc468a4dd57246fa9d0e868aba9085 # v1.270.0
with:
ruby-version: 2.6
- name: Install Code Scanning integration

View File

@@ -83,7 +83,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download all artifacts
uses: actions/download-artifact@v6
uses: actions/download-artifact@v7
- name: Check expected artifacts exist
run: |
LANGUAGES="cpp csharp go java javascript python"

View File

@@ -77,7 +77,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Download all artifacts
uses: actions/download-artifact@v6
uses: actions/download-artifact@v7
- name: Check expected artifacts exist
run: |
VERSIONS="stable-v2.20.3 default linked nightly-latest"

View File

@@ -142,7 +142,7 @@ jobs:
token: "${{ secrets.GITHUB_TOKEN }}"
- name: Generate token
uses: actions/create-github-app-token@v2.2.0
uses: actions/create-github-app-token@v2.2.1
id: app-token
with:
app-id: ${{ vars.AUTOMATION_APP_ID }}

View File

@@ -137,7 +137,7 @@ jobs:
- name: Generate token
if: github.event_name == 'workflow_dispatch'
uses: actions/create-github-app-token@v2.2.0
uses: actions/create-github-app-token@v2.2.1
id: app-token
with:
app-id: ${{ vars.AUTOMATION_APP_ID }}

View File

@@ -93,7 +93,7 @@ jobs:
pull-requests: write # needed to create pull request
steps:
- name: Generate token
uses: actions/create-github-app-token@v2.2.0
uses: actions/create-github-app-token@v2.2.1
id: app-token
with:
app-id: ${{ vars.AUTOMATION_APP_ID }}

View File

@@ -2,6 +2,14 @@
See the [releases page](https://github.com/github/codeql-action/releases) for the relevant changes to the CodeQL CLI and language packs.
## [UNRELEASED]
No user facing changes.
## 4.31.8 - 11 Dec 2025
- Update default CodeQL bundle version to 2.23.8. [#3354](https://github.com/github/codeql-action/pull/3354)
## 4.31.7 - 05 Dec 2025
- Update default CodeQL bundle version to 2.23.7. [#3343](https://github.com/github/codeql-action/pull/3343)

File diff suppressed because it is too large Load Diff

846
lib/analyze-action.js generated

File diff suppressed because it is too large Load Diff

514
lib/autobuild-action.js generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,6 @@
{
"bundleVersion": "codeql-bundle-v2.23.7",
"cliVersion": "2.23.7",
"priorBundleVersion": "codeql-bundle-v2.23.6",
"priorCliVersion": "2.23.6"
"bundleVersion": "codeql-bundle-v2.23.8",
"cliVersion": "2.23.8",
"priorBundleVersion": "codeql-bundle-v2.23.7",
"priorCliVersion": "2.23.7"
}

679
lib/init-action-post.js generated

File diff suppressed because it is too large Load Diff

881
lib/init-action.js generated

File diff suppressed because it is too large Load Diff

View File

@@ -539,67 +539,67 @@ var require_tunnel2 = __commonJS({
var require_symbols = __commonJS({
"node_modules/undici/lib/core/symbols.js"(exports2, module2) {
module2.exports = {
kClose: Symbol("close"),
kDestroy: Symbol("destroy"),
kDispatch: Symbol("dispatch"),
kUrl: Symbol("url"),
kWriting: Symbol("writing"),
kResuming: Symbol("resuming"),
kQueue: Symbol("queue"),
kConnect: Symbol("connect"),
kConnecting: Symbol("connecting"),
kHeadersList: Symbol("headers list"),
kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"),
kKeepAliveMaxTimeout: Symbol("max keep alive timeout"),
kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"),
kKeepAliveTimeoutValue: Symbol("keep alive timeout"),
kKeepAlive: Symbol("keep alive"),
kHeadersTimeout: Symbol("headers timeout"),
kBodyTimeout: Symbol("body timeout"),
kServerName: Symbol("server name"),
kLocalAddress: Symbol("local address"),
kHost: Symbol("host"),
kNoRef: Symbol("no ref"),
kBodyUsed: Symbol("used"),
kRunning: Symbol("running"),
kBlocking: Symbol("blocking"),
kPending: Symbol("pending"),
kSize: Symbol("size"),
kBusy: Symbol("busy"),
kQueued: Symbol("queued"),
kFree: Symbol("free"),
kConnected: Symbol("connected"),
kClosed: Symbol("closed"),
kNeedDrain: Symbol("need drain"),
kReset: Symbol("reset"),
kDestroyed: Symbol.for("nodejs.stream.destroyed"),
kMaxHeadersSize: Symbol("max headers size"),
kRunningIdx: Symbol("running index"),
kPendingIdx: Symbol("pending index"),
kError: Symbol("error"),
kClients: Symbol("clients"),
kClient: Symbol("client"),
kParser: Symbol("parser"),
kOnDestroyed: Symbol("destroy callbacks"),
kPipelining: Symbol("pipelining"),
kSocket: Symbol("socket"),
kHostHeader: Symbol("host header"),
kConnector: Symbol("connector"),
kStrictContentLength: Symbol("strict content length"),
kMaxRedirections: Symbol("maxRedirections"),
kMaxRequests: Symbol("maxRequestsPerClient"),
kProxy: Symbol("proxy agent options"),
kCounter: Symbol("socket request counter"),
kInterceptors: Symbol("dispatch interceptors"),
kMaxResponseSize: Symbol("max response size"),
kHTTP2Session: Symbol("http2Session"),
kHTTP2SessionState: Symbol("http2Session state"),
kHTTP2BuildRequest: Symbol("http2 build request"),
kHTTP1BuildRequest: Symbol("http1 build request"),
kHTTP2CopyHeaders: Symbol("http2 copy headers"),
kHTTPConnVersion: Symbol("http connection version"),
kRetryHandlerDefaultRetry: Symbol("retry agent default retry"),
kConstruct: Symbol("constructable")
kClose: /* @__PURE__ */ Symbol("close"),
kDestroy: /* @__PURE__ */ Symbol("destroy"),
kDispatch: /* @__PURE__ */ Symbol("dispatch"),
kUrl: /* @__PURE__ */ Symbol("url"),
kWriting: /* @__PURE__ */ Symbol("writing"),
kResuming: /* @__PURE__ */ Symbol("resuming"),
kQueue: /* @__PURE__ */ Symbol("queue"),
kConnect: /* @__PURE__ */ Symbol("connect"),
kConnecting: /* @__PURE__ */ Symbol("connecting"),
kHeadersList: /* @__PURE__ */ Symbol("headers list"),
kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
kServerName: /* @__PURE__ */ Symbol("server name"),
kLocalAddress: /* @__PURE__ */ Symbol("local address"),
kHost: /* @__PURE__ */ Symbol("host"),
kNoRef: /* @__PURE__ */ Symbol("no ref"),
kBodyUsed: /* @__PURE__ */ Symbol("used"),
kRunning: /* @__PURE__ */ Symbol("running"),
kBlocking: /* @__PURE__ */ Symbol("blocking"),
kPending: /* @__PURE__ */ Symbol("pending"),
kSize: /* @__PURE__ */ Symbol("size"),
kBusy: /* @__PURE__ */ Symbol("busy"),
kQueued: /* @__PURE__ */ Symbol("queued"),
kFree: /* @__PURE__ */ Symbol("free"),
kConnected: /* @__PURE__ */ Symbol("connected"),
kClosed: /* @__PURE__ */ Symbol("closed"),
kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
kReset: /* @__PURE__ */ Symbol("reset"),
kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
kRunningIdx: /* @__PURE__ */ Symbol("running index"),
kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
kError: /* @__PURE__ */ Symbol("error"),
kClients: /* @__PURE__ */ Symbol("clients"),
kClient: /* @__PURE__ */ Symbol("client"),
kParser: /* @__PURE__ */ Symbol("parser"),
kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
kPipelining: /* @__PURE__ */ Symbol("pipelining"),
kSocket: /* @__PURE__ */ Symbol("socket"),
kHostHeader: /* @__PURE__ */ Symbol("host header"),
kConnector: /* @__PURE__ */ Symbol("connector"),
kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
kCounter: /* @__PURE__ */ Symbol("socket request counter"),
kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"),
kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
kConstruct: /* @__PURE__ */ Symbol("constructable")
};
}
});
@@ -3594,7 +3594,7 @@ var require_constants2 = __commonJS({
var require_global = __commonJS({
"node_modules/undici/lib/fetch/global.js"(exports2, module2) {
"use strict";
var globalOrigin = Symbol.for("undici.globalOrigin.1");
var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
function getGlobalOrigin() {
return globalThis[globalOrigin];
}
@@ -4246,12 +4246,12 @@ var require_symbols2 = __commonJS({
"node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kUrl: Symbol("url"),
kHeaders: Symbol("headers"),
kSignal: Symbol("signal"),
kState: Symbol("state"),
kGuard: Symbol("guard"),
kRealm: Symbol("realm")
kUrl: /* @__PURE__ */ Symbol("url"),
kHeaders: /* @__PURE__ */ Symbol("headers"),
kSignal: /* @__PURE__ */ Symbol("signal"),
kState: /* @__PURE__ */ Symbol("state"),
kGuard: /* @__PURE__ */ Symbol("guard"),
kRealm: /* @__PURE__ */ Symbol("realm")
};
}
});
@@ -5644,7 +5644,7 @@ var require_request = __commonJS({
var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
var invalidPathRegex = /[^\u0021-\u00ff]/;
var kHandler = Symbol("handler");
var kHandler = /* @__PURE__ */ Symbol("handler");
var channels = {};
var extractBody;
try {
@@ -6031,11 +6031,11 @@ var require_dispatcher_base = __commonJS({
InvalidArgumentError
} = require_errors();
var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols();
var kDestroyed = Symbol("destroyed");
var kClosed = Symbol("closed");
var kOnDestroyed = Symbol("onDestroyed");
var kOnClosed = Symbol("onClosed");
var kInterceptedDispatch = Symbol("Intercepted Dispatch");
var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
var kClosed = /* @__PURE__ */ Symbol("closed");
var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
var DispatcherBase = class extends Dispatcher {
constructor() {
super();
@@ -6690,7 +6690,7 @@ var require_RedirectHandler = __commonJS({
var { InvalidArgumentError } = require_errors();
var EE = require("events");
var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
var kBody = Symbol("body");
var kBody = /* @__PURE__ */ Symbol("body");
var BodyAsyncIterable = class {
constructor(body) {
this[kBody] = body;
@@ -6964,7 +6964,7 @@ var require_client = __commonJS({
} = http2;
var h2ExperimentalWarned = false;
var FastBuffer = Buffer[Symbol.species];
var kClosedResolve = Symbol("kClosedResolve");
var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
var channels = {};
try {
const diagnosticsChannel = require("diagnostics_channel");
@@ -8634,7 +8634,7 @@ var require_fixed_queue = __commonJS({
var require_pool_stats = __commonJS({
"node_modules/undici/lib/pool-stats.js"(exports2, module2) {
var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols();
var kPool = Symbol("pool");
var kPool = /* @__PURE__ */ Symbol("pool");
var PoolStats = class {
constructor(pool) {
this[kPool] = pool;
@@ -8670,18 +8670,18 @@ var require_pool_base = __commonJS({
var FixedQueue = require_fixed_queue();
var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols();
var PoolStats = require_pool_stats();
var kClients = Symbol("clients");
var kNeedDrain = Symbol("needDrain");
var kQueue = Symbol("queue");
var kClosedResolve = Symbol("closed resolve");
var kOnDrain = Symbol("onDrain");
var kOnConnect = Symbol("onConnect");
var kOnDisconnect = Symbol("onDisconnect");
var kOnConnectionError = Symbol("onConnectionError");
var kGetDispatcher = Symbol("get dispatcher");
var kAddClient = Symbol("add client");
var kRemoveClient = Symbol("remove client");
var kStats = Symbol("stats");
var kClients = /* @__PURE__ */ Symbol("clients");
var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
var kQueue = /* @__PURE__ */ Symbol("queue");
var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
var kAddClient = /* @__PURE__ */ Symbol("add client");
var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
var kStats = /* @__PURE__ */ Symbol("stats");
var PoolBase = class extends DispatcherBase {
constructor() {
super();
@@ -8835,9 +8835,9 @@ var require_pool = __commonJS({
var util = require_util();
var { kUrl, kInterceptors } = require_symbols();
var buildConnector = require_connect();
var kOptions = Symbol("options");
var kConnections = Symbol("connections");
var kFactory = Symbol("factory");
var kOptions = /* @__PURE__ */ Symbol("options");
var kConnections = /* @__PURE__ */ Symbol("connections");
var kFactory = /* @__PURE__ */ Symbol("factory");
function defaultFactory(origin, opts) {
return new Client(origin, opts);
}
@@ -8926,14 +8926,14 @@ var require_balanced_pool = __commonJS({
var Pool = require_pool();
var { kUrl, kInterceptors } = require_symbols();
var { parseOrigin } = require_util();
var kFactory = Symbol("factory");
var kOptions = Symbol("options");
var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor");
var kCurrentWeight = Symbol("kCurrentWeight");
var kIndex = Symbol("kIndex");
var kWeight = Symbol("kWeight");
var kMaxWeightPerServer = Symbol("kMaxWeightPerServer");
var kErrorPenalty = Symbol("kErrorPenalty");
var kFactory = /* @__PURE__ */ Symbol("factory");
var kOptions = /* @__PURE__ */ Symbol("options");
var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
var kIndex = /* @__PURE__ */ Symbol("kIndex");
var kWeight = /* @__PURE__ */ Symbol("kWeight");
var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
function getGreatestCommonDivisor(a, b) {
if (b === 0) return a;
return getGreatestCommonDivisor(b, a % b);
@@ -9096,14 +9096,14 @@ var require_agent = __commonJS({
var util = require_util();
var createRedirectInterceptor = require_redirectInterceptor();
var { WeakRef: WeakRef2, FinalizationRegistry } = require_dispatcher_weakref()();
var kOnConnect = Symbol("onConnect");
var kOnDisconnect = Symbol("onDisconnect");
var kOnConnectionError = Symbol("onConnectionError");
var kMaxRedirections = Symbol("maxRedirections");
var kOnDrain = Symbol("onDrain");
var kFactory = Symbol("factory");
var kFinalizer = Symbol("finalizer");
var kOptions = Symbol("options");
var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
var kFactory = /* @__PURE__ */ Symbol("factory");
var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
var kOptions = /* @__PURE__ */ Symbol("options");
function defaultFactory(origin, opts) {
return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
}
@@ -9212,11 +9212,11 @@ var require_readable = __commonJS({
var util = require_util();
var { ReadableStreamFrom, toUSVString } = require_util();
var Blob2;
var kConsume = Symbol("kConsume");
var kReading = Symbol("kReading");
var kBody = Symbol("kBody");
var kAbort = Symbol("abort");
var kContentType = Symbol("kContentType");
var kConsume = /* @__PURE__ */ Symbol("kConsume");
var kReading = /* @__PURE__ */ Symbol("kReading");
var kBody = /* @__PURE__ */ Symbol("kBody");
var kAbort = /* @__PURE__ */ Symbol("abort");
var kContentType = /* @__PURE__ */ Symbol("kContentType");
var noop = () => {
};
module2.exports = class BodyReadable extends Readable {
@@ -9502,8 +9502,8 @@ var require_abort_signal = __commonJS({
"node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
var { addAbortListener } = require_util();
var { RequestAbortedError } = require_errors();
var kListener = Symbol("kListener");
var kSignal = Symbol("kSignal");
var kListener = /* @__PURE__ */ Symbol("kListener");
var kSignal = /* @__PURE__ */ Symbol("kSignal");
function abort(self2) {
if (self2.abort) {
self2.abort();
@@ -9892,7 +9892,7 @@ var require_api_pipeline = __commonJS({
var { AsyncResource } = require("async_hooks");
var { addSignal, removeSignal } = require_abort_signal();
var assert = require("assert");
var kResume = Symbol("resume");
var kResume = /* @__PURE__ */ Symbol("resume");
var PipelineRequest = class extends Readable {
constructor() {
super({ autoDestroy: true });
@@ -10286,25 +10286,25 @@ var require_mock_symbols = __commonJS({
"node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kAgent: Symbol("agent"),
kOptions: Symbol("options"),
kFactory: Symbol("factory"),
kDispatches: Symbol("dispatches"),
kDispatchKey: Symbol("dispatch key"),
kDefaultHeaders: Symbol("default headers"),
kDefaultTrailers: Symbol("default trailers"),
kContentLength: Symbol("content length"),
kMockAgent: Symbol("mock agent"),
kMockAgentSet: Symbol("mock agent set"),
kMockAgentGet: Symbol("mock agent get"),
kMockDispatch: Symbol("mock dispatch"),
kClose: Symbol("close"),
kOriginalClose: Symbol("original agent close"),
kOrigin: Symbol("origin"),
kIsMockActive: Symbol("is mock active"),
kNetConnect: Symbol("net connect"),
kGetNetConnect: Symbol("get net connect"),
kConnected: Symbol("connected")
kAgent: /* @__PURE__ */ Symbol("agent"),
kOptions: /* @__PURE__ */ Symbol("options"),
kFactory: /* @__PURE__ */ Symbol("factory"),
kDispatches: /* @__PURE__ */ Symbol("dispatches"),
kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
kContentLength: /* @__PURE__ */ Symbol("content length"),
kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
kClose: /* @__PURE__ */ Symbol("close"),
kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
kOrigin: /* @__PURE__ */ Symbol("origin"),
kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
kNetConnect: /* @__PURE__ */ Symbol("net connect"),
kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
kConnected: /* @__PURE__ */ Symbol("connected")
};
}
});
@@ -11076,12 +11076,12 @@ var require_proxy_agent = __commonJS({
var DispatcherBase = require_dispatcher_base();
var { InvalidArgumentError, RequestAbortedError } = require_errors();
var buildConnector = require_connect();
var kAgent = Symbol("proxy agent");
var kClient = Symbol("proxy client");
var kProxyHeaders = Symbol("proxy headers");
var kRequestTls = Symbol("request tls settings");
var kProxyTls = Symbol("proxy tls settings");
var kConnectEndpoint = Symbol("connect endpoint function");
var kAgent = /* @__PURE__ */ Symbol("proxy agent");
var kClient = /* @__PURE__ */ Symbol("proxy client");
var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
function defaultProtocolPort(protocol) {
return protocol === "https:" ? 443 : 80;
}
@@ -11488,7 +11488,7 @@ var require_RetryHandler = __commonJS({
var require_global2 = __commonJS({
"node_modules/undici/lib/global.js"(exports2, module2) {
"use strict";
var globalDispatcher = Symbol.for("undici.globalDispatcher.1");
var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
var { InvalidArgumentError } = require_errors();
var Agent = require_agent();
if (getGlobalDispatcher() === void 0) {
@@ -11563,8 +11563,8 @@ var require_headers = __commonJS({
var util = require("util");
var { webidl } = require_webidl();
var assert = require("assert");
var kHeadersMap = Symbol("headers map");
var kHeadersSortedMap = Symbol("headers map sorted");
var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
function isHTTPWhiteSpaceCharCode(code) {
return code === 10 || code === 13 || code === 9 || code === 32;
}
@@ -11891,7 +11891,7 @@ var require_headers = __commonJS({
callbackFn.apply(thisArg, [value, key, this]);
}
}
[Symbol.for("nodejs.util.inspect.custom")]() {
[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
webidl.brandCheck(this, _Headers);
return this[kHeadersList];
}
@@ -12351,7 +12351,7 @@ var require_request2 = __commonJS({
var assert = require("assert");
var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
var TransformStream = globalThis.TransformStream;
var kAbortController = Symbol("abortController");
var kAbortController = /* @__PURE__ */ Symbol("abortController");
var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {
signal.removeEventListener("abort", abort);
});
@@ -13997,12 +13997,12 @@ var require_symbols3 = __commonJS({
"node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kState: Symbol("FileReader state"),
kResult: Symbol("FileReader result"),
kError: Symbol("FileReader error"),
kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"),
kEvents: Symbol("FileReader events"),
kAborted: Symbol("FileReader aborted")
kState: /* @__PURE__ */ Symbol("FileReader state"),
kResult: /* @__PURE__ */ Symbol("FileReader result"),
kError: /* @__PURE__ */ Symbol("FileReader error"),
kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
kEvents: /* @__PURE__ */ Symbol("FileReader events"),
kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
};
}
});
@@ -14012,7 +14012,7 @@ var require_progressevent = __commonJS({
"node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
"use strict";
var { webidl } = require_webidl();
var kState = Symbol("ProgressEvent state");
var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
var ProgressEvent = class _ProgressEvent extends Event {
constructor(type2, eventInitDict = {}) {
type2 = webidl.converters.DOMString(type2);
@@ -15962,14 +15962,14 @@ var require_symbols5 = __commonJS({
"node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kWebSocketURL: Symbol("url"),
kReadyState: Symbol("ready state"),
kController: Symbol("controller"),
kResponse: Symbol("response"),
kBinaryType: Symbol("binary type"),
kSentClose: Symbol("sent close"),
kReceivedClose: Symbol("received close"),
kByteParser: Symbol("byte parser")
kWebSocketURL: /* @__PURE__ */ Symbol("url"),
kReadyState: /* @__PURE__ */ Symbol("ready state"),
kController: /* @__PURE__ */ Symbol("controller"),
kResponse: /* @__PURE__ */ Symbol("response"),
kBinaryType: /* @__PURE__ */ Symbol("binary type"),
kSentClose: /* @__PURE__ */ Symbol("sent close"),
kReceivedClose: /* @__PURE__ */ Symbol("received close"),
kByteParser: /* @__PURE__ */ Symbol("byte parser")
};
}
});
@@ -26413,8 +26413,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare2 = require_compare();
var gte5 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte5;
var gte6 = (a, b, loose) => compare2(a, b, loose) >= 0;
module2.exports = gte6;
}
});
@@ -26435,7 +26435,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte5 = require_gte();
var gte6 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -26465,7 +26465,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -26943,7 +26943,7 @@ var require_range = __commonJS({
var require_comparator = __commonJS({
"node_modules/semver/classes/comparator.js"(exports2, module2) {
"use strict";
var ANY = Symbol("SemVer ANY");
var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
var Comparator = class _Comparator {
static get ANY() {
return ANY;
@@ -27224,7 +27224,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte5 = require_gte();
var gte6 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -27239,7 +27239,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -27554,7 +27554,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte5 = require_gte();
var gte6 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce3 = require_coerce();
@@ -27592,7 +27592,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte5,
gte: gte6,
lte,
cmp,
coerce: coerce3,
@@ -27627,7 +27627,7 @@ var require_package = __commonJS({
"package.json"(exports2, module2) {
module2.exports = {
name: "codeql",
version: "4.31.7",
version: "4.31.9",
private: true,
description: "CodeQL action",
scripts: {
@@ -27670,7 +27670,7 @@ var require_package = __commonJS({
"js-yaml": "^4.1.1",
jsonschema: "1.4.1",
long: "^5.3.2",
"node-forge": "^1.3.2",
"node-forge": "^1.3.3",
semver: "^7.7.3",
uuid: "^13.0.0"
},
@@ -27688,16 +27688,16 @@ var require_package = __commonJS({
"@types/node-forge": "^1.3.14",
"@types/semver": "^7.7.1",
"@types/sinon": "^21.0.0",
"@typescript-eslint/eslint-plugin": "^8.48.0",
"@typescript-eslint/eslint-plugin": "^8.48.1",
"@typescript-eslint/parser": "^8.48.0",
ava: "^6.4.1",
esbuild: "^0.27.0",
esbuild: "^0.27.1",
eslint: "^8.57.1",
"eslint-import-resolver-typescript": "^3.8.7",
"eslint-plugin-filenames": "^1.3.2",
"eslint-plugin-github": "^5.1.8",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-jsdoc": "^61.4.1",
"eslint-plugin-jsdoc": "^61.5.0",
"eslint-plugin-no-async-foreach": "^0.1.1",
glob: "^11.1.0",
nock: "^14.0.10",
@@ -30964,7 +30964,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte5(i, y) {
function gte6(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -31009,7 +31009,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte5;
test = gte6;
}
var pad = n.some(isPadded);
N = [];
@@ -33162,8 +33162,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare2(a, b, loose) !== 0;
}
exports2.gte = gte5;
function gte5(a, b, loose) {
exports2.gte = gte6;
function gte6(a, b, loose) {
return compare2(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -33194,7 +33194,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte5(a, b, loose);
return gte6(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -33739,7 +33739,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte5;
ltefn = gte6;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -33940,7 +33940,7 @@ var require_cacheUtils = __commonJS({
var crypto = __importStar4(require("crypto"));
var fs5 = __importStar4(require("fs"));
var path5 = __importStar4(require("path"));
var semver8 = __importStar4(require_semver3());
var semver9 = __importStar4(require_semver3());
var util = __importStar4(require("util"));
var constants_1 = require_constants7();
var versionSalt = "1.0";
@@ -34037,7 +34037,7 @@ var require_cacheUtils = __commonJS({
function getCompressionMethod() {
return __awaiter4(this, void 0, void 0, function* () {
const versionOutput = yield getVersion("zstd", ["--quiet"]);
const version = semver8.clean(versionOutput);
const version = semver9.clean(versionOutput);
core13.debug(`zstd version: ${version}`);
if (versionOutput === "") {
return constants_1.CompressionMethod.Gzip;
@@ -36496,7 +36496,7 @@ var require_file2 = __commonJS({
throw new Error("Not implemented");
}
};
var rawContent = Symbol("rawContent");
var rawContent = /* @__PURE__ */ Symbol("rawContent");
function hasRawContent(x) {
return typeof x[rawContent] === "function";
}
@@ -38094,7 +38094,7 @@ var require_dist2 = __commonJS({
var http = __importStar4(require("http"));
var https_1 = require("https");
__exportStar4(require_helpers3(), exports2);
var INTERNAL = Symbol("AgentBaseInternalState");
var INTERNAL = /* @__PURE__ */ Symbol("AgentBaseInternalState");
var Agent = class extends http.Agent {
constructor(opts) {
super(opts);
@@ -38789,8 +38789,8 @@ var require_tracingContext = __commonJS({
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TracingContextImpl = exports2.createTracingContext = exports2.knownContextKeys = void 0;
exports2.knownContextKeys = {
span: Symbol.for("@azure/core-tracing span"),
namespace: Symbol.for("@azure/core-tracing namespace")
span: /* @__PURE__ */ Symbol.for("@azure/core-tracing span"),
namespace: /* @__PURE__ */ Symbol.for("@azure/core-tracing namespace")
};
function createTracingContext(options = {}) {
let context2 = new TracingContextImpl(options.parentContext);
@@ -42245,7 +42245,7 @@ var require_operationHelpers = __commonJS({
}
return result;
}
var originalRequestSymbol = Symbol.for("@azure/core-client original request");
var originalRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
function hasOriginalRequest(request) {
return originalRequestSymbol in request;
}
@@ -43228,8 +43228,8 @@ var require_util8 = __commonJS({
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.HttpHeaders = exports2.toHttpHeadersLike = exports2.toWebResourceLike = exports2.toPipelineRequest = void 0;
var core_rest_pipeline_1 = require_commonjs5();
var originalRequestSymbol = Symbol("Original PipelineRequest");
var originalClientRequestSymbol = Symbol.for("@azure/core-client original request");
var originalRequestSymbol = /* @__PURE__ */ Symbol("Original PipelineRequest");
var originalClientRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
function toPipelineRequest(webResource, options = {}) {
const compatWebResource = webResource;
const request = compatWebResource[originalRequestSymbol];
@@ -43471,7 +43471,7 @@ var require_response2 = __commonJS({
exports2.toPipelineResponse = exports2.toCompatResponse = void 0;
var core_rest_pipeline_1 = require_commonjs5();
var util_js_1 = require_util8();
var originalResponse = Symbol("Original FullOperationResponse");
var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
function toCompatResponse(response, options) {
let request = (0, util_js_1.toWebResourceLike)(response.request);
let headers = (0, util_js_1.toHttpHeadersLike)(response.headers);
@@ -46092,7 +46092,7 @@ var require_dist6 = __commonJS({
state
}),
onProgress: (callback) => {
const s = Symbol();
const s = /* @__PURE__ */ Symbol();
handlers.set(s, callback);
return () => handlers.delete(s);
},
@@ -71449,7 +71449,7 @@ var require_binary_format_contract = __commonJS({
exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
var UnknownFieldHandler;
(function(UnknownFieldHandler2) {
UnknownFieldHandler2.symbol = Symbol.for("protobuf-ts/unknown");
UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
container.push({ no: fieldNo, wireType, data });
@@ -72374,7 +72374,7 @@ var require_message_type_contract = __commonJS({
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MESSAGE_TYPE = void 0;
exports2.MESSAGE_TYPE = Symbol.for("protobuf-ts/message-type");
exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
}
});
@@ -77574,7 +77574,7 @@ var require_manifest = __commonJS({
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
var semver8 = __importStar4(require_semver2());
var semver9 = __importStar4(require_semver2());
var core_1 = require_core();
var os2 = require("os");
var cp = require("child_process");
@@ -77588,7 +77588,7 @@ var require_manifest = __commonJS({
for (const candidate of candidates) {
const version = candidate.version;
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
if (semver8.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
if (semver9.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
file = candidate.files.find((item) => {
(0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
let chk = item.arch === archFilter && item.platform === platFilter;
@@ -77597,7 +77597,7 @@ var require_manifest = __commonJS({
if (osVersion === item.platform_version) {
chk = true;
} else {
chk = semver8.satisfies(osVersion, item.platform_version);
chk = semver9.satisfies(osVersion, item.platform_version);
}
}
return chk;
@@ -78528,7 +78528,7 @@ var require_tool_cache = __commonJS({
var os2 = __importStar4(require("os"));
var path5 = __importStar4(require("path"));
var httpm = __importStar4(require_lib5());
var semver8 = __importStar4(require_semver2());
var semver9 = __importStar4(require_semver2());
var stream = __importStar4(require("stream"));
var util = __importStar4(require("util"));
var assert_1 = require("assert");
@@ -78802,7 +78802,7 @@ var require_tool_cache = __commonJS({
}
function cacheDir(sourceDir, tool, version, arch) {
return __awaiter4(this, void 0, void 0, function* () {
version = semver8.clean(version) || version;
version = semver9.clean(version) || version;
arch = arch || os2.arch();
core13.debug(`Caching tool ${tool} ${version} ${arch}`);
core13.debug(`source dir: ${sourceDir}`);
@@ -78821,7 +78821,7 @@ var require_tool_cache = __commonJS({
exports2.cacheDir = cacheDir;
function cacheFile(sourceFile, targetFile, tool, version, arch) {
return __awaiter4(this, void 0, void 0, function* () {
version = semver8.clean(version) || version;
version = semver9.clean(version) || version;
arch = arch || os2.arch();
core13.debug(`Caching tool ${tool} ${version} ${arch}`);
core13.debug(`source file: ${sourceFile}`);
@@ -78852,7 +78852,7 @@ var require_tool_cache = __commonJS({
}
let toolPath = "";
if (versionSpec) {
versionSpec = semver8.clean(versionSpec) || "";
versionSpec = semver9.clean(versionSpec) || "";
const cachePath = path5.join(_getCacheDirectory(), toolName, versionSpec, arch);
core13.debug(`checking cache: ${cachePath}`);
if (fs5.existsSync(cachePath) && fs5.existsSync(`${cachePath}.complete`)) {
@@ -78936,7 +78936,7 @@ var require_tool_cache = __commonJS({
}
function _createToolPath(tool, version, arch) {
return __awaiter4(this, void 0, void 0, function* () {
const folderPath = path5.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
const folderPath = path5.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
core13.debug(`destination ${folderPath}`);
const markerPath = `${folderPath}.complete`;
yield io5.rmRF(folderPath);
@@ -78946,15 +78946,15 @@ var require_tool_cache = __commonJS({
});
}
function _completeToolPath(tool, version, arch) {
const folderPath = path5.join(_getCacheDirectory(), tool, semver8.clean(version) || version, arch || "");
const folderPath = path5.join(_getCacheDirectory(), tool, semver9.clean(version) || version, arch || "");
const markerPath = `${folderPath}.complete`;
fs5.writeFileSync(markerPath, "");
core13.debug("finished caching tool");
}
function isExplicitVersion(versionSpec) {
const c = semver8.clean(versionSpec) || "";
const c = semver9.clean(versionSpec) || "";
core13.debug(`isExplicit: ${c}`);
const valid3 = semver8.valid(c) != null;
const valid3 = semver9.valid(c) != null;
core13.debug(`explicit? ${valid3}`);
return valid3;
}
@@ -78963,14 +78963,14 @@ var require_tool_cache = __commonJS({
let version = "";
core13.debug(`evaluating ${versions.length} versions`);
versions = versions.sort((a, b) => {
if (semver8.gt(a, b)) {
if (semver9.gt(a, b)) {
return 1;
}
return -1;
});
for (let i = versions.length - 1; i >= 0; i--) {
const potential = versions[i];
const satisfied = semver8.satisfies(potential, versionSpec);
const satisfied = semver9.satisfies(potential, versionSpec);
if (satisfied) {
version = potential;
break;
@@ -83034,7 +83034,7 @@ function parseGitHubUrl(inputUrl) {
var CODEQL_ACTION_WARNED_ABOUT_VERSION_ENV_VAR = "CODEQL_ACTION_WARNED_ABOUT_VERSION";
var hasBeenWarnedAboutVersion = false;
function checkGitHubVersionInRange(version, logger) {
if (hasBeenWarnedAboutVersion || version.type !== 1 /* GHES */) {
if (hasBeenWarnedAboutVersion || version.type !== "GitHub Enterprise Server" /* GHES */) {
return;
}
const disallowedAPIVersionReason = apiVersionInRange(
@@ -83173,7 +83173,7 @@ async function checkDiskUsage(logger) {
function checkActionVersion(version, githubVersion) {
if (!semver.satisfies(version, ">=4") && // do not log error if the customer is already running v4
!process.env["CODEQL_ACTION_DID_LOG_VERSION_DEPRECATION" /* LOG_VERSION_DEPRECATION */]) {
if (githubVersion.type === 0 /* DOTCOM */ || githubVersion.type === 2 /* GHE_DOTCOM */ || githubVersion.type === 1 /* GHES */ && semver.satisfies(
if (githubVersion.type === "GitHub.com" /* DOTCOM */ || githubVersion.type === "GitHub Enterprise Cloud with data residency" /* GHEC_DR */ || githubVersion.type === "GitHub Enterprise Server" /* GHES */ && semver.satisfies(
semver.coerce(githubVersion.version) ?? "0.0.0",
">=3.20"
)) {
@@ -83375,17 +83375,17 @@ function getApiClient() {
var cachedGitHubVersion = void 0;
async function getGitHubVersionFromApi(apiClient, apiDetails) {
if (parseGitHubUrl(apiDetails.url) === GITHUB_DOTCOM_URL) {
return { type: 0 /* DOTCOM */ };
return { type: "GitHub.com" /* DOTCOM */ };
}
const response = await apiClient.rest.meta.get();
if (response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] === void 0) {
return { type: 0 /* DOTCOM */ };
return { type: "GitHub.com" /* DOTCOM */ };
}
if (response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] === "ghe.com") {
return { type: 2 /* GHE_DOTCOM */ };
return { type: "GitHub Enterprise Cloud with data residency" /* GHEC_DR */ };
}
const version = response.headers[GITHUB_ENTERPRISE_VERSION_HEADER];
return { type: 1 /* GHES */, version };
return { type: "GitHub Enterprise Server" /* GHES */, version };
}
async function getGitHubVersion() {
if (cachedGitHubVersion === void 0) {
@@ -83695,7 +83695,7 @@ var PACK_IDENTIFIER_PATTERN = (function() {
})();
// src/feature-flags.ts
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/overlay-database-utils.ts
var fs2 = __toESM(require("fs"));
@@ -83703,13 +83703,30 @@ var path2 = __toESM(require("path"));
var actionsCache = __toESM(require_cache3());
// src/git-utils.ts
var core7 = __toESM(require_core());
var core8 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io2());
var semver3 = __toESM(require_semver2());
// src/logging.ts
var core7 = __toESM(require_core());
function getActionsLogger() {
return {
debug: core7.debug,
info: core7.info,
warning: core7.warning,
error: core7.error,
isDebug: core7.isDebug,
startGroup: core7.startGroup,
endGroup: core7.endGroup
};
}
// src/git-utils.ts
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
core7.debug(`Running git command: git ${args.join(" ")}`);
core8.debug(`Running git command: git ${args.join(" ")}`);
try {
await new toolrunner2.ToolRunner(await io3.which("git", true), args, {
silent: true,
@@ -83729,7 +83746,7 @@ var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
if (stderr.includes("not a git repository")) {
reason = "The checkout path provided to the action does not appear to be a git repository.";
}
core7.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
core8.info(`git call failed. ${customErrorMessage} Error: ${reason}`);
throw error3;
}
};
@@ -83840,7 +83857,7 @@ async function getRef() {
) !== head;
if (hasChangedRef) {
const newRef = ref.replace(pull_ref_regex, "refs/pull/$1/head");
core7.debug(
core8.debug(
`No longer on merge commit, rewriting ref from ${ref} to ${newRef}.`
);
return newRef;
@@ -83865,20 +83882,6 @@ async function isAnalyzingDefaultBranch() {
return currentRef === defaultBranch;
}
// src/logging.ts
var core8 = __toESM(require_core());
function getActionsLogger() {
return {
debug: core8.debug,
info: core8.info,
warning: core8.warning,
error: core8.error,
isDebug: core8.isDebug,
startGroup: core8.startGroup,
endGroup: core8.endGroup
};
}
// src/overlay-database-utils.ts
var CODEQL_OVERLAY_MINIMUM_VERSION = "2.23.5";
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 7500;
@@ -83941,7 +83944,7 @@ function computeChangedFiles(baseFileOids, overlayFileOids) {
}
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
var semver4 = __toESM(require_semver2());
function isSupportedToolsFeature(versionInfo, feature) {
return !!versionInfo.features && versionInfo.features[feature];
}
@@ -83953,11 +83956,6 @@ var featureConfig = {
envVar: "CODEQL_ACTION_ALLOW_TOOLCACHE_INPUT",
minimumVersion: void 0
},
["analyze_use_new_upload" /* AnalyzeUseNewUpload */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_ANALYZE_USE_NEW_UPLOAD",
minimumVersion: void 0
},
["cleanup_trap_caches" /* CleanupTrapCaches */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
@@ -84234,20 +84232,20 @@ var toolrunner3 = __toESM(require_toolrunner());
// src/setup-codeql.ts
var toolcache3 = __toESM(require_tool_cache());
var import_fast_deep_equal = __toESM(require_fast_deep_equal());
var semver7 = __toESM(require_semver2());
var semver8 = __toESM(require_semver2());
// src/tar.ts
var import_toolrunner = __toESM(require_toolrunner());
var io4 = __toESM(require_io2());
var toolcache = __toESM(require_tool_cache());
var semver5 = __toESM(require_semver2());
var semver6 = __toESM(require_semver2());
// src/tools-download.ts
var core9 = __toESM(require_core());
var import_http_client = __toESM(require_lib6());
var toolcache2 = __toESM(require_tool_cache());
var import_follow_redirects = __toESM(require_follow_redirects());
var semver6 = __toESM(require_semver2());
var semver7 = __toESM(require_semver2());
var STREAMING_HIGH_WATERMARK_BYTES = 4 * 1024 * 1024;
// src/tracer-config.ts
@@ -84672,6 +84670,23 @@ ${output}`
);
}
},
async resolveDatabase(databasePath) {
const codeqlArgs = [
"resolve",
"database",
databasePath,
"--format=json",
...getExtraOptionsFromEnv(["resolve", "database"])
];
const output = await runCli(cmd, codeqlArgs, { noStreamStdout: true });
try {
return JSON.parse(output);
} catch (e) {
throw new Error(
`Unexpected output from codeql resolve database --format=json: ${e}`
);
}
},
async mergeResults(sarifFiles, outputFile, {
mergeRunsFromEqualCategory = false
}) {

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -539,67 +539,67 @@ var require_tunnel2 = __commonJS({
var require_symbols = __commonJS({
"node_modules/undici/lib/core/symbols.js"(exports2, module2) {
module2.exports = {
kClose: Symbol("close"),
kDestroy: Symbol("destroy"),
kDispatch: Symbol("dispatch"),
kUrl: Symbol("url"),
kWriting: Symbol("writing"),
kResuming: Symbol("resuming"),
kQueue: Symbol("queue"),
kConnect: Symbol("connect"),
kConnecting: Symbol("connecting"),
kHeadersList: Symbol("headers list"),
kKeepAliveDefaultTimeout: Symbol("default keep alive timeout"),
kKeepAliveMaxTimeout: Symbol("max keep alive timeout"),
kKeepAliveTimeoutThreshold: Symbol("keep alive timeout threshold"),
kKeepAliveTimeoutValue: Symbol("keep alive timeout"),
kKeepAlive: Symbol("keep alive"),
kHeadersTimeout: Symbol("headers timeout"),
kBodyTimeout: Symbol("body timeout"),
kServerName: Symbol("server name"),
kLocalAddress: Symbol("local address"),
kHost: Symbol("host"),
kNoRef: Symbol("no ref"),
kBodyUsed: Symbol("used"),
kRunning: Symbol("running"),
kBlocking: Symbol("blocking"),
kPending: Symbol("pending"),
kSize: Symbol("size"),
kBusy: Symbol("busy"),
kQueued: Symbol("queued"),
kFree: Symbol("free"),
kConnected: Symbol("connected"),
kClosed: Symbol("closed"),
kNeedDrain: Symbol("need drain"),
kReset: Symbol("reset"),
kDestroyed: Symbol.for("nodejs.stream.destroyed"),
kMaxHeadersSize: Symbol("max headers size"),
kRunningIdx: Symbol("running index"),
kPendingIdx: Symbol("pending index"),
kError: Symbol("error"),
kClients: Symbol("clients"),
kClient: Symbol("client"),
kParser: Symbol("parser"),
kOnDestroyed: Symbol("destroy callbacks"),
kPipelining: Symbol("pipelining"),
kSocket: Symbol("socket"),
kHostHeader: Symbol("host header"),
kConnector: Symbol("connector"),
kStrictContentLength: Symbol("strict content length"),
kMaxRedirections: Symbol("maxRedirections"),
kMaxRequests: Symbol("maxRequestsPerClient"),
kProxy: Symbol("proxy agent options"),
kCounter: Symbol("socket request counter"),
kInterceptors: Symbol("dispatch interceptors"),
kMaxResponseSize: Symbol("max response size"),
kHTTP2Session: Symbol("http2Session"),
kHTTP2SessionState: Symbol("http2Session state"),
kHTTP2BuildRequest: Symbol("http2 build request"),
kHTTP1BuildRequest: Symbol("http1 build request"),
kHTTP2CopyHeaders: Symbol("http2 copy headers"),
kHTTPConnVersion: Symbol("http connection version"),
kRetryHandlerDefaultRetry: Symbol("retry agent default retry"),
kConstruct: Symbol("constructable")
kClose: /* @__PURE__ */ Symbol("close"),
kDestroy: /* @__PURE__ */ Symbol("destroy"),
kDispatch: /* @__PURE__ */ Symbol("dispatch"),
kUrl: /* @__PURE__ */ Symbol("url"),
kWriting: /* @__PURE__ */ Symbol("writing"),
kResuming: /* @__PURE__ */ Symbol("resuming"),
kQueue: /* @__PURE__ */ Symbol("queue"),
kConnect: /* @__PURE__ */ Symbol("connect"),
kConnecting: /* @__PURE__ */ Symbol("connecting"),
kHeadersList: /* @__PURE__ */ Symbol("headers list"),
kKeepAliveDefaultTimeout: /* @__PURE__ */ Symbol("default keep alive timeout"),
kKeepAliveMaxTimeout: /* @__PURE__ */ Symbol("max keep alive timeout"),
kKeepAliveTimeoutThreshold: /* @__PURE__ */ Symbol("keep alive timeout threshold"),
kKeepAliveTimeoutValue: /* @__PURE__ */ Symbol("keep alive timeout"),
kKeepAlive: /* @__PURE__ */ Symbol("keep alive"),
kHeadersTimeout: /* @__PURE__ */ Symbol("headers timeout"),
kBodyTimeout: /* @__PURE__ */ Symbol("body timeout"),
kServerName: /* @__PURE__ */ Symbol("server name"),
kLocalAddress: /* @__PURE__ */ Symbol("local address"),
kHost: /* @__PURE__ */ Symbol("host"),
kNoRef: /* @__PURE__ */ Symbol("no ref"),
kBodyUsed: /* @__PURE__ */ Symbol("used"),
kRunning: /* @__PURE__ */ Symbol("running"),
kBlocking: /* @__PURE__ */ Symbol("blocking"),
kPending: /* @__PURE__ */ Symbol("pending"),
kSize: /* @__PURE__ */ Symbol("size"),
kBusy: /* @__PURE__ */ Symbol("busy"),
kQueued: /* @__PURE__ */ Symbol("queued"),
kFree: /* @__PURE__ */ Symbol("free"),
kConnected: /* @__PURE__ */ Symbol("connected"),
kClosed: /* @__PURE__ */ Symbol("closed"),
kNeedDrain: /* @__PURE__ */ Symbol("need drain"),
kReset: /* @__PURE__ */ Symbol("reset"),
kDestroyed: /* @__PURE__ */ Symbol.for("nodejs.stream.destroyed"),
kMaxHeadersSize: /* @__PURE__ */ Symbol("max headers size"),
kRunningIdx: /* @__PURE__ */ Symbol("running index"),
kPendingIdx: /* @__PURE__ */ Symbol("pending index"),
kError: /* @__PURE__ */ Symbol("error"),
kClients: /* @__PURE__ */ Symbol("clients"),
kClient: /* @__PURE__ */ Symbol("client"),
kParser: /* @__PURE__ */ Symbol("parser"),
kOnDestroyed: /* @__PURE__ */ Symbol("destroy callbacks"),
kPipelining: /* @__PURE__ */ Symbol("pipelining"),
kSocket: /* @__PURE__ */ Symbol("socket"),
kHostHeader: /* @__PURE__ */ Symbol("host header"),
kConnector: /* @__PURE__ */ Symbol("connector"),
kStrictContentLength: /* @__PURE__ */ Symbol("strict content length"),
kMaxRedirections: /* @__PURE__ */ Symbol("maxRedirections"),
kMaxRequests: /* @__PURE__ */ Symbol("maxRequestsPerClient"),
kProxy: /* @__PURE__ */ Symbol("proxy agent options"),
kCounter: /* @__PURE__ */ Symbol("socket request counter"),
kInterceptors: /* @__PURE__ */ Symbol("dispatch interceptors"),
kMaxResponseSize: /* @__PURE__ */ Symbol("max response size"),
kHTTP2Session: /* @__PURE__ */ Symbol("http2Session"),
kHTTP2SessionState: /* @__PURE__ */ Symbol("http2Session state"),
kHTTP2BuildRequest: /* @__PURE__ */ Symbol("http2 build request"),
kHTTP1BuildRequest: /* @__PURE__ */ Symbol("http1 build request"),
kHTTP2CopyHeaders: /* @__PURE__ */ Symbol("http2 copy headers"),
kHTTPConnVersion: /* @__PURE__ */ Symbol("http connection version"),
kRetryHandlerDefaultRetry: /* @__PURE__ */ Symbol("retry agent default retry"),
kConstruct: /* @__PURE__ */ Symbol("constructable")
};
}
});
@@ -3594,7 +3594,7 @@ var require_constants2 = __commonJS({
var require_global = __commonJS({
"node_modules/undici/lib/fetch/global.js"(exports2, module2) {
"use strict";
var globalOrigin = Symbol.for("undici.globalOrigin.1");
var globalOrigin = /* @__PURE__ */ Symbol.for("undici.globalOrigin.1");
function getGlobalOrigin() {
return globalThis[globalOrigin];
}
@@ -4246,12 +4246,12 @@ var require_symbols2 = __commonJS({
"node_modules/undici/lib/fetch/symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kUrl: Symbol("url"),
kHeaders: Symbol("headers"),
kSignal: Symbol("signal"),
kState: Symbol("state"),
kGuard: Symbol("guard"),
kRealm: Symbol("realm")
kUrl: /* @__PURE__ */ Symbol("url"),
kHeaders: /* @__PURE__ */ Symbol("headers"),
kSignal: /* @__PURE__ */ Symbol("signal"),
kState: /* @__PURE__ */ Symbol("state"),
kGuard: /* @__PURE__ */ Symbol("guard"),
kRealm: /* @__PURE__ */ Symbol("realm")
};
}
});
@@ -5644,7 +5644,7 @@ var require_request = __commonJS({
var tokenRegExp = /^[\^_`a-zA-Z\-0-9!#$%&'*+.|~]+$/;
var headerCharRegex = /[^\t\x20-\x7e\x80-\xff]/;
var invalidPathRegex = /[^\u0021-\u00ff]/;
var kHandler = Symbol("handler");
var kHandler = /* @__PURE__ */ Symbol("handler");
var channels = {};
var extractBody;
try {
@@ -6031,11 +6031,11 @@ var require_dispatcher_base = __commonJS({
InvalidArgumentError
} = require_errors();
var { kDestroy, kClose, kDispatch, kInterceptors } = require_symbols();
var kDestroyed = Symbol("destroyed");
var kClosed = Symbol("closed");
var kOnDestroyed = Symbol("onDestroyed");
var kOnClosed = Symbol("onClosed");
var kInterceptedDispatch = Symbol("Intercepted Dispatch");
var kDestroyed = /* @__PURE__ */ Symbol("destroyed");
var kClosed = /* @__PURE__ */ Symbol("closed");
var kOnDestroyed = /* @__PURE__ */ Symbol("onDestroyed");
var kOnClosed = /* @__PURE__ */ Symbol("onClosed");
var kInterceptedDispatch = /* @__PURE__ */ Symbol("Intercepted Dispatch");
var DispatcherBase = class extends Dispatcher {
constructor() {
super();
@@ -6690,7 +6690,7 @@ var require_RedirectHandler = __commonJS({
var { InvalidArgumentError } = require_errors();
var EE = require("events");
var redirectableStatusCodes = [300, 301, 302, 303, 307, 308];
var kBody = Symbol("body");
var kBody = /* @__PURE__ */ Symbol("body");
var BodyAsyncIterable = class {
constructor(body) {
this[kBody] = body;
@@ -6964,7 +6964,7 @@ var require_client = __commonJS({
} = http2;
var h2ExperimentalWarned = false;
var FastBuffer = Buffer[Symbol.species];
var kClosedResolve = Symbol("kClosedResolve");
var kClosedResolve = /* @__PURE__ */ Symbol("kClosedResolve");
var channels = {};
try {
const diagnosticsChannel = require("diagnostics_channel");
@@ -8634,7 +8634,7 @@ var require_fixed_queue = __commonJS({
var require_pool_stats = __commonJS({
"node_modules/undici/lib/pool-stats.js"(exports2, module2) {
var { kFree, kConnected, kPending, kQueued, kRunning, kSize } = require_symbols();
var kPool = Symbol("pool");
var kPool = /* @__PURE__ */ Symbol("pool");
var PoolStats = class {
constructor(pool) {
this[kPool] = pool;
@@ -8670,18 +8670,18 @@ var require_pool_base = __commonJS({
var FixedQueue = require_fixed_queue();
var { kConnected, kSize, kRunning, kPending, kQueued, kBusy, kFree, kUrl, kClose, kDestroy, kDispatch } = require_symbols();
var PoolStats = require_pool_stats();
var kClients = Symbol("clients");
var kNeedDrain = Symbol("needDrain");
var kQueue = Symbol("queue");
var kClosedResolve = Symbol("closed resolve");
var kOnDrain = Symbol("onDrain");
var kOnConnect = Symbol("onConnect");
var kOnDisconnect = Symbol("onDisconnect");
var kOnConnectionError = Symbol("onConnectionError");
var kGetDispatcher = Symbol("get dispatcher");
var kAddClient = Symbol("add client");
var kRemoveClient = Symbol("remove client");
var kStats = Symbol("stats");
var kClients = /* @__PURE__ */ Symbol("clients");
var kNeedDrain = /* @__PURE__ */ Symbol("needDrain");
var kQueue = /* @__PURE__ */ Symbol("queue");
var kClosedResolve = /* @__PURE__ */ Symbol("closed resolve");
var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
var kGetDispatcher = /* @__PURE__ */ Symbol("get dispatcher");
var kAddClient = /* @__PURE__ */ Symbol("add client");
var kRemoveClient = /* @__PURE__ */ Symbol("remove client");
var kStats = /* @__PURE__ */ Symbol("stats");
var PoolBase = class extends DispatcherBase {
constructor() {
super();
@@ -8835,9 +8835,9 @@ var require_pool = __commonJS({
var util = require_util();
var { kUrl, kInterceptors } = require_symbols();
var buildConnector = require_connect();
var kOptions = Symbol("options");
var kConnections = Symbol("connections");
var kFactory = Symbol("factory");
var kOptions = /* @__PURE__ */ Symbol("options");
var kConnections = /* @__PURE__ */ Symbol("connections");
var kFactory = /* @__PURE__ */ Symbol("factory");
function defaultFactory(origin, opts) {
return new Client(origin, opts);
}
@@ -8926,14 +8926,14 @@ var require_balanced_pool = __commonJS({
var Pool = require_pool();
var { kUrl, kInterceptors } = require_symbols();
var { parseOrigin } = require_util();
var kFactory = Symbol("factory");
var kOptions = Symbol("options");
var kGreatestCommonDivisor = Symbol("kGreatestCommonDivisor");
var kCurrentWeight = Symbol("kCurrentWeight");
var kIndex = Symbol("kIndex");
var kWeight = Symbol("kWeight");
var kMaxWeightPerServer = Symbol("kMaxWeightPerServer");
var kErrorPenalty = Symbol("kErrorPenalty");
var kFactory = /* @__PURE__ */ Symbol("factory");
var kOptions = /* @__PURE__ */ Symbol("options");
var kGreatestCommonDivisor = /* @__PURE__ */ Symbol("kGreatestCommonDivisor");
var kCurrentWeight = /* @__PURE__ */ Symbol("kCurrentWeight");
var kIndex = /* @__PURE__ */ Symbol("kIndex");
var kWeight = /* @__PURE__ */ Symbol("kWeight");
var kMaxWeightPerServer = /* @__PURE__ */ Symbol("kMaxWeightPerServer");
var kErrorPenalty = /* @__PURE__ */ Symbol("kErrorPenalty");
function getGreatestCommonDivisor(a, b) {
if (b === 0) return a;
return getGreatestCommonDivisor(b, a % b);
@@ -9096,14 +9096,14 @@ var require_agent = __commonJS({
var util = require_util();
var createRedirectInterceptor = require_redirectInterceptor();
var { WeakRef: WeakRef2, FinalizationRegistry } = require_dispatcher_weakref()();
var kOnConnect = Symbol("onConnect");
var kOnDisconnect = Symbol("onDisconnect");
var kOnConnectionError = Symbol("onConnectionError");
var kMaxRedirections = Symbol("maxRedirections");
var kOnDrain = Symbol("onDrain");
var kFactory = Symbol("factory");
var kFinalizer = Symbol("finalizer");
var kOptions = Symbol("options");
var kOnConnect = /* @__PURE__ */ Symbol("onConnect");
var kOnDisconnect = /* @__PURE__ */ Symbol("onDisconnect");
var kOnConnectionError = /* @__PURE__ */ Symbol("onConnectionError");
var kMaxRedirections = /* @__PURE__ */ Symbol("maxRedirections");
var kOnDrain = /* @__PURE__ */ Symbol("onDrain");
var kFactory = /* @__PURE__ */ Symbol("factory");
var kFinalizer = /* @__PURE__ */ Symbol("finalizer");
var kOptions = /* @__PURE__ */ Symbol("options");
function defaultFactory(origin, opts) {
return opts && opts.connections === 1 ? new Client(origin, opts) : new Pool(origin, opts);
}
@@ -9212,11 +9212,11 @@ var require_readable = __commonJS({
var util = require_util();
var { ReadableStreamFrom, toUSVString } = require_util();
var Blob2;
var kConsume = Symbol("kConsume");
var kReading = Symbol("kReading");
var kBody = Symbol("kBody");
var kAbort = Symbol("abort");
var kContentType = Symbol("kContentType");
var kConsume = /* @__PURE__ */ Symbol("kConsume");
var kReading = /* @__PURE__ */ Symbol("kReading");
var kBody = /* @__PURE__ */ Symbol("kBody");
var kAbort = /* @__PURE__ */ Symbol("abort");
var kContentType = /* @__PURE__ */ Symbol("kContentType");
var noop = () => {
};
module2.exports = class BodyReadable extends Readable {
@@ -9502,8 +9502,8 @@ var require_abort_signal = __commonJS({
"node_modules/undici/lib/api/abort-signal.js"(exports2, module2) {
var { addAbortListener } = require_util();
var { RequestAbortedError } = require_errors();
var kListener = Symbol("kListener");
var kSignal = Symbol("kSignal");
var kListener = /* @__PURE__ */ Symbol("kListener");
var kSignal = /* @__PURE__ */ Symbol("kSignal");
function abort(self2) {
if (self2.abort) {
self2.abort();
@@ -9892,7 +9892,7 @@ var require_api_pipeline = __commonJS({
var { AsyncResource } = require("async_hooks");
var { addSignal, removeSignal } = require_abort_signal();
var assert = require("assert");
var kResume = Symbol("resume");
var kResume = /* @__PURE__ */ Symbol("resume");
var PipelineRequest = class extends Readable {
constructor() {
super({ autoDestroy: true });
@@ -10286,25 +10286,25 @@ var require_mock_symbols = __commonJS({
"node_modules/undici/lib/mock/mock-symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kAgent: Symbol("agent"),
kOptions: Symbol("options"),
kFactory: Symbol("factory"),
kDispatches: Symbol("dispatches"),
kDispatchKey: Symbol("dispatch key"),
kDefaultHeaders: Symbol("default headers"),
kDefaultTrailers: Symbol("default trailers"),
kContentLength: Symbol("content length"),
kMockAgent: Symbol("mock agent"),
kMockAgentSet: Symbol("mock agent set"),
kMockAgentGet: Symbol("mock agent get"),
kMockDispatch: Symbol("mock dispatch"),
kClose: Symbol("close"),
kOriginalClose: Symbol("original agent close"),
kOrigin: Symbol("origin"),
kIsMockActive: Symbol("is mock active"),
kNetConnect: Symbol("net connect"),
kGetNetConnect: Symbol("get net connect"),
kConnected: Symbol("connected")
kAgent: /* @__PURE__ */ Symbol("agent"),
kOptions: /* @__PURE__ */ Symbol("options"),
kFactory: /* @__PURE__ */ Symbol("factory"),
kDispatches: /* @__PURE__ */ Symbol("dispatches"),
kDispatchKey: /* @__PURE__ */ Symbol("dispatch key"),
kDefaultHeaders: /* @__PURE__ */ Symbol("default headers"),
kDefaultTrailers: /* @__PURE__ */ Symbol("default trailers"),
kContentLength: /* @__PURE__ */ Symbol("content length"),
kMockAgent: /* @__PURE__ */ Symbol("mock agent"),
kMockAgentSet: /* @__PURE__ */ Symbol("mock agent set"),
kMockAgentGet: /* @__PURE__ */ Symbol("mock agent get"),
kMockDispatch: /* @__PURE__ */ Symbol("mock dispatch"),
kClose: /* @__PURE__ */ Symbol("close"),
kOriginalClose: /* @__PURE__ */ Symbol("original agent close"),
kOrigin: /* @__PURE__ */ Symbol("origin"),
kIsMockActive: /* @__PURE__ */ Symbol("is mock active"),
kNetConnect: /* @__PURE__ */ Symbol("net connect"),
kGetNetConnect: /* @__PURE__ */ Symbol("get net connect"),
kConnected: /* @__PURE__ */ Symbol("connected")
};
}
});
@@ -11076,12 +11076,12 @@ var require_proxy_agent = __commonJS({
var DispatcherBase = require_dispatcher_base();
var { InvalidArgumentError, RequestAbortedError } = require_errors();
var buildConnector = require_connect();
var kAgent = Symbol("proxy agent");
var kClient = Symbol("proxy client");
var kProxyHeaders = Symbol("proxy headers");
var kRequestTls = Symbol("request tls settings");
var kProxyTls = Symbol("proxy tls settings");
var kConnectEndpoint = Symbol("connect endpoint function");
var kAgent = /* @__PURE__ */ Symbol("proxy agent");
var kClient = /* @__PURE__ */ Symbol("proxy client");
var kProxyHeaders = /* @__PURE__ */ Symbol("proxy headers");
var kRequestTls = /* @__PURE__ */ Symbol("request tls settings");
var kProxyTls = /* @__PURE__ */ Symbol("proxy tls settings");
var kConnectEndpoint = /* @__PURE__ */ Symbol("connect endpoint function");
function defaultProtocolPort(protocol) {
return protocol === "https:" ? 443 : 80;
}
@@ -11488,7 +11488,7 @@ var require_RetryHandler = __commonJS({
var require_global2 = __commonJS({
"node_modules/undici/lib/global.js"(exports2, module2) {
"use strict";
var globalDispatcher = Symbol.for("undici.globalDispatcher.1");
var globalDispatcher = /* @__PURE__ */ Symbol.for("undici.globalDispatcher.1");
var { InvalidArgumentError } = require_errors();
var Agent = require_agent();
if (getGlobalDispatcher() === void 0) {
@@ -11563,8 +11563,8 @@ var require_headers = __commonJS({
var util = require("util");
var { webidl } = require_webidl();
var assert = require("assert");
var kHeadersMap = Symbol("headers map");
var kHeadersSortedMap = Symbol("headers map sorted");
var kHeadersMap = /* @__PURE__ */ Symbol("headers map");
var kHeadersSortedMap = /* @__PURE__ */ Symbol("headers map sorted");
function isHTTPWhiteSpaceCharCode(code) {
return code === 10 || code === 13 || code === 9 || code === 32;
}
@@ -11891,7 +11891,7 @@ var require_headers = __commonJS({
callbackFn.apply(thisArg, [value, key, this]);
}
}
[Symbol.for("nodejs.util.inspect.custom")]() {
[/* @__PURE__ */ Symbol.for("nodejs.util.inspect.custom")]() {
webidl.brandCheck(this, _Headers);
return this[kHeadersList];
}
@@ -12351,7 +12351,7 @@ var require_request2 = __commonJS({
var assert = require("assert");
var { getMaxListeners, setMaxListeners, getEventListeners, defaultMaxListeners } = require("events");
var TransformStream = globalThis.TransformStream;
var kAbortController = Symbol("abortController");
var kAbortController = /* @__PURE__ */ Symbol("abortController");
var requestFinalizer = new FinalizationRegistry(({ signal, abort }) => {
signal.removeEventListener("abort", abort);
});
@@ -13997,12 +13997,12 @@ var require_symbols3 = __commonJS({
"node_modules/undici/lib/fileapi/symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kState: Symbol("FileReader state"),
kResult: Symbol("FileReader result"),
kError: Symbol("FileReader error"),
kLastProgressEventFired: Symbol("FileReader last progress event fired timestamp"),
kEvents: Symbol("FileReader events"),
kAborted: Symbol("FileReader aborted")
kState: /* @__PURE__ */ Symbol("FileReader state"),
kResult: /* @__PURE__ */ Symbol("FileReader result"),
kError: /* @__PURE__ */ Symbol("FileReader error"),
kLastProgressEventFired: /* @__PURE__ */ Symbol("FileReader last progress event fired timestamp"),
kEvents: /* @__PURE__ */ Symbol("FileReader events"),
kAborted: /* @__PURE__ */ Symbol("FileReader aborted")
};
}
});
@@ -14012,7 +14012,7 @@ var require_progressevent = __commonJS({
"node_modules/undici/lib/fileapi/progressevent.js"(exports2, module2) {
"use strict";
var { webidl } = require_webidl();
var kState = Symbol("ProgressEvent state");
var kState = /* @__PURE__ */ Symbol("ProgressEvent state");
var ProgressEvent = class _ProgressEvent extends Event {
constructor(type2, eventInitDict = {}) {
type2 = webidl.converters.DOMString(type2);
@@ -15962,14 +15962,14 @@ var require_symbols5 = __commonJS({
"node_modules/undici/lib/websocket/symbols.js"(exports2, module2) {
"use strict";
module2.exports = {
kWebSocketURL: Symbol("url"),
kReadyState: Symbol("ready state"),
kController: Symbol("controller"),
kResponse: Symbol("response"),
kBinaryType: Symbol("binary type"),
kSentClose: Symbol("sent close"),
kReceivedClose: Symbol("received close"),
kByteParser: Symbol("byte parser")
kWebSocketURL: /* @__PURE__ */ Symbol("url"),
kReadyState: /* @__PURE__ */ Symbol("ready state"),
kController: /* @__PURE__ */ Symbol("controller"),
kResponse: /* @__PURE__ */ Symbol("response"),
kBinaryType: /* @__PURE__ */ Symbol("binary type"),
kSentClose: /* @__PURE__ */ Symbol("sent close"),
kReceivedClose: /* @__PURE__ */ Symbol("received close"),
kByteParser: /* @__PURE__ */ Symbol("byte parser")
};
}
});
@@ -20958,8 +20958,8 @@ var require_gte = __commonJS({
"node_modules/semver/functions/gte.js"(exports2, module2) {
"use strict";
var compare = require_compare();
var gte3 = (a, b, loose) => compare(a, b, loose) >= 0;
module2.exports = gte3;
var gte4 = (a, b, loose) => compare(a, b, loose) >= 0;
module2.exports = gte4;
}
});
@@ -20980,7 +20980,7 @@ var require_cmp = __commonJS({
var eq = require_eq();
var neq = require_neq();
var gt = require_gt();
var gte3 = require_gte();
var gte4 = require_gte();
var lt = require_lt();
var lte = require_lte();
var cmp = (a, op, b, loose) => {
@@ -21010,7 +21010,7 @@ var require_cmp = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte3(a, b, loose);
return gte4(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -21488,7 +21488,7 @@ var require_range = __commonJS({
var require_comparator = __commonJS({
"node_modules/semver/classes/comparator.js"(exports2, module2) {
"use strict";
var ANY = Symbol("SemVer ANY");
var ANY = /* @__PURE__ */ Symbol("SemVer ANY");
var Comparator = class _Comparator {
static get ANY() {
return ANY;
@@ -21769,7 +21769,7 @@ var require_outside = __commonJS({
var gt = require_gt();
var lt = require_lt();
var lte = require_lte();
var gte3 = require_gte();
var gte4 = require_gte();
var outside = (version, range, hilo, options) => {
version = new SemVer(version, options);
range = new Range2(range, options);
@@ -21784,7 +21784,7 @@ var require_outside = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte3;
ltefn = gte4;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -22099,7 +22099,7 @@ var require_semver2 = __commonJS({
var lt = require_lt();
var eq = require_eq();
var neq = require_neq();
var gte3 = require_gte();
var gte4 = require_gte();
var lte = require_lte();
var cmp = require_cmp();
var coerce2 = require_coerce();
@@ -22137,7 +22137,7 @@ var require_semver2 = __commonJS({
lt,
eq,
neq,
gte: gte3,
gte: gte4,
lte,
cmp,
coerce: coerce2,
@@ -22227,7 +22227,7 @@ var require_manifest = __commonJS({
};
Object.defineProperty(exports2, "__esModule", { value: true });
exports2._readLinuxVersionFile = exports2._getOsVersion = exports2._findMatch = void 0;
var semver5 = __importStar4(require_semver2());
var semver6 = __importStar4(require_semver2());
var core_1 = require_core();
var os2 = require("os");
var cp = require("child_process");
@@ -22241,7 +22241,7 @@ var require_manifest = __commonJS({
for (const candidate of candidates) {
const version = candidate.version;
(0, core_1.debug)(`check ${version} satisfies ${versionSpec}`);
if (semver5.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
if (semver6.satisfies(version, versionSpec) && (!stable || candidate.stable === stable)) {
file = candidate.files.find((item) => {
(0, core_1.debug)(`${item.arch}===${archFilter} && ${item.platform}===${platFilter}`);
let chk = item.arch === archFilter && item.platform === platFilter;
@@ -22250,7 +22250,7 @@ var require_manifest = __commonJS({
if (osVersion === item.platform_version) {
chk = true;
} else {
chk = semver5.satisfies(osVersion, item.platform_version);
chk = semver6.satisfies(osVersion, item.platform_version);
}
}
return chk;
@@ -23181,7 +23181,7 @@ var require_tool_cache = __commonJS({
var os2 = __importStar4(require("os"));
var path2 = __importStar4(require("path"));
var httpm = __importStar4(require_lib2());
var semver5 = __importStar4(require_semver2());
var semver6 = __importStar4(require_semver2());
var stream = __importStar4(require("stream"));
var util = __importStar4(require("util"));
var assert_1 = require("assert");
@@ -23455,7 +23455,7 @@ var require_tool_cache = __commonJS({
}
function cacheDir2(sourceDir, tool, version, arch) {
return __awaiter4(this, void 0, void 0, function* () {
version = semver5.clean(version) || version;
version = semver6.clean(version) || version;
arch = arch || os2.arch();
core12.debug(`Caching tool ${tool} ${version} ${arch}`);
core12.debug(`source dir: ${sourceDir}`);
@@ -23474,7 +23474,7 @@ var require_tool_cache = __commonJS({
exports2.cacheDir = cacheDir2;
function cacheFile(sourceFile, targetFile, tool, version, arch) {
return __awaiter4(this, void 0, void 0, function* () {
version = semver5.clean(version) || version;
version = semver6.clean(version) || version;
arch = arch || os2.arch();
core12.debug(`Caching tool ${tool} ${version} ${arch}`);
core12.debug(`source file: ${sourceFile}`);
@@ -23505,7 +23505,7 @@ var require_tool_cache = __commonJS({
}
let toolPath = "";
if (versionSpec) {
versionSpec = semver5.clean(versionSpec) || "";
versionSpec = semver6.clean(versionSpec) || "";
const cachePath = path2.join(_getCacheDirectory(), toolName, versionSpec, arch);
core12.debug(`checking cache: ${cachePath}`);
if (fs.existsSync(cachePath) && fs.existsSync(`${cachePath}.complete`)) {
@@ -23589,7 +23589,7 @@ var require_tool_cache = __commonJS({
}
function _createToolPath(tool, version, arch) {
return __awaiter4(this, void 0, void 0, function* () {
const folderPath = path2.join(_getCacheDirectory(), tool, semver5.clean(version) || version, arch || "");
const folderPath = path2.join(_getCacheDirectory(), tool, semver6.clean(version) || version, arch || "");
core12.debug(`destination ${folderPath}`);
const markerPath = `${folderPath}.complete`;
yield io4.rmRF(folderPath);
@@ -23599,15 +23599,15 @@ var require_tool_cache = __commonJS({
});
}
function _completeToolPath(tool, version, arch) {
const folderPath = path2.join(_getCacheDirectory(), tool, semver5.clean(version) || version, arch || "");
const folderPath = path2.join(_getCacheDirectory(), tool, semver6.clean(version) || version, arch || "");
const markerPath = `${folderPath}.complete`;
fs.writeFileSync(markerPath, "");
core12.debug("finished caching tool");
}
function isExplicitVersion(versionSpec) {
const c = semver5.clean(versionSpec) || "";
const c = semver6.clean(versionSpec) || "";
core12.debug(`isExplicit: ${c}`);
const valid2 = semver5.valid(c) != null;
const valid2 = semver6.valid(c) != null;
core12.debug(`explicit? ${valid2}`);
return valid2;
}
@@ -23616,14 +23616,14 @@ var require_tool_cache = __commonJS({
let version = "";
core12.debug(`evaluating ${versions.length} versions`);
versions = versions.sort((a, b) => {
if (semver5.gt(a, b)) {
if (semver6.gt(a, b)) {
return 1;
}
return -1;
});
for (let i = versions.length - 1; i >= 0; i--) {
const potential = versions[i];
const satisfied = semver5.satisfies(potential, versionSpec);
const satisfied = semver6.satisfies(potential, versionSpec);
if (satisfied) {
version = potential;
break;
@@ -35421,6 +35421,7 @@ var require_pkcs12 = __commonJS({
capture: "macAlgorithm"
}, {
name: "PFX.macData.mac.digestAlgorithm.parameters",
optional: true,
tagClass: asn1.Class.UNIVERSAL,
captureAsn1: "macAlgorithmParameters"
}]
@@ -47321,7 +47322,7 @@ var require_package = __commonJS({
"package.json"(exports2, module2) {
module2.exports = {
name: "codeql",
version: "4.31.7",
version: "4.31.9",
private: true,
description: "CodeQL action",
scripts: {
@@ -47364,7 +47365,7 @@ var require_package = __commonJS({
"js-yaml": "^4.1.1",
jsonschema: "1.4.1",
long: "^5.3.2",
"node-forge": "^1.3.2",
"node-forge": "^1.3.3",
semver: "^7.7.3",
uuid: "^13.0.0"
},
@@ -47382,16 +47383,16 @@ var require_package = __commonJS({
"@types/node-forge": "^1.3.14",
"@types/semver": "^7.7.1",
"@types/sinon": "^21.0.0",
"@typescript-eslint/eslint-plugin": "^8.48.0",
"@typescript-eslint/eslint-plugin": "^8.48.1",
"@typescript-eslint/parser": "^8.48.0",
ava: "^6.4.1",
esbuild: "^0.27.0",
esbuild: "^0.27.1",
eslint: "^8.57.1",
"eslint-import-resolver-typescript": "^3.8.7",
"eslint-plugin-filenames": "^1.3.2",
"eslint-plugin-github": "^5.1.8",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-jsdoc": "^61.4.1",
"eslint-plugin-jsdoc": "^61.5.0",
"eslint-plugin-no-async-foreach": "^0.1.1",
glob: "^11.1.0",
nock: "^14.0.10",
@@ -50658,7 +50659,7 @@ var require_brace_expansion = __commonJS({
function lte(i, y) {
return i <= y;
}
function gte3(i, y) {
function gte4(i, y) {
return i >= y;
}
function expand(str2, isTop) {
@@ -50703,7 +50704,7 @@ var require_brace_expansion = __commonJS({
var reverse = y < x;
if (reverse) {
incr *= -1;
test = gte3;
test = gte4;
}
var pad = n.some(isPadded);
N = [];
@@ -52856,8 +52857,8 @@ var require_semver3 = __commonJS({
function neq(a, b, loose) {
return compare(a, b, loose) !== 0;
}
exports2.gte = gte3;
function gte3(a, b, loose) {
exports2.gte = gte4;
function gte4(a, b, loose) {
return compare(a, b, loose) >= 0;
}
exports2.lte = lte;
@@ -52888,7 +52889,7 @@ var require_semver3 = __commonJS({
case ">":
return gt(a, b, loose);
case ">=":
return gte3(a, b, loose);
return gte4(a, b, loose);
case "<":
return lt(a, b, loose);
case "<=":
@@ -53433,7 +53434,7 @@ var require_semver3 = __commonJS({
break;
case "<":
gtfn = lt;
ltefn = gte3;
ltefn = gte4;
ltfn = gt;
comp = "<";
ecomp = "<=";
@@ -53634,7 +53635,7 @@ var require_cacheUtils = __commonJS({
var crypto = __importStar4(require("crypto"));
var fs = __importStar4(require("fs"));
var path2 = __importStar4(require("path"));
var semver5 = __importStar4(require_semver3());
var semver6 = __importStar4(require_semver3());
var util = __importStar4(require("util"));
var constants_1 = require_constants7();
var versionSalt = "1.0";
@@ -53731,7 +53732,7 @@ var require_cacheUtils = __commonJS({
function getCompressionMethod() {
return __awaiter4(this, void 0, void 0, function* () {
const versionOutput = yield getVersion("zstd", ["--quiet"]);
const version = semver5.clean(versionOutput);
const version = semver6.clean(versionOutput);
core12.debug(`zstd version: ${version}`);
if (versionOutput === "") {
return constants_1.CompressionMethod.Gzip;
@@ -56190,7 +56191,7 @@ var require_file2 = __commonJS({
throw new Error("Not implemented");
}
};
var rawContent = Symbol("rawContent");
var rawContent = /* @__PURE__ */ Symbol("rawContent");
function hasRawContent(x) {
return typeof x[rawContent] === "function";
}
@@ -57788,7 +57789,7 @@ var require_dist2 = __commonJS({
var http = __importStar4(require("http"));
var https_1 = require("https");
__exportStar4(require_helpers3(), exports2);
var INTERNAL = Symbol("AgentBaseInternalState");
var INTERNAL = /* @__PURE__ */ Symbol("AgentBaseInternalState");
var Agent = class extends http.Agent {
constructor(opts) {
super(opts);
@@ -58483,8 +58484,8 @@ var require_tracingContext = __commonJS({
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.TracingContextImpl = exports2.createTracingContext = exports2.knownContextKeys = void 0;
exports2.knownContextKeys = {
span: Symbol.for("@azure/core-tracing span"),
namespace: Symbol.for("@azure/core-tracing namespace")
span: /* @__PURE__ */ Symbol.for("@azure/core-tracing span"),
namespace: /* @__PURE__ */ Symbol.for("@azure/core-tracing namespace")
};
function createTracingContext(options = {}) {
let context2 = new TracingContextImpl(options.parentContext);
@@ -61939,7 +61940,7 @@ var require_operationHelpers = __commonJS({
}
return result;
}
var originalRequestSymbol = Symbol.for("@azure/core-client original request");
var originalRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
function hasOriginalRequest(request) {
return originalRequestSymbol in request;
}
@@ -62922,8 +62923,8 @@ var require_util9 = __commonJS({
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.HttpHeaders = exports2.toHttpHeadersLike = exports2.toWebResourceLike = exports2.toPipelineRequest = void 0;
var core_rest_pipeline_1 = require_commonjs5();
var originalRequestSymbol = Symbol("Original PipelineRequest");
var originalClientRequestSymbol = Symbol.for("@azure/core-client original request");
var originalRequestSymbol = /* @__PURE__ */ Symbol("Original PipelineRequest");
var originalClientRequestSymbol = /* @__PURE__ */ Symbol.for("@azure/core-client original request");
function toPipelineRequest(webResource, options = {}) {
const compatWebResource = webResource;
const request = compatWebResource[originalRequestSymbol];
@@ -63165,7 +63166,7 @@ var require_response2 = __commonJS({
exports2.toPipelineResponse = exports2.toCompatResponse = void 0;
var core_rest_pipeline_1 = require_commonjs5();
var util_js_1 = require_util9();
var originalResponse = Symbol("Original FullOperationResponse");
var originalResponse = /* @__PURE__ */ Symbol("Original FullOperationResponse");
function toCompatResponse(response, options) {
let request = (0, util_js_1.toWebResourceLike)(response.request);
let headers = (0, util_js_1.toHttpHeadersLike)(response.headers);
@@ -65786,7 +65787,7 @@ var require_dist6 = __commonJS({
state
}),
onProgress: (callback) => {
const s = Symbol();
const s = /* @__PURE__ */ Symbol();
handlers.set(s, callback);
return () => handlers.delete(s);
},
@@ -91143,7 +91144,7 @@ var require_binary_format_contract = __commonJS({
exports2.WireType = exports2.mergeBinaryOptions = exports2.UnknownFieldHandler = void 0;
var UnknownFieldHandler;
(function(UnknownFieldHandler2) {
UnknownFieldHandler2.symbol = Symbol.for("protobuf-ts/unknown");
UnknownFieldHandler2.symbol = /* @__PURE__ */ Symbol.for("protobuf-ts/unknown");
UnknownFieldHandler2.onRead = (typeName, message, fieldNo, wireType, data) => {
let container = is(message) ? message[UnknownFieldHandler2.symbol] : message[UnknownFieldHandler2.symbol] = [];
container.push({ no: fieldNo, wireType, data });
@@ -92068,7 +92069,7 @@ var require_message_type_contract = __commonJS({
"use strict";
Object.defineProperty(exports2, "__esModule", { value: true });
exports2.MESSAGE_TYPE = void 0;
exports2.MESSAGE_TYPE = Symbol.for("protobuf-ts/message-type");
exports2.MESSAGE_TYPE = /* @__PURE__ */ Symbol.for("protobuf-ts/message-type");
}
});
@@ -99720,8 +99721,8 @@ function getActionsLogger() {
var core7 = __toESM(require_core());
// src/defaults.json
var bundleVersion = "codeql-bundle-v2.23.7";
var cliVersion = "2.23.7";
var bundleVersion = "codeql-bundle-v2.23.8";
var cliVersion = "2.23.8";
// src/languages.ts
var KnownLanguage = /* @__PURE__ */ ((KnownLanguage2) => {
@@ -99905,7 +99906,7 @@ var PACK_IDENTIFIER_PATTERN = (function() {
})();
// src/feature-flags.ts
var semver4 = __toESM(require_semver2());
var semver5 = __toESM(require_semver2());
// src/overlay-database-utils.ts
var actionsCache = __toESM(require_cache3());
@@ -99914,6 +99915,7 @@ var actionsCache = __toESM(require_cache3());
var core9 = __toESM(require_core());
var toolrunner2 = __toESM(require_toolrunner());
var io3 = __toESM(require_io3());
var semver3 = __toESM(require_semver2());
var runGitCommand = async function(workingDirectory, args, customErrorMessage) {
let stdout = "";
let stderr = "";
@@ -100008,7 +100010,7 @@ var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB = 7500;
var OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_BYTES = OVERLAY_BASE_DATABASE_MAX_UPLOAD_SIZE_MB * 1e6;
// src/tools-features.ts
var semver3 = __toESM(require_semver2());
var semver4 = __toESM(require_semver2());
// src/feature-flags.ts
var featureConfig = {
@@ -100017,11 +100019,6 @@ var featureConfig = {
envVar: "CODEQL_ACTION_ALLOW_TOOLCACHE_INPUT",
minimumVersion: void 0
},
["analyze_use_new_upload" /* AnalyzeUseNewUpload */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_ANALYZE_USE_NEW_UPLOAD",
minimumVersion: void 0
},
["cleanup_trap_caches" /* CleanupTrapCaches */]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",

525
lib/upload-lib.js generated

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

440
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "codeql",
"version": "4.31.7",
"version": "4.31.9",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "codeql",
"version": "4.31.7",
"version": "4.31.9",
"license": "MIT",
"dependencies": {
"@actions/artifact": "^4.0.0",
@@ -28,7 +28,7 @@
"js-yaml": "^4.1.1",
"jsonschema": "1.4.1",
"long": "^5.3.2",
"node-forge": "^1.3.2",
"node-forge": "^1.3.3",
"semver": "^7.7.3",
"uuid": "^13.0.0"
},
@@ -46,16 +46,16 @@
"@types/node-forge": "^1.3.14",
"@types/semver": "^7.7.1",
"@types/sinon": "^21.0.0",
"@typescript-eslint/eslint-plugin": "^8.48.0",
"@typescript-eslint/eslint-plugin": "^8.48.1",
"@typescript-eslint/parser": "^8.48.0",
"ava": "^6.4.1",
"esbuild": "^0.27.0",
"esbuild": "^0.27.1",
"eslint": "^8.57.1",
"eslint-import-resolver-typescript": "^3.8.7",
"eslint-plugin-filenames": "^1.3.2",
"eslint-plugin-github": "^5.1.8",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-jsdoc": "^61.4.1",
"eslint-plugin-jsdoc": "^61.5.0",
"eslint-plugin-no-async-foreach": "^0.1.1",
"glob": "^11.1.0",
"nock": "^14.0.10",
@@ -947,9 +947,9 @@
}
},
"node_modules/@esbuild/aix-ppc64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.0.tgz",
"integrity": "sha512-KuZrd2hRjz01y5JK9mEBSD3Vj3mbCvemhT466rSuJYeE/hjuBrHfjjcjMdTm/sz7au+++sdbJZJmuBwQLuw68A==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.1.tgz",
"integrity": "sha512-HHB50pdsBX6k47S4u5g/CaLjqS3qwaOVE5ILsq64jyzgMhLuCuZ8rGzM9yhsAjfjkbgUPMzZEPa7DAp7yz6vuA==",
"cpu": [
"ppc64"
],
@@ -964,9 +964,9 @@
}
},
"node_modules/@esbuild/android-arm": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.0.tgz",
"integrity": "sha512-j67aezrPNYWJEOHUNLPj9maeJte7uSMM6gMoxfPC9hOg8N02JuQi/T7ewumf4tNvJadFkvLZMlAq73b9uwdMyQ==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.1.tgz",
"integrity": "sha512-kFqa6/UcaTbGm/NncN9kzVOODjhZW8e+FRdSeypWe6j33gzclHtwlANs26JrupOntlcWmB0u8+8HZo8s7thHvg==",
"cpu": [
"arm"
],
@@ -981,9 +981,9 @@
}
},
"node_modules/@esbuild/android-arm64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.0.tgz",
"integrity": "sha512-CC3vt4+1xZrs97/PKDkl0yN7w8edvU2vZvAFGD16n9F0Cvniy5qvzRXjfO1l94efczkkQE6g1x0i73Qf5uthOQ==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.1.tgz",
"integrity": "sha512-45fuKmAJpxnQWixOGCrS+ro4Uvb4Re9+UTieUY2f8AEc+t7d4AaZ6eUJ3Hva7dtrxAAWHtlEFsXFMAgNnGU9uQ==",
"cpu": [
"arm64"
],
@@ -998,9 +998,9 @@
}
},
"node_modules/@esbuild/android-x64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.0.tgz",
"integrity": "sha512-wurMkF1nmQajBO1+0CJmcN17U4BP6GqNSROP8t0X/Jiw2ltYGLHpEksp9MpoBqkrFR3kv2/te6Sha26k3+yZ9Q==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.1.tgz",
"integrity": "sha512-LBEpOz0BsgMEeHgenf5aqmn/lLNTFXVfoWMUox8CtWWYK9X4jmQzWjoGoNb8lmAYml/tQ/Ysvm8q7szu7BoxRQ==",
"cpu": [
"x64"
],
@@ -1015,9 +1015,9 @@
}
},
"node_modules/@esbuild/darwin-arm64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.0.tgz",
"integrity": "sha512-uJOQKYCcHhg07DL7i8MzjvS2LaP7W7Pn/7uA0B5S1EnqAirJtbyw4yC5jQ5qcFjHK9l6o/MX9QisBg12kNkdHg==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.1.tgz",
"integrity": "sha512-veg7fL8eMSCVKL7IW4pxb54QERtedFDfY/ASrumK/SbFsXnRazxY4YykN/THYqFnFwJ0aVjiUrVG2PwcdAEqQQ==",
"cpu": [
"arm64"
],
@@ -1032,9 +1032,9 @@
}
},
"node_modules/@esbuild/darwin-x64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.0.tgz",
"integrity": "sha512-8mG6arH3yB/4ZXiEnXof5MK72dE6zM9cDvUcPtxhUZsDjESl9JipZYW60C3JGreKCEP+p8P/72r69m4AZGJd5g==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.1.tgz",
"integrity": "sha512-+3ELd+nTzhfWb07Vol7EZ+5PTbJ/u74nC6iv4/lwIU99Ip5uuY6QoIf0Hn4m2HoV0qcnRivN3KSqc+FyCHjoVQ==",
"cpu": [
"x64"
],
@@ -1049,9 +1049,9 @@
}
},
"node_modules/@esbuild/freebsd-arm64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.0.tgz",
"integrity": "sha512-9FHtyO988CwNMMOE3YIeci+UV+x5Zy8fI2qHNpsEtSF83YPBmE8UWmfYAQg6Ux7Gsmd4FejZqnEUZCMGaNQHQw==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.1.tgz",
"integrity": "sha512-/8Rfgns4XD9XOSXlzUDepG8PX+AVWHliYlUkFI3K3GB6tqbdjYqdhcb4BKRd7C0BhZSoaCxhv8kTcBrcZWP+xg==",
"cpu": [
"arm64"
],
@@ -1066,9 +1066,9 @@
}
},
"node_modules/@esbuild/freebsd-x64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.0.tgz",
"integrity": "sha512-zCMeMXI4HS/tXvJz8vWGexpZj2YVtRAihHLk1imZj4efx1BQzN76YFeKqlDr3bUWI26wHwLWPd3rwh6pe4EV7g==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.1.tgz",
"integrity": "sha512-GITpD8dK9C+r+5yRT/UKVT36h/DQLOHdwGVwwoHidlnA168oD3uxA878XloXebK4Ul3gDBBIvEdL7go9gCUFzQ==",
"cpu": [
"x64"
],
@@ -1083,9 +1083,9 @@
}
},
"node_modules/@esbuild/linux-arm": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.0.tgz",
"integrity": "sha512-t76XLQDpxgmq2cNXKTVEB7O7YMb42atj2Re2Haf45HkaUpjM2J0UuJZDuaGbPbamzZ7bawyGFUkodL+zcE+jvQ==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.1.tgz",
"integrity": "sha512-ieMID0JRZY/ZeCrsFQ3Y3NlHNCqIhTprJfDgSB3/lv5jJZ8FX3hqPyXWhe+gvS5ARMBJ242PM+VNz/ctNj//eA==",
"cpu": [
"arm"
],
@@ -1100,9 +1100,9 @@
}
},
"node_modules/@esbuild/linux-arm64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.0.tgz",
"integrity": "sha512-AS18v0V+vZiLJyi/4LphvBE+OIX682Pu7ZYNsdUHyUKSoRwdnOsMf6FDekwoAFKej14WAkOef3zAORJgAtXnlQ==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.1.tgz",
"integrity": "sha512-W9//kCrh/6in9rWIBdKaMtuTTzNj6jSeG/haWBADqLLa9P8O5YSRDzgD5y9QBok4AYlzS6ARHifAb75V6G670Q==",
"cpu": [
"arm64"
],
@@ -1117,9 +1117,9 @@
}
},
"node_modules/@esbuild/linux-ia32": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.0.tgz",
"integrity": "sha512-Mz1jxqm/kfgKkc/KLHC5qIujMvnnarD9ra1cEcrs7qshTUSksPihGrWHVG5+osAIQ68577Zpww7SGapmzSt4Nw==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.1.tgz",
"integrity": "sha512-VIUV4z8GD8rtSVMfAj1aXFahsi/+tcoXXNYmXgzISL+KB381vbSTNdeZHHHIYqFyXcoEhu9n5cT+05tRv13rlw==",
"cpu": [
"ia32"
],
@@ -1134,9 +1134,9 @@
}
},
"node_modules/@esbuild/linux-loong64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.0.tgz",
"integrity": "sha512-QbEREjdJeIreIAbdG2hLU1yXm1uu+LTdzoq1KCo4G4pFOLlvIspBm36QrQOar9LFduavoWX2msNFAAAY9j4BDg==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.1.tgz",
"integrity": "sha512-l4rfiiJRN7sTNI//ff65zJ9z8U+k6zcCg0LALU5iEWzY+a1mVZ8iWC1k5EsNKThZ7XCQ6YWtsZ8EWYm7r1UEsg==",
"cpu": [
"loong64"
],
@@ -1151,9 +1151,9 @@
}
},
"node_modules/@esbuild/linux-mips64el": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.0.tgz",
"integrity": "sha512-sJz3zRNe4tO2wxvDpH/HYJilb6+2YJxo/ZNbVdtFiKDufzWq4JmKAiHy9iGoLjAV7r/W32VgaHGkk35cUXlNOg==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.1.tgz",
"integrity": "sha512-U0bEuAOLvO/DWFdygTHWY8C067FXz+UbzKgxYhXC0fDieFa0kDIra1FAhsAARRJbvEyso8aAqvPdNxzWuStBnA==",
"cpu": [
"mips64el"
],
@@ -1168,9 +1168,9 @@
}
},
"node_modules/@esbuild/linux-ppc64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.0.tgz",
"integrity": "sha512-z9N10FBD0DCS2dmSABDBb5TLAyF1/ydVb+N4pi88T45efQ/w4ohr/F/QYCkxDPnkhkp6AIpIcQKQ8F0ANoA2JA==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.1.tgz",
"integrity": "sha512-NzdQ/Xwu6vPSf/GkdmRNsOfIeSGnh7muundsWItmBsVpMoNPVpM61qNzAVY3pZ1glzzAxLR40UyYM23eaDDbYQ==",
"cpu": [
"ppc64"
],
@@ -1185,9 +1185,9 @@
}
},
"node_modules/@esbuild/linux-riscv64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.0.tgz",
"integrity": "sha512-pQdyAIZ0BWIC5GyvVFn5awDiO14TkT/19FTmFcPdDec94KJ1uZcmFs21Fo8auMXzD4Tt+diXu1LW1gHus9fhFQ==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.1.tgz",
"integrity": "sha512-7zlw8p3IApcsN7mFw0O1Z1PyEk6PlKMu18roImfl3iQHTnr/yAfYv6s4hXPidbDoI2Q0pW+5xeoM4eTCC0UdrQ==",
"cpu": [
"riscv64"
],
@@ -1202,9 +1202,9 @@
}
},
"node_modules/@esbuild/linux-s390x": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.0.tgz",
"integrity": "sha512-hPlRWR4eIDDEci953RI1BLZitgi5uqcsjKMxwYfmi4LcwyWo2IcRP+lThVnKjNtk90pLS8nKdroXYOqW+QQH+w==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.1.tgz",
"integrity": "sha512-cGj5wli+G+nkVQdZo3+7FDKC25Uh4ZVwOAK6A06Hsvgr8WqBBuOy/1s+PUEd/6Je+vjfm6stX0kmib5b/O2Ykw==",
"cpu": [
"s390x"
],
@@ -1219,9 +1219,9 @@
}
},
"node_modules/@esbuild/linux-x64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.0.tgz",
"integrity": "sha512-1hBWx4OUJE2cab++aVZ7pObD6s+DK4mPGpemtnAORBvb5l/g5xFGk0vc0PjSkrDs0XaXj9yyob3d14XqvnQ4gw==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.1.tgz",
"integrity": "sha512-z3H/HYI9MM0HTv3hQZ81f+AKb+yEoCRlUby1F80vbQ5XdzEMyY/9iNlAmhqiBKw4MJXwfgsh7ERGEOhrM1niMA==",
"cpu": [
"x64"
],
@@ -1236,9 +1236,9 @@
}
},
"node_modules/@esbuild/netbsd-arm64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.0.tgz",
"integrity": "sha512-6m0sfQfxfQfy1qRuecMkJlf1cIzTOgyaeXaiVaaki8/v+WB+U4hc6ik15ZW6TAllRlg/WuQXxWj1jx6C+dfy3w==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.1.tgz",
"integrity": "sha512-wzC24DxAvk8Em01YmVXyjl96Mr+ecTPyOuADAvjGg+fyBpGmxmcr2E5ttf7Im8D0sXZihpxzO1isus8MdjMCXQ==",
"cpu": [
"arm64"
],
@@ -1253,9 +1253,9 @@
}
},
"node_modules/@esbuild/netbsd-x64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.0.tgz",
"integrity": "sha512-xbbOdfn06FtcJ9d0ShxxvSn2iUsGd/lgPIO2V3VZIPDbEaIj1/3nBBe1AwuEZKXVXkMmpr6LUAgMkLD/4D2PPA==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.1.tgz",
"integrity": "sha512-1YQ8ybGi2yIXswu6eNzJsrYIGFpnlzEWRl6iR5gMgmsrR0FcNoV1m9k9sc3PuP5rUBLshOZylc9nqSgymI+TYg==",
"cpu": [
"x64"
],
@@ -1270,9 +1270,9 @@
}
},
"node_modules/@esbuild/openbsd-arm64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.0.tgz",
"integrity": "sha512-fWgqR8uNbCQ/GGv0yhzttj6sU/9Z5/Sv/VGU3F5OuXK6J6SlriONKrQ7tNlwBrJZXRYk5jUhuWvF7GYzGguBZQ==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.1.tgz",
"integrity": "sha512-5Z+DzLCrq5wmU7RDaMDe2DVXMRm2tTDvX2KU14JJVBN2CT/qov7XVix85QoJqHltpvAOZUAc3ndU56HSMWrv8g==",
"cpu": [
"arm64"
],
@@ -1287,9 +1287,9 @@
}
},
"node_modules/@esbuild/openbsd-x64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.0.tgz",
"integrity": "sha512-aCwlRdSNMNxkGGqQajMUza6uXzR/U0dIl1QmLjPtRbLOx3Gy3otfFu/VjATy4yQzo9yFDGTxYDo1FfAD9oRD2A==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.1.tgz",
"integrity": "sha512-Q73ENzIdPF5jap4wqLtsfh8YbYSZ8Q0wnxplOlZUOyZy7B4ZKW8DXGWgTCZmF8VWD7Tciwv5F4NsRf6vYlZtqg==",
"cpu": [
"x64"
],
@@ -1304,9 +1304,9 @@
}
},
"node_modules/@esbuild/openharmony-arm64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.0.tgz",
"integrity": "sha512-nyvsBccxNAsNYz2jVFYwEGuRRomqZ149A39SHWk4hV0jWxKM0hjBPm3AmdxcbHiFLbBSwG6SbpIcUbXjgyECfA==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.1.tgz",
"integrity": "sha512-ajbHrGM/XiK+sXM0JzEbJAen+0E+JMQZ2l4RR4VFwvV9JEERx+oxtgkpoKv1SevhjavK2z2ReHk32pjzktWbGg==",
"cpu": [
"arm64"
],
@@ -1321,9 +1321,9 @@
}
},
"node_modules/@esbuild/sunos-x64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.0.tgz",
"integrity": "sha512-Q1KY1iJafM+UX6CFEL+F4HRTgygmEW568YMqDA5UV97AuZSm21b7SXIrRJDwXWPzr8MGr75fUZPV67FdtMHlHA==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.1.tgz",
"integrity": "sha512-IPUW+y4VIjuDVn+OMzHc5FV4GubIwPnsz6ubkvN8cuhEqH81NovB53IUlrlBkPMEPxvNnf79MGBoz8rZ2iW8HA==",
"cpu": [
"x64"
],
@@ -1338,9 +1338,9 @@
}
},
"node_modules/@esbuild/win32-arm64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.0.tgz",
"integrity": "sha512-W1eyGNi6d+8kOmZIwi/EDjrL9nxQIQ0MiGqe/AWc6+IaHloxHSGoeRgDRKHFISThLmsewZ5nHFvGFWdBYlgKPg==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.1.tgz",
"integrity": "sha512-RIVRWiljWA6CdVu8zkWcRmGP7iRRIIwvhDKem8UMBjPql2TXM5PkDVvvrzMtj1V+WFPB4K7zkIGM7VzRtFkjdg==",
"cpu": [
"arm64"
],
@@ -1355,9 +1355,9 @@
}
},
"node_modules/@esbuild/win32-ia32": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.0.tgz",
"integrity": "sha512-30z1aKL9h22kQhilnYkORFYt+3wp7yZsHWus+wSKAJR8JtdfI76LJ4SBdMsCopTR3z/ORqVu5L1vtnHZWVj4cQ==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.1.tgz",
"integrity": "sha512-2BR5M8CPbptC1AK5JbJT1fWrHLvejwZidKx3UMSF0ecHMa+smhi16drIrCEggkgviBwLYd5nwrFLSl5Kho96RQ==",
"cpu": [
"ia32"
],
@@ -1372,9 +1372,9 @@
}
},
"node_modules/@esbuild/win32-x64": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.0.tgz",
"integrity": "sha512-aIitBcjQeyOhMTImhLZmtxfdOcuNRpwlPNmlFKPcHQYPhEssw75Cl1TSXJXpMkzaua9FUetx/4OQKq7eJul5Cg==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.1.tgz",
"integrity": "sha512-d5X6RMYv6taIymSk8JBP+nxv8DQAMY6A51GPgusqLdK9wBz5wWIXy1KjTck6HnjE9hqJzJRdk+1p/t5soSbCtw==",
"cpu": [
"x64"
],
@@ -2371,17 +2371,17 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.48.0.tgz",
"integrity": "sha512-XxXP5tL1txl13YFtrECECQYeZjBZad4fyd3cFV4a19LkAY/bIp9fev3US4S5fDVV2JaYFiKAZ/GRTOLer+mbyQ==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.48.1.tgz",
"integrity": "sha512-X63hI1bxl5ohelzr0LY5coufyl0LJNthld+abwxpCoo6Gq+hSqhKwci7MUWkXo67mzgUK6YFByhmaHmUcuBJmA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/regexpp": "^4.10.0",
"@typescript-eslint/scope-manager": "8.48.0",
"@typescript-eslint/type-utils": "8.48.0",
"@typescript-eslint/utils": "8.48.0",
"@typescript-eslint/visitor-keys": "8.48.0",
"@typescript-eslint/scope-manager": "8.48.1",
"@typescript-eslint/type-utils": "8.48.1",
"@typescript-eslint/utils": "8.48.1",
"@typescript-eslint/visitor-keys": "8.48.1",
"graphemer": "^1.4.0",
"ignore": "^7.0.0",
"natural-compare": "^1.4.0",
@@ -2395,20 +2395,20 @@
"url": "https://opencollective.com/typescript-eslint"
},
"peerDependencies": {
"@typescript-eslint/parser": "^8.48.0",
"@typescript-eslint/parser": "^8.48.1",
"eslint": "^8.57.0 || ^9.0.0",
"typescript": ">=4.8.4 <6.0.0"
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/scope-manager": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.0.tgz",
"integrity": "sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.1.tgz",
"integrity": "sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/visitor-keys": "8.48.0"
"@typescript-eslint/types": "8.48.1",
"@typescript-eslint/visitor-keys": "8.48.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2419,9 +2419,9 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/types": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.0.tgz",
"integrity": "sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.1.tgz",
"integrity": "sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -2433,16 +2433,16 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/typescript-estree": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.0.tgz",
"integrity": "sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.1.tgz",
"integrity": "sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/project-service": "8.48.0",
"@typescript-eslint/tsconfig-utils": "8.48.0",
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/visitor-keys": "8.48.0",
"@typescript-eslint/project-service": "8.48.1",
"@typescript-eslint/tsconfig-utils": "8.48.1",
"@typescript-eslint/types": "8.48.1",
"@typescript-eslint/visitor-keys": "8.48.1",
"debug": "^4.3.4",
"minimatch": "^9.0.4",
"semver": "^7.6.0",
@@ -2461,16 +2461,16 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/utils": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.48.0.tgz",
"integrity": "sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.48.1.tgz",
"integrity": "sha512-fAnhLrDjiVfey5wwFRwrweyRlCmdz5ZxXz2G/4cLn0YDLjTapmN4gcCsTBR1N2rWnZSDeWpYtgLDsJt+FpmcwA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.7.0",
"@typescript-eslint/scope-manager": "8.48.0",
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/typescript-estree": "8.48.0"
"@typescript-eslint/scope-manager": "8.48.1",
"@typescript-eslint/types": "8.48.1",
"@typescript-eslint/typescript-estree": "8.48.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2485,13 +2485,13 @@
}
},
"node_modules/@typescript-eslint/eslint-plugin/node_modules/@typescript-eslint/visitor-keys": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.0.tgz",
"integrity": "sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.1.tgz",
"integrity": "sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/types": "8.48.1",
"eslint-visitor-keys": "^4.2.1"
},
"engines": {
@@ -2564,17 +2564,17 @@
}
},
"node_modules/@typescript-eslint/parser": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.48.0.tgz",
"integrity": "sha512-jCzKdm/QK0Kg4V4IK/oMlRZlY+QOcdjv89U2NgKHZk1CYTj82/RVSx1mV/0gqCVMJ/DA+Zf/S4NBWNF8GQ+eqQ==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.48.1.tgz",
"integrity": "sha512-PC0PDZfJg8sP7cmKe6L3QIL8GZwU5aRvUFedqSIpw3B+QjRSUZeeITC2M5XKeMXEzL6wccN196iy3JLwKNvDVA==",
"dev": true,
"license": "MIT",
"peer": true,
"dependencies": {
"@typescript-eslint/scope-manager": "8.48.0",
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/typescript-estree": "8.48.0",
"@typescript-eslint/visitor-keys": "8.48.0",
"@typescript-eslint/scope-manager": "8.48.1",
"@typescript-eslint/types": "8.48.1",
"@typescript-eslint/typescript-estree": "8.48.1",
"@typescript-eslint/visitor-keys": "8.48.1",
"debug": "^4.3.4"
},
"engines": {
@@ -2590,14 +2590,14 @@
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/scope-manager": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.0.tgz",
"integrity": "sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.1.tgz",
"integrity": "sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/visitor-keys": "8.48.0"
"@typescript-eslint/types": "8.48.1",
"@typescript-eslint/visitor-keys": "8.48.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2608,9 +2608,9 @@
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/types": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.0.tgz",
"integrity": "sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.1.tgz",
"integrity": "sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -2622,16 +2622,16 @@
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/typescript-estree": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.0.tgz",
"integrity": "sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.1.tgz",
"integrity": "sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/project-service": "8.48.0",
"@typescript-eslint/tsconfig-utils": "8.48.0",
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/visitor-keys": "8.48.0",
"@typescript-eslint/project-service": "8.48.1",
"@typescript-eslint/tsconfig-utils": "8.48.1",
"@typescript-eslint/types": "8.48.1",
"@typescript-eslint/visitor-keys": "8.48.1",
"debug": "^4.3.4",
"minimatch": "^9.0.4",
"semver": "^7.6.0",
@@ -2650,13 +2650,13 @@
}
},
"node_modules/@typescript-eslint/parser/node_modules/@typescript-eslint/visitor-keys": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.0.tgz",
"integrity": "sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.1.tgz",
"integrity": "sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/types": "8.48.1",
"eslint-visitor-keys": "^4.2.1"
},
"engines": {
@@ -2720,14 +2720,14 @@
}
},
"node_modules/@typescript-eslint/project-service": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.48.0.tgz",
"integrity": "sha512-Ne4CTZyRh1BecBf84siv42wv5vQvVmgtk8AuiEffKTUo3DrBaGYZueJSxxBZ8fjk/N3DrgChH4TOdIOwOwiqqw==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.48.1.tgz",
"integrity": "sha512-HQWSicah4s9z2/HifRPQ6b6R7G+SBx64JlFQpgSSHWPKdvCZX57XCbszg/bapbRsOEv42q5tayTYcEFpACcX1w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/tsconfig-utils": "^8.48.0",
"@typescript-eslint/types": "^8.48.0",
"@typescript-eslint/tsconfig-utils": "^8.48.1",
"@typescript-eslint/types": "^8.48.1",
"debug": "^4.3.4"
},
"engines": {
@@ -2742,9 +2742,9 @@
}
},
"node_modules/@typescript-eslint/project-service/node_modules/@typescript-eslint/types": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.0.tgz",
"integrity": "sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.1.tgz",
"integrity": "sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -2774,9 +2774,9 @@
}
},
"node_modules/@typescript-eslint/tsconfig-utils": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.0.tgz",
"integrity": "sha512-WNebjBdFdyu10sR1M4OXTt2OkMd5KWIL+LLfeH9KhgP+jzfDV/LI3eXzwJ1s9+Yc0Kzo2fQCdY/OpdusCMmh6w==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.48.1.tgz",
"integrity": "sha512-k0Jhs4CpEffIBm6wPaCXBAD7jxBtrHjrSgtfCjUvPp9AZ78lXKdTR8fxyZO5y4vWNlOvYXRtngSZNSn+H53Jkw==",
"dev": true,
"license": "MIT",
"engines": {
@@ -2791,15 +2791,15 @@
}
},
"node_modules/@typescript-eslint/type-utils": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.48.0.tgz",
"integrity": "sha512-zbeVaVqeXhhab6QNEKfK96Xyc7UQuoFWERhEnj3mLVnUWrQnv15cJNseUni7f3g557gm0e46LZ6IJ4NJVOgOpw==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.48.1.tgz",
"integrity": "sha512-1jEop81a3LrJQLTf/1VfPQdhIY4PlGDBc/i67EVWObrtvcziysbLN3oReexHOM6N3jyXgCrkBsZpqwH0hiDOQg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/typescript-estree": "8.48.0",
"@typescript-eslint/utils": "8.48.0",
"@typescript-eslint/types": "8.48.1",
"@typescript-eslint/typescript-estree": "8.48.1",
"@typescript-eslint/utils": "8.48.1",
"debug": "^4.3.4",
"ts-api-utils": "^2.1.0"
},
@@ -2816,14 +2816,14 @@
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/scope-manager": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.0.tgz",
"integrity": "sha512-uGSSsbrtJrLduti0Q1Q9+BF1/iFKaxGoQwjWOIVNJv0o6omrdyR8ct37m4xIl5Zzpkp69Kkmvom7QFTtue89YQ==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.48.1.tgz",
"integrity": "sha512-rj4vWQsytQbLxC5Bf4XwZ0/CKd362DkWMUkviT7DCS057SK64D5lH74sSGzhI6PDD2HCEq02xAP9cX68dYyg1w==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/visitor-keys": "8.48.0"
"@typescript-eslint/types": "8.48.1",
"@typescript-eslint/visitor-keys": "8.48.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2834,9 +2834,9 @@
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/types": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.0.tgz",
"integrity": "sha512-cQMcGQQH7kwKoVswD1xdOytxQR60MWKM1di26xSUtxehaDs/32Zpqsu5WJlXTtTTqyAVK8R7hvsUnIXRS+bjvA==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.48.1.tgz",
"integrity": "sha512-+fZ3LZNeiELGmimrujsDCT4CRIbq5oXdHe7chLiW8qzqyPMnn1puNstCrMNVAqwcl2FdIxkuJ4tOs/RFDBVc/Q==",
"dev": true,
"license": "MIT",
"engines": {
@@ -2848,16 +2848,16 @@
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/typescript-estree": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.0.tgz",
"integrity": "sha512-ljHab1CSO4rGrQIAyizUS6UGHHCiAYhbfcIZ1zVJr5nMryxlXMVWS3duFPSKvSUbFPwkXMFk1k0EMIjub4sRRQ==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.48.1.tgz",
"integrity": "sha512-/9wQ4PqaefTK6POVTjJaYS0bynCgzh6ClJHGSBj06XEHjkfylzB+A3qvyaXnErEZSaxhIo4YdyBgq6j4RysxDg==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/project-service": "8.48.0",
"@typescript-eslint/tsconfig-utils": "8.48.0",
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/visitor-keys": "8.48.0",
"@typescript-eslint/project-service": "8.48.1",
"@typescript-eslint/tsconfig-utils": "8.48.1",
"@typescript-eslint/types": "8.48.1",
"@typescript-eslint/visitor-keys": "8.48.1",
"debug": "^4.3.4",
"minimatch": "^9.0.4",
"semver": "^7.6.0",
@@ -2876,16 +2876,16 @@
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/utils": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.48.0.tgz",
"integrity": "sha512-yTJO1XuGxCsSfIVt1+1UrLHtue8xz16V8apzPYI06W0HbEbEWHxHXgZaAgavIkoh+GeV6hKKd5jm0sS6OYxWXQ==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.48.1.tgz",
"integrity": "sha512-fAnhLrDjiVfey5wwFRwrweyRlCmdz5ZxXz2G/4cLn0YDLjTapmN4gcCsTBR1N2rWnZSDeWpYtgLDsJt+FpmcwA==",
"dev": true,
"license": "MIT",
"dependencies": {
"@eslint-community/eslint-utils": "^4.7.0",
"@typescript-eslint/scope-manager": "8.48.0",
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/typescript-estree": "8.48.0"
"@typescript-eslint/scope-manager": "8.48.1",
"@typescript-eslint/types": "8.48.1",
"@typescript-eslint/typescript-estree": "8.48.1"
},
"engines": {
"node": "^18.18.0 || ^20.9.0 || >=21.1.0"
@@ -2900,13 +2900,13 @@
}
},
"node_modules/@typescript-eslint/type-utils/node_modules/@typescript-eslint/visitor-keys": {
"version": "8.48.0",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.0.tgz",
"integrity": "sha512-T0XJMaRPOH3+LBbAfzR2jalckP1MSG/L9eUtY0DEzUyVaXJ/t6zN0nR7co5kz0Jko/nkSYCBRkz1djvjajVTTg==",
"version": "8.48.1",
"resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.48.1.tgz",
"integrity": "sha512-BmxxndzEWhE4TIEEMBs8lP3MBWN3jFPs/p6gPm/wkv02o41hI6cq9AuSmGAaTTHPtA1FTi2jBre4A9rm5ZmX+Q==",
"dev": true,
"license": "MIT",
"dependencies": {
"@typescript-eslint/types": "8.48.0",
"@typescript-eslint/types": "8.48.1",
"eslint-visitor-keys": "^4.2.1"
},
"engines": {
@@ -4530,9 +4530,9 @@
}
},
"node_modules/esbuild": {
"version": "0.27.0",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.0.tgz",
"integrity": "sha512-jd0f4NHbD6cALCyGElNpGAOtWxSq46l9X/sWB0Nzd5er4Kz2YTm+Vl0qKFT9KUJvD8+fiO8AvoHhFvEatfVixA==",
"version": "0.27.1",
"resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.1.tgz",
"integrity": "sha512-yY35KZckJJuVVPXpvjgxiCuVEJT67F6zDeVTv4rizyPrfGBUpZQsvmxnN+C371c2esD/hNMjj4tpBhuueLN7aA==",
"dev": true,
"hasInstallScript": true,
"license": "MIT",
@@ -4543,32 +4543,32 @@
"node": ">=18"
},
"optionalDependencies": {
"@esbuild/aix-ppc64": "0.27.0",
"@esbuild/android-arm": "0.27.0",
"@esbuild/android-arm64": "0.27.0",
"@esbuild/android-x64": "0.27.0",
"@esbuild/darwin-arm64": "0.27.0",
"@esbuild/darwin-x64": "0.27.0",
"@esbuild/freebsd-arm64": "0.27.0",
"@esbuild/freebsd-x64": "0.27.0",
"@esbuild/linux-arm": "0.27.0",
"@esbuild/linux-arm64": "0.27.0",
"@esbuild/linux-ia32": "0.27.0",
"@esbuild/linux-loong64": "0.27.0",
"@esbuild/linux-mips64el": "0.27.0",
"@esbuild/linux-ppc64": "0.27.0",
"@esbuild/linux-riscv64": "0.27.0",
"@esbuild/linux-s390x": "0.27.0",
"@esbuild/linux-x64": "0.27.0",
"@esbuild/netbsd-arm64": "0.27.0",
"@esbuild/netbsd-x64": "0.27.0",
"@esbuild/openbsd-arm64": "0.27.0",
"@esbuild/openbsd-x64": "0.27.0",
"@esbuild/openharmony-arm64": "0.27.0",
"@esbuild/sunos-x64": "0.27.0",
"@esbuild/win32-arm64": "0.27.0",
"@esbuild/win32-ia32": "0.27.0",
"@esbuild/win32-x64": "0.27.0"
"@esbuild/aix-ppc64": "0.27.1",
"@esbuild/android-arm": "0.27.1",
"@esbuild/android-arm64": "0.27.1",
"@esbuild/android-x64": "0.27.1",
"@esbuild/darwin-arm64": "0.27.1",
"@esbuild/darwin-x64": "0.27.1",
"@esbuild/freebsd-arm64": "0.27.1",
"@esbuild/freebsd-x64": "0.27.1",
"@esbuild/linux-arm": "0.27.1",
"@esbuild/linux-arm64": "0.27.1",
"@esbuild/linux-ia32": "0.27.1",
"@esbuild/linux-loong64": "0.27.1",
"@esbuild/linux-mips64el": "0.27.1",
"@esbuild/linux-ppc64": "0.27.1",
"@esbuild/linux-riscv64": "0.27.1",
"@esbuild/linux-s390x": "0.27.1",
"@esbuild/linux-x64": "0.27.1",
"@esbuild/netbsd-arm64": "0.27.1",
"@esbuild/netbsd-x64": "0.27.1",
"@esbuild/openbsd-arm64": "0.27.1",
"@esbuild/openbsd-x64": "0.27.1",
"@esbuild/openharmony-arm64": "0.27.1",
"@esbuild/sunos-x64": "0.27.1",
"@esbuild/win32-arm64": "0.27.1",
"@esbuild/win32-ia32": "0.27.1",
"@esbuild/win32-x64": "0.27.1"
}
},
"node_modules/escalade": {
@@ -4957,9 +4957,9 @@
}
},
"node_modules/eslint-plugin-jsdoc": {
"version": "61.4.1",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.4.1.tgz",
"integrity": "sha512-3c1QW/bV25sJ1MsIvsvW+EtLtN6yZMduw7LVQNVt72y2/5BbV5Pg5b//TE5T48LRUxoEQGaZJejCmcj3wCxBzw==",
"version": "61.5.0",
"resolved": "https://registry.npmjs.org/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-61.5.0.tgz",
"integrity": "sha512-PR81eOGq4S7diVnV9xzFSBE4CDENRQGP0Lckkek8AdHtbj+6Bm0cItwlFnxsLFriJHspiE3mpu8U20eODyToIg==",
"dev": true,
"license": "BSD-3-Clause",
"dependencies": {
@@ -6977,9 +6977,9 @@
}
},
"node_modules/node-forge": {
"version": "1.3.2",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.2.tgz",
"integrity": "sha512-6xKiQ+cph9KImrRh0VsjH2d8/GXA4FIMlgU4B757iI1ApvcyA9VlouP0yZJha01V+huImO+kKMU7ih+2+E14fw==",
"version": "1.3.3",
"resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.3.tgz",
"integrity": "sha512-rLvcdSyRCyouf6jcOIPe/BgwG/d7hKjzMKOas33/pHEr6gbq18IK9zV7DiPvzsz0oBJPme6qr6H6kGZuI9/DZg==",
"license": "(BSD-3-Clause OR GPL-2.0)",
"engines": {
"node": ">= 6.13.0"

View File

@@ -1,6 +1,6 @@
{
"name": "codeql",
"version": "4.31.7",
"version": "4.31.9",
"private": true,
"description": "CodeQL action",
"scripts": {
@@ -43,7 +43,7 @@
"js-yaml": "^4.1.1",
"jsonschema": "1.4.1",
"long": "^5.3.2",
"node-forge": "^1.3.2",
"node-forge": "^1.3.3",
"semver": "^7.7.3",
"uuid": "^13.0.0"
},
@@ -61,16 +61,16 @@
"@types/node-forge": "^1.3.14",
"@types/semver": "^7.7.1",
"@types/sinon": "^21.0.0",
"@typescript-eslint/eslint-plugin": "^8.48.0",
"@typescript-eslint/eslint-plugin": "^8.48.1",
"@typescript-eslint/parser": "^8.48.0",
"ava": "^6.4.1",
"esbuild": "^0.27.0",
"esbuild": "^0.27.1",
"eslint": "^8.57.1",
"eslint-import-resolver-typescript": "^3.8.7",
"eslint-plugin-filenames": "^1.3.2",
"eslint-plugin-github": "^5.1.8",
"eslint-plugin-import": "2.29.1",
"eslint-plugin-jsdoc": "^61.4.1",
"eslint-plugin-jsdoc": "^61.5.0",
"eslint-plugin-no-async-foreach": "^0.1.1",
"glob": "^11.1.0",
"nock": "^14.0.10",

View File

@@ -27,7 +27,7 @@ steps:
output: ${{ runner.temp }}/results
upload-database: false
- name: Upload SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: ${{ matrix.os }}-zstd-bundle.sarif
path: ${{ runner.temp }}/results/javascript.sarif

View File

@@ -12,7 +12,7 @@ steps:
output: "${{ runner.temp }}/results"
upload-database: false
- name: Upload SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: config-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: "${{ runner.temp }}/results/javascript.sarif"

View File

@@ -25,7 +25,7 @@ steps:
output: "${{ runner.temp }}/results"
upload-database: false
- name: Upload SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: diagnostics-export-${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: "${{ runner.temp }}/results/javascript.sarif"

View File

@@ -18,7 +18,7 @@ steps:
with:
output: "${{ runner.temp }}/results"
- name: Upload SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: with-baseline-information-${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: "${{ runner.temp }}/results/javascript.sarif"

View File

@@ -11,7 +11,7 @@ steps:
with:
output: "${{ runner.temp }}/results"
- name: Upload SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: ${{ matrix.os }}-${{ matrix.version }}.sarif.json
path: "${{ runner.temp }}/results/javascript.sarif"

View File

@@ -39,7 +39,7 @@ steps:
post-processed-sarif-path: "${{ runner.temp }}/post-processed"
- name: Upload security SARIF
if: contains(matrix.analysis-kinds, 'code-scanning')
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: |
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json
@@ -47,14 +47,14 @@ steps:
retention-days: 7
- name: Upload quality SARIF
if: contains(matrix.analysis-kinds, 'code-quality')
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: |
quality-queries-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.quality.sarif.json
path: "${{ runner.temp }}/results/javascript.quality.sarif"
retention-days: 7
- name: Upload post-processed SARIF
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v6
with:
name: |
post-processed-${{ matrix.os }}-${{ matrix.version }}-${{ matrix.analysis-kinds }}.sarif.json

View File

@@ -4,7 +4,7 @@ description: "Tests using RuboCop to analyze a multi-language repository and the
versions: ["default"]
steps:
- name: Set up Ruby
uses: ruby/setup-ruby@8aeb6ff8030dd539317f8e1769a044873b56ea71 # v1.268.0
uses: ruby/setup-ruby@ac793fdd38cc468a4dd57246fa9d0e868aba9085 # v1.270.0
with:
ruby-version: 2.6
- name: Install Code Scanning integration

View File

@@ -19,12 +19,7 @@ import { getApiDetails, getGitHubVersion } from "./api-client";
import { runAutobuild } from "./autobuild";
import { getTotalCacheSize, shouldStoreCache } from "./caching-utils";
import { getCodeQL } from "./codeql";
import {
Config,
getConfig,
isCodeQualityEnabled,
isCodeScanningEnabled,
} from "./config-utils";
import { Config, getConfig } from "./config-utils";
import { cleanupAndUploadDatabases } from "./database-upload";
import {
DependencyCacheUploadStatusReport,
@@ -32,7 +27,7 @@ import {
} from "./dependency-caching";
import { getDiffInformedAnalysisBranches } from "./diff-informed-analysis-utils";
import { EnvVar } from "./environment";
import { Feature, Features } from "./feature-flags";
import { Features } from "./feature-flags";
import { KnownLanguage } from "./languages";
import { getActionsLogger, Logger } from "./logging";
import { cleanupAndUploadOverlayBaseDatabaseToCache } from "./overlay-database-utils";
@@ -358,46 +353,15 @@ async function run() {
const checkoutPath = actionsUtil.getRequiredInput("checkout_path");
const category = actionsUtil.getOptionalInput("category");
if (await features.getValue(Feature.AnalyzeUseNewUpload)) {
uploadResults = await postProcessAndUploadSarif(
logger,
features,
uploadKind,
checkoutPath,
outputDir,
category,
actionsUtil.getOptionalInput("post-processed-sarif-path"),
);
} else if (uploadKind === "always") {
uploadResults = {};
if (isCodeScanningEnabled(config)) {
uploadResults[analyses.AnalysisKind.CodeScanning] =
await uploadLib.uploadFiles(
outputDir,
checkoutPath,
category,
features,
logger,
analyses.CodeScanning,
);
}
if (isCodeQualityEnabled(config)) {
uploadResults[analyses.AnalysisKind.CodeQuality] =
await uploadLib.uploadFiles(
outputDir,
checkoutPath,
category,
features,
logger,
analyses.CodeQuality,
);
}
} else {
uploadResults = {};
logger.info("Not uploading results");
}
uploadResults = await postProcessAndUploadSarif(
logger,
features,
uploadKind,
checkoutPath,
outputDir,
category,
actionsUtil.getOptionalInput("post-processed-sarif-path"),
);
// Set the SARIF id outputs only if we have results for them, to avoid
// having keys with empty values in the action output.

View File

@@ -95,14 +95,14 @@ test("getGitHubVersion for different domain", async (t) => {
t.deepEqual({ type: util.GitHubVariant.DOTCOM }, v3);
});
test("getGitHubVersion for GHE_DOTCOM", async (t) => {
test("getGitHubVersion for GHEC-DR", async (t) => {
mockGetMetaVersionHeader("ghe.com");
const gheDotcom = await api.getGitHubVersionFromApi(api.getApiClient(), {
auth: "",
url: "https://foo.ghe.com",
apiURL: undefined,
});
t.deepEqual({ type: util.GitHubVariant.GHE_DOTCOM }, gheDotcom);
t.deepEqual({ type: util.GitHubVariant.GHEC_DR }, gheDotcom);
});
test("wrapApiConfigurationError correctly wraps specific configuration errors", (t) => {

View File

@@ -125,7 +125,7 @@ export async function getGitHubVersionFromApi(
}
if (response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] === "ghe.com") {
return { type: GitHubVariant.GHE_DOTCOM };
return { type: GitHubVariant.GHEC_DR };
}
const version = response.headers[GITHUB_ENTERPRISE_VERSION_HEADER] as string;

View File

@@ -206,6 +206,7 @@ export interface CodeQL {
* Run 'codeql resolve queries --format=startingpacks'.
*/
resolveQueriesStartingPacks(queries: string[]): Promise<string[]>;
resolveDatabase(databasePath: string): Promise<ResolveDatabaseOutput>;
/**
* Run 'codeql github merge-results'.
*/
@@ -230,6 +231,10 @@ export interface VersionInfo {
overlayVersion?: number;
}
export interface ResolveDatabaseOutput {
overlayBaseSpecifier?: string;
}
export interface ResolveLanguagesOutput {
[language: string]: [string];
}
@@ -493,6 +498,7 @@ export function createStubCodeQL(partialCodeql: Partial<CodeQL>): CodeQL {
partialCodeql,
"resolveQueriesStartingPacks",
),
resolveDatabase: resolveFunction(partialCodeql, "resolveDatabase"),
mergeResults: resolveFunction(partialCodeql, "mergeResults"),
};
}
@@ -1003,6 +1009,26 @@ async function getCodeQLForCmd(
);
}
},
async resolveDatabase(
databasePath: string,
): Promise<ResolveDatabaseOutput> {
const codeqlArgs = [
"resolve",
"database",
databasePath,
"--format=json",
...getExtraOptionsFromEnv(["resolve", "database"]),
];
const output = await runCli(cmd, codeqlArgs, { noStreamStdout: true });
try {
return JSON.parse(output) as ResolveDatabaseOutput;
} catch (e) {
throw new Error(
`Unexpected output from codeql resolve database --format=json: ${e}`,
);
}
},
async mergeResults(
sarifFiles: string[],
outputFile: string,

View File

@@ -4,6 +4,7 @@ import * as path from "path";
import * as github from "@actions/github";
import test, { ExecutionContext } from "ava";
import * as yaml from "js-yaml";
import * as semver from "semver";
import * as sinon from "sinon";
import * as actionsUtil from "./actions-util";
@@ -978,6 +979,7 @@ interface OverlayDatabaseModeTestSetup {
languages: Language[];
codeqlVersion: string;
gitRoot: string | undefined;
gitVersion: string | undefined;
codeScanningConfig: configUtils.UserConfig;
diskUsage: DiskUsage | undefined;
memoryFlagValue: number;
@@ -992,6 +994,7 @@ const defaultOverlayDatabaseModeTestSetup: OverlayDatabaseModeTestSetup = {
languages: [KnownLanguage.javascript],
codeqlVersion: CODEQL_OVERLAY_MINIMUM_VERSION,
gitRoot: "/some/git/root",
gitVersion: "2.40.0", // Default to a version that supports overlay analysis
codeScanningConfig: {},
diskUsage: {
numAvailableBytes: 50_000_000_000,
@@ -1057,6 +1060,19 @@ const getOverlayDatabaseModeMacro = test.macro({
sinon.stub(gitUtils, "getGitRoot").resolves(setup.gitRoot);
}
// Mock git version detection - stub gitVersionAtLeast directly
// since internal calls to getGitVersion won't be stubbed
if (setup.gitVersion !== undefined) {
sinon
.stub(gitUtils, "gitVersionAtLeast")
.callsFake(async (requiredVersion: string) => {
return semver.gte(setup.gitVersion!, requiredVersion);
});
} else {
// When git version is undefined, gitVersionAtLeast should return false
sinon.stub(gitUtils, "gitVersionAtLeast").resolves(false);
}
// Mock default branch detection
sinon
.stub(gitUtils, "isAnalyzingDefaultBranch")
@@ -1773,6 +1789,32 @@ test(
},
);
test(
getOverlayDatabaseModeMacro,
"Fallback due to old git version",
{
overlayDatabaseEnvVar: "overlay",
gitVersion: "2.30.0", // Version below required 2.38.0
},
{
overlayDatabaseMode: OverlayDatabaseMode.None,
useOverlayDatabaseCaching: false,
},
);
test(
getOverlayDatabaseModeMacro,
"Fallback when git version cannot be determined",
{
overlayDatabaseEnvVar: "overlay",
gitVersion: undefined,
},
{
overlayDatabaseMode: OverlayDatabaseMode.None,
useOverlayDatabaseCaching: false,
},
);
// Exercise language-specific overlay analysis features code paths
for (const language in KnownLanguage) {
test(

View File

@@ -26,7 +26,12 @@ import { shouldPerformDiffInformedAnalysis } from "./diff-informed-analysis-util
import * as errorMessages from "./error-messages";
import { Feature, FeatureEnablement } from "./feature-flags";
import { RepositoryProperties } from "./feature-flags/properties";
import { getGitRoot, isAnalyzingDefaultBranch } from "./git-utils";
import {
getGitRoot,
GIT_MINIMUM_VERSION_FOR_OVERLAY,
gitVersionAtLeast,
isAnalyzingDefaultBranch,
} from "./git-utils";
import { KnownLanguage, Language } from "./languages";
import { Logger } from "./logging";
import {
@@ -811,6 +816,14 @@ export async function getOverlayDatabaseMode(
);
return nonOverlayAnalysis;
}
if (!(await gitVersionAtLeast(GIT_MINIMUM_VERSION_FOR_OVERLAY, logger))) {
logger.warning(
`Cannot build an ${overlayDatabaseMode} database because ` +
`the installed Git version is older than ${GIT_MINIMUM_VERSION_FOR_OVERLAY}. ` +
"Falling back to creating a normal full database instead.",
);
return nonOverlayAnalysis;
}
return {
overlayDatabaseMode,

View File

@@ -41,7 +41,7 @@ export async function cleanupAndUploadDatabases(
// Do nothing when not running against github.com
if (
config.gitHubVersion.type !== util.GitHubVariant.DOTCOM &&
config.gitHubVersion.type !== util.GitHubVariant.GHE_DOTCOM
config.gitHubVersion.type !== util.GitHubVariant.GHEC_DR
) {
logger.debug("Not running against github.com or GHEC-DR. Skipping upload.");
return;

View File

@@ -1,6 +1,6 @@
{
"bundleVersion": "codeql-bundle-v2.23.7",
"cliVersion": "2.23.7",
"priorBundleVersion": "codeql-bundle-v2.23.6",
"priorCliVersion": "2.23.6"
"bundleVersion": "codeql-bundle-v2.23.8",
"cliVersion": "2.23.8",
"priorBundleVersion": "codeql-bundle-v2.23.7",
"priorCliVersion": "2.23.7"
}

View File

@@ -185,3 +185,28 @@ export function flushDiagnostics(config: Config) {
// Reset the unwritten diagnostics array.
unwrittenDiagnostics = [];
}
/**
* Creates a telemetry-only diagnostic message. This is a convenience function
* for creating diagnostics that should only be sent to telemetry and not
* displayed on the status page or CLI summary table.
*
* @param id An identifier under which it makes sense to group this diagnostic message.
* @param name Display name for the ID.
* @param attributes Structured metadata about the diagnostic message.
* @returns Returns the new telemetry diagnostic message.
*/
export function makeTelemetryDiagnostic(
id: string,
name: string,
attributes: { [key: string]: any },
): DiagnosticMessage {
return makeDiagnostic(id, name, {
attributes,
visibility: {
cliSummaryTable: false,
statusPage: false,
telemetry: true,
},
});
}

View File

@@ -62,13 +62,13 @@ test(`All features are disabled if running against GHES`, async (t) => {
});
});
test(`Feature flags are requested in Proxima`, async (t) => {
test(`Feature flags are requested in GHEC-DR`, async (t) => {
await withTmpDir(async (tmpDir) => {
const loggedMessages = [];
const features = setUpFeatureFlagTests(
tmpDir,
getRecordingLogger(loggedMessages),
{ type: GitHubVariant.GHE_DOTCOM },
{ type: GitHubVariant.GHEC_DR },
);
mockFeatureFlagApiEndpoint(200, initializeFeatures(true));
@@ -436,97 +436,79 @@ test(`selects CLI from defaults.json on GHES`, async (t) => {
});
});
test("selects CLI v2.20.1 on Dotcom when feature flags enable v2.20.0 and v2.20.1", async (t) => {
await withTmpDir(async (tmpDir) => {
const features = setUpFeatureFlagTests(tmpDir);
const expectedFeatureEnablement = initializeFeatures(true);
expectedFeatureEnablement["default_codeql_version_2_20_0_enabled"] = true;
expectedFeatureEnablement["default_codeql_version_2_20_1_enabled"] = true;
expectedFeatureEnablement["default_codeql_version_2_20_2_enabled"] = false;
expectedFeatureEnablement["default_codeql_version_2_20_3_enabled"] = false;
expectedFeatureEnablement["default_codeql_version_2_20_4_enabled"] = false;
expectedFeatureEnablement["default_codeql_version_2_20_5_enabled"] = false;
mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement);
for (const variant of [GitHubVariant.DOTCOM, GitHubVariant.GHEC_DR]) {
test(`selects CLI v2.20.1 on ${variant} when feature flags enable v2.20.0 and v2.20.1`, async (t) => {
await withTmpDir(async (tmpDir) => {
const features = setUpFeatureFlagTests(tmpDir);
const expectedFeatureEnablement = initializeFeatures(true);
expectedFeatureEnablement["default_codeql_version_2_20_0_enabled"] = true;
expectedFeatureEnablement["default_codeql_version_2_20_1_enabled"] = true;
expectedFeatureEnablement["default_codeql_version_2_20_2_enabled"] =
false;
expectedFeatureEnablement["default_codeql_version_2_20_3_enabled"] =
false;
expectedFeatureEnablement["default_codeql_version_2_20_4_enabled"] =
false;
expectedFeatureEnablement["default_codeql_version_2_20_5_enabled"] =
false;
mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement);
const defaultCliVersion = await features.getDefaultCliVersion(
GitHubVariant.DOTCOM,
);
t.deepEqual(defaultCliVersion, {
cliVersion: "2.20.1",
tagName: "codeql-bundle-v2.20.1",
toolsFeatureFlagsValid: true,
const defaultCliVersion = await features.getDefaultCliVersion(variant);
t.deepEqual(defaultCliVersion, {
cliVersion: "2.20.1",
tagName: "codeql-bundle-v2.20.1",
toolsFeatureFlagsValid: true,
});
});
});
});
test("includes tag name", async (t) => {
await withTmpDir(async (tmpDir) => {
const features = setUpFeatureFlagTests(tmpDir);
const expectedFeatureEnablement = initializeFeatures(true);
expectedFeatureEnablement["default_codeql_version_2_20_0_enabled"] = true;
mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement);
test(`selects CLI from defaults.json on ${variant} when no default version feature flags are enabled`, async (t) => {
await withTmpDir(async (tmpDir) => {
const features = setUpFeatureFlagTests(tmpDir);
const expectedFeatureEnablement = initializeFeatures(true);
mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement);
const defaultCliVersion = await features.getDefaultCliVersion(
GitHubVariant.DOTCOM,
);
t.deepEqual(defaultCliVersion, {
cliVersion: "2.20.0",
tagName: "codeql-bundle-v2.20.0",
toolsFeatureFlagsValid: true,
const defaultCliVersion = await features.getDefaultCliVersion(variant);
t.deepEqual(defaultCliVersion, {
cliVersion: defaults.cliVersion,
tagName: defaults.bundleVersion,
toolsFeatureFlagsValid: false,
});
});
});
});
test(`selects CLI from defaults.json on Dotcom when no default version feature flags are enabled`, async (t) => {
await withTmpDir(async (tmpDir) => {
const features = setUpFeatureFlagTests(tmpDir);
const expectedFeatureEnablement = initializeFeatures(true);
mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement);
test(`ignores invalid version numbers in default version feature flags on ${variant}`, async (t) => {
await withTmpDir(async (tmpDir) => {
const loggedMessages = [];
const features = setUpFeatureFlagTests(
tmpDir,
getRecordingLogger(loggedMessages),
);
const expectedFeatureEnablement = initializeFeatures(true);
expectedFeatureEnablement["default_codeql_version_2_20_0_enabled"] = true;
expectedFeatureEnablement["default_codeql_version_2_20_1_enabled"] = true;
expectedFeatureEnablement["default_codeql_version_2_20_invalid_enabled"] =
true;
mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement);
const defaultCliVersion = await features.getDefaultCliVersion(
GitHubVariant.DOTCOM,
);
t.deepEqual(defaultCliVersion, {
cliVersion: defaults.cliVersion,
tagName: defaults.bundleVersion,
toolsFeatureFlagsValid: false,
const defaultCliVersion = await features.getDefaultCliVersion(variant);
t.deepEqual(defaultCliVersion, {
cliVersion: "2.20.1",
tagName: "codeql-bundle-v2.20.1",
toolsFeatureFlagsValid: true,
});
t.assert(
loggedMessages.find(
(v: LoggedMessage) =>
v.type === "warning" &&
v.message ===
"Ignoring feature flag default_codeql_version_2_20_invalid_enabled as it does not specify a valid CodeQL version.",
) !== undefined,
);
});
});
});
test("ignores invalid version numbers in default version feature flags", async (t) => {
await withTmpDir(async (tmpDir) => {
const loggedMessages = [];
const features = setUpFeatureFlagTests(
tmpDir,
getRecordingLogger(loggedMessages),
);
const expectedFeatureEnablement = initializeFeatures(true);
expectedFeatureEnablement["default_codeql_version_2_20_0_enabled"] = true;
expectedFeatureEnablement["default_codeql_version_2_20_1_enabled"] = true;
expectedFeatureEnablement["default_codeql_version_2_20_invalid_enabled"] =
true;
mockFeatureFlagApiEndpoint(200, expectedFeatureEnablement);
const defaultCliVersion = await features.getDefaultCliVersion(
GitHubVariant.DOTCOM,
);
t.deepEqual(defaultCliVersion, {
cliVersion: "2.20.1",
tagName: "codeql-bundle-v2.20.1",
toolsFeatureFlagsValid: true,
});
t.assert(
loggedMessages.find(
(v: LoggedMessage) =>
v.type === "warning" &&
v.message ===
"Ignoring feature flag default_codeql_version_2_20_invalid_enabled as it does not specify a valid CodeQL version.",
) !== undefined,
);
});
});
}
test("legacy feature flags should end with _enabled", async (t) => {
for (const [feature, config] of Object.entries(featureConfig)) {

View File

@@ -44,7 +44,6 @@ export interface FeatureEnablement {
*/
export enum Feature {
AllowToolcacheInput = "allow_toolcache_input",
AnalyzeUseNewUpload = "analyze_use_new_upload",
CleanupTrapCaches = "cleanup_trap_caches",
CppDependencyInstallation = "cpp_dependency_installation_enabled",
CsharpCacheBuildModeNone = "csharp_cache_bmn",
@@ -120,11 +119,6 @@ export const featureConfig: Record<
envVar: "CODEQL_ACTION_ALLOW_TOOLCACHE_INPUT",
minimumVersion: undefined,
},
[Feature.AnalyzeUseNewUpload]: {
defaultValue: false,
envVar: "CODEQL_ACTION_ANALYZE_USE_NEW_UPLOAD",
minimumVersion: undefined,
},
[Feature.CleanupTrapCaches]: {
defaultValue: false,
envVar: "CODEQL_ACTION_CLEANUP_TRAP_CACHES",
@@ -498,8 +492,8 @@ class GitHubFeatureFlags {
async getDefaultCliVersion(
variant: util.GitHubVariant,
): Promise<CodeQLDefaultVersionInfo> {
if (variant === util.GitHubVariant.DOTCOM) {
return await this.getDefaultDotcomCliVersion();
if (supportsFeatureFlags(variant)) {
return await this.getDefaultCliVersionFromFlags();
}
return {
cliVersion: defaults.cliVersion,
@@ -507,7 +501,7 @@ class GitHubFeatureFlags {
};
}
async getDefaultDotcomCliVersion(): Promise<CodeQLDefaultVersionInfo> {
async getDefaultCliVersionFromFlags(): Promise<CodeQLDefaultVersionInfo> {
const response = await this.getAllFeatures();
const enabledFeatureFlagCliVersions = Object.entries(response)
@@ -633,10 +627,7 @@ class GitHubFeatureFlags {
private async loadApiResponse(): Promise<GitHubFeatureFlagsApiResponse> {
// Do nothing when not running against github.com
if (
this.gitHubVersion.type !== util.GitHubVariant.DOTCOM &&
this.gitHubVersion.type !== util.GitHubVariant.GHE_DOTCOM
) {
if (!supportsFeatureFlags(this.gitHubVersion.type)) {
this.logger.debug(
"Not running against github.com. Disabling all toggleable features.",
);
@@ -702,3 +693,10 @@ class GitHubFeatureFlags {
}
}
}
function supportsFeatureFlags(githubVariant: util.GitHubVariant): boolean {
return (
githubVariant === util.GitHubVariant.DOTCOM ||
githubVariant === util.GitHubVariant.GHEC_DR
);
}

View File

@@ -7,7 +7,12 @@ import * as sinon from "sinon";
import * as actionsUtil from "./actions-util";
import * as gitUtils from "./git-utils";
import { setupActionsVars, setupTests } from "./testing-utils";
import {
getRecordingLogger,
LoggedMessage,
setupActionsVars,
setupTests,
} from "./testing-utils";
import { withTmpDir } from "./util";
setupTests(test);
@@ -392,3 +397,190 @@ test("getFileOidsUnderPath throws on unexpected output format", async (t) => {
runGitCommandStub.restore();
}
});
test("getGitVersionOrThrow returns version for valid git output", async (t) => {
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.resolves("git version 2.40.0\n");
try {
const version = await gitUtils.getGitVersionOrThrow();
t.is(version, "2.40.0");
} finally {
runGitCommandStub.restore();
}
});
test("getGitVersionOrThrow throws for invalid git output", async (t) => {
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.resolves("invalid output");
try {
await t.throwsAsync(
async () => {
await gitUtils.getGitVersionOrThrow();
},
{
instanceOf: Error,
message: "Could not parse Git version from output: invalid output",
},
);
} finally {
runGitCommandStub.restore();
}
});
test("getGitVersionOrThrow handles Windows-style git output", async (t) => {
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.resolves("git version 2.40.0.windows.1\n");
try {
const version = await gitUtils.getGitVersionOrThrow();
// Should extract just the major.minor.patch portion
t.is(version, "2.40.0");
} finally {
runGitCommandStub.restore();
}
});
test("getGitVersionOrThrow throws when git command fails", async (t) => {
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.rejects(new Error("git not found"));
try {
await t.throwsAsync(
async () => {
await gitUtils.getGitVersionOrThrow();
},
{
instanceOf: Error,
message: "git not found",
},
);
} finally {
runGitCommandStub.restore();
}
});
test("getGitVersion returns version and caches it", async (t) => {
gitUtils.resetCachedGitVersion();
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.resolves("git version 2.40.0\n");
const messages: LoggedMessage[] = [];
const logger = getRecordingLogger(messages);
try {
// First call should fetch and cache
const version1 = await gitUtils.getGitVersion(logger);
t.is(version1, "2.40.0");
t.is(runGitCommandStub.callCount, 1);
// Second call should use cache
const version2 = await gitUtils.getGitVersion(logger);
t.is(version2, "2.40.0");
t.is(runGitCommandStub.callCount, 1); // Should still be 1
} finally {
runGitCommandStub.restore();
gitUtils.resetCachedGitVersion();
}
});
test("getGitVersion returns undefined when version cannot be determined", async (t) => {
gitUtils.resetCachedGitVersion();
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.rejects(new Error("git not found"));
const messages: LoggedMessage[] = [];
const logger = getRecordingLogger(messages);
try {
const version = await gitUtils.getGitVersion(logger);
t.is(version, undefined);
t.true(
messages.some(
(m) =>
m.type === "debug" &&
typeof m.message === "string" &&
m.message.includes("Could not determine Git version"),
),
);
} finally {
runGitCommandStub.restore();
gitUtils.resetCachedGitVersion();
}
});
test("gitVersionAtLeast returns true for version meeting requirement", async (t) => {
gitUtils.resetCachedGitVersion();
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.resolves("git version 2.40.0\n");
const messages: LoggedMessage[] = [];
const logger = getRecordingLogger(messages);
try {
const result = await gitUtils.gitVersionAtLeast("2.38.0", logger);
t.true(result);
t.true(
messages.some(
(m) =>
m.type === "debug" &&
m.message === "Installed Git version is 2.40.0.",
),
);
} finally {
runGitCommandStub.restore();
gitUtils.resetCachedGitVersion();
}
});
test("gitVersionAtLeast returns false for version not meeting requirement", async (t) => {
gitUtils.resetCachedGitVersion();
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.resolves("git version 2.30.0\n");
const messages: LoggedMessage[] = [];
const logger = getRecordingLogger(messages);
try {
const result = await gitUtils.gitVersionAtLeast("2.38.0", logger);
t.false(result);
} finally {
runGitCommandStub.restore();
gitUtils.resetCachedGitVersion();
}
});
test("gitVersionAtLeast returns false when version cannot be determined", async (t) => {
gitUtils.resetCachedGitVersion();
const runGitCommandStub = sinon
.stub(gitUtils as any, "runGitCommand")
.rejects(new Error("git not found"));
const messages: LoggedMessage[] = [];
const logger = getRecordingLogger(messages);
try {
const result = await gitUtils.gitVersionAtLeast("2.38.0", logger);
t.false(result);
t.true(
messages.some(
(m) =>
m.type === "debug" &&
typeof m.message === "string" &&
m.message.includes("Could not determine Git version"),
),
);
} finally {
runGitCommandStub.restore();
gitUtils.resetCachedGitVersion();
}
});

View File

@@ -1,13 +1,127 @@
import * as core from "@actions/core";
import * as toolrunner from "@actions/exec/lib/toolrunner";
import * as io from "@actions/io";
import * as semver from "semver";
import {
getOptionalInput,
getWorkflowEvent,
getWorkflowEventName,
} from "./actions-util";
import { ConfigurationError, getRequiredEnvParam } from "./util";
import type { Config } from "./config-utils";
import { addDiagnostic, makeTelemetryDiagnostic } from "./diagnostics";
import { Logger } from "./logging";
import {
ConfigurationError,
getErrorMessage,
getRequiredEnvParam,
} from "./util";
/**
* Minimum Git version required for overlay analysis. The `git ls-files --format`
* option, which is used by `getFileOidsUnderPath`, was introduced in Git 2.38.0.
*/
export const GIT_MINIMUM_VERSION_FOR_OVERLAY = "2.38.0";
/** Cached git version to avoid recomputing it multiple times. */
let cachedGitVersion: string | undefined;
/**
* Resets the cached git version. This is intended for use in tests only.
*/
export function resetCachedGitVersion(): void {
cachedGitVersion = undefined;
}
/**
* Gets the version of Git installed on the system and throws an error if
* the version cannot be determined.
*
* @returns The Git version string (e.g., "2.40.0").
* @throws {Error} if the version could not be determined.
*/
export async function getGitVersionOrThrow(): Promise<string> {
const stdout = await runGitCommand(
undefined,
["--version"],
"Failed to get git version.",
);
// Git version output can vary: "git version 2.40.0" or "git version 2.40.0.windows.1"
// We capture just the major.minor.patch portion to ensure semver compatibility.
const match = stdout.match(/git version (\d+\.\d+\.\d+)/);
if (match?.[1]) {
return match[1];
}
throw new Error(`Could not parse Git version from output: ${stdout.trim()}`);
}
/**
* Gets the cached Git version, or fetches and caches it if not yet cached.
*
* @param logger A logger to use for logging errors.
* @returns The cached Git version, or undefined if the version could not be determined.
*/
export async function getGitVersion(
logger: Logger,
): Promise<string | undefined> {
if (cachedGitVersion !== undefined) {
return cachedGitVersion;
}
try {
cachedGitVersion = await getGitVersionOrThrow();
return cachedGitVersion;
} catch (e) {
logger.debug(`Could not determine Git version: ${getErrorMessage(e)}`);
return undefined;
}
}
/**
* Logs the Git version as a telemetry diagnostic. Should be called once during
* initialization after the config is available.
*
* @param config The configuration that tells us where to store the diagnostic.
* @param logger A logger to use for logging errors.
*/
export async function logGitVersionTelemetry(
config: Config,
logger: Logger,
): Promise<void> {
const version = await getGitVersion(logger);
if (version !== undefined && config.languages.length > 0) {
addDiagnostic(
config,
// Arbitrarily choose the first language. We could also choose all languages, but that
// increases the risk of misinterpreting the data.
config.languages[0],
makeTelemetryDiagnostic(
"codeql-action/git-version-telemetry",
"Git version telemetry",
{ gitVersion: version },
),
);
}
}
/**
* Checks if the installed Git version is at least the given required version.
*
* @param requiredVersion The minimum required Git version.
* @param logger A logger to use for logging.
* @returns `true` if the installed Git version is at least the required version,
* `false` otherwise.
*/
export async function gitVersionAtLeast(
requiredVersion: string,
logger: Logger,
): Promise<boolean> {
const version = await getGitVersion(logger);
if (version === undefined) {
return false;
}
logger.debug(`Installed Git version is ${version}.`);
return semver.gte(version, requiredVersion);
}
export const runGitCommand = async function (
workingDirectory: string | undefined,

View File

@@ -33,10 +33,12 @@ import {
flushDiagnostics,
logUnwrittenDiagnostics,
makeDiagnostic,
makeTelemetryDiagnostic,
} from "./diagnostics";
import { EnvVar } from "./environment";
import { Feature, Features } from "./feature-flags";
import { loadPropertiesFromApi } from "./feature-flags/properties";
import { logGitVersionTelemetry } from "./git-utils";
import {
checkInstallPython311,
checkPacksForOverlayCompatibility,
@@ -418,21 +420,17 @@ async function run() {
// Arbitrarily choose the first language. We could also choose all languages, but that
// increases the risk of misinterpreting the data.
config.languages[0],
makeDiagnostic(
makeTelemetryDiagnostic(
"codeql-action/bundle-download-telemetry",
"CodeQL bundle download telemetry",
{
attributes: toolsDownloadStatusReport,
visibility: {
cliSummaryTable: false,
statusPage: false,
telemetry: true,
},
},
toolsDownloadStatusReport,
),
);
}
// Log Git version telemetry
await logGitVersionTelemetry(config, logger);
// Forward Go flags
const goFlags = process.env["GOFLAGS"];
if (goFlags) {
@@ -785,17 +783,10 @@ async function recordZstdAvailability(
// Arbitrarily choose the first language. We could also choose all languages, but that
// increases the risk of misinterpreting the data.
config.languages[0],
makeDiagnostic(
makeTelemetryDiagnostic(
"codeql-action/zstd-availability",
"Zstandard availability",
{
attributes: zstdAvailability,
visibility: {
cliSummaryTable: false,
statusPage: false,
telemetry: true,
},
},
zstdAvailability,
),
);
}

View File

@@ -7,7 +7,9 @@ import * as sinon from "sinon";
import * as actionsUtil from "./actions-util";
import * as apiClient from "./api-client";
import { ResolveDatabaseOutput } from "./codeql";
import * as gitUtils from "./git-utils";
import { KnownLanguage } from "./languages";
import { getRunnerLogger } from "./logging";
import {
downloadOverlayBaseDatabaseFromCache,
@@ -95,6 +97,7 @@ interface DownloadOverlayBaseDatabaseTestCase {
hasBaseDatabaseOidsFile: boolean;
tryGetFolderBytesSucceeds: boolean;
codeQLVersion: string;
resolveDatabaseOutput: ResolveDatabaseOutput | Error;
}
const defaultDownloadTestCase: DownloadOverlayBaseDatabaseTestCase = {
@@ -105,6 +108,7 @@ const defaultDownloadTestCase: DownloadOverlayBaseDatabaseTestCase = {
hasBaseDatabaseOidsFile: true,
tryGetFolderBytesSucceeds: true,
codeQLVersion: "2.20.5",
resolveDatabaseOutput: { overlayBaseSpecifier: "20250626:XXX" },
};
const testDownloadOverlayBaseDatabaseFromCache = test.macro({
@@ -119,9 +123,11 @@ const testDownloadOverlayBaseDatabaseFromCache = test.macro({
await fs.promises.mkdir(dbLocation, { recursive: true });
const logger = getRunnerLogger(true);
const config = createTestConfig({ dbLocation });
const testCase = { ...defaultDownloadTestCase, ...partialTestCase };
const config = createTestConfig({
dbLocation,
languages: [KnownLanguage.java],
});
config.overlayDatabaseMode = testCase.overlayDatabaseMode;
config.useOverlayDatabaseCaching = testCase.useOverlayDatabaseCaching;
@@ -163,9 +169,23 @@ const testDownloadOverlayBaseDatabaseFromCache = test.macro({
.resolves(testCase.tryGetFolderBytesSucceeds ? 1024 * 1024 : undefined);
stubs.push(tryGetFolderBytesStub);
const codeql = mockCodeQLVersion(testCase.codeQLVersion);
if (testCase.resolveDatabaseOutput instanceof Error) {
const resolveDatabaseStub = sinon
.stub(codeql, "resolveDatabase")
.rejects(testCase.resolveDatabaseOutput);
stubs.push(resolveDatabaseStub);
} else {
const resolveDatabaseStub = sinon
.stub(codeql, "resolveDatabase")
.resolves(testCase.resolveDatabaseOutput);
stubs.push(resolveDatabaseStub);
}
try {
const result = await downloadOverlayBaseDatabaseFromCache(
mockCodeQLVersion(testCase.codeQLVersion),
codeql,
config,
logger,
);
@@ -255,6 +275,24 @@ test(
false,
);
test(
testDownloadOverlayBaseDatabaseFromCache,
"returns undefined when downloaded database doesn't have an overlayBaseSpecifier",
{
resolveDatabaseOutput: {},
},
false,
);
test(
testDownloadOverlayBaseDatabaseFromCache,
"returns undefined when resolving database metadata fails",
{
resolveDatabaseOutput: new Error("Failed to resolve database metadata"),
},
false,
);
test(
testDownloadOverlayBaseDatabaseFromCache,
"returns undefined when filesystem error occurs",

View File

@@ -17,6 +17,7 @@ import { getCommitOid, getFileOidsUnderPath } from "./git-utils";
import { Logger, withGroupAsync } from "./logging";
import {
CleanupLevel,
getCodeQLDatabasePath,
getErrorMessage,
isInTestMode,
tryGetFolderBytes,
@@ -176,11 +177,12 @@ const MAX_CACHE_OPERATION_MS = 600_000;
* @param warningPrefix Prefix for the check failure warning message
* @returns True if the verification succeeded, false otherwise
*/
function checkOverlayBaseDatabase(
async function checkOverlayBaseDatabase(
codeql: CodeQL,
config: Config,
logger: Logger,
warningPrefix: string,
): boolean {
): Promise<boolean> {
// An overlay-base database should contain the base database OIDs file.
const baseDatabaseOidsFilePath = getBaseDatabaseOidsFilePath(config);
if (!fs.existsSync(baseDatabaseOidsFilePath)) {
@@ -189,6 +191,29 @@ function checkOverlayBaseDatabase(
);
return false;
}
for (const language of config.languages) {
const dbPath = getCodeQLDatabasePath(config, language);
try {
const resolveDatabaseOutput = await codeql.resolveDatabase(dbPath);
if (
resolveDatabaseOutput === undefined ||
!("overlayBaseSpecifier" in resolveDatabaseOutput)
) {
logger.info(`${warningPrefix}: no overlayBaseSpecifier defined`);
return false;
} else {
logger.debug(
`Overlay base specifier for ${language} overlay-base database found: ` +
`${resolveDatabaseOutput.overlayBaseSpecifier}`,
);
}
} catch (e) {
logger.warning(`${warningPrefix}: failed to resolve database: ${e}`);
return false;
}
}
return true;
}
@@ -232,7 +257,8 @@ export async function cleanupAndUploadOverlayBaseDatabaseToCache(
return false;
}
const databaseIsValid = checkOverlayBaseDatabase(
const databaseIsValid = await checkOverlayBaseDatabase(
codeql,
config,
logger,
"Abort uploading overlay-base database to cache",
@@ -415,7 +441,8 @@ export async function downloadOverlayBaseDatabaseFromCache(
return undefined;
}
const databaseIsValid = checkOverlayBaseDatabase(
const databaseIsValid = await checkOverlayBaseDatabase(
codeql,
config,
logger,
"Downloaded overlay-base database is invalid",

View File

@@ -511,7 +511,7 @@ export async function getCodeQLSource(
// different version to save download time if the version hasn't been
// specified explicitly (in which case we always honor it).
if (
variant !== util.GitHubVariant.DOTCOM &&
variant === util.GitHubVariant.GHES &&
!forceShippedTools &&
!toolsInput
) {

View File

@@ -433,8 +433,8 @@ function formatGitHubVersion(version: util.GitHubVersion): string {
switch (version.type) {
case util.GitHubVariant.DOTCOM:
return "dotcom";
case util.GitHubVariant.GHE_DOTCOM:
return "GHE dotcom";
case util.GitHubVariant.GHEC_DR:
return "GHEC-DR";
case util.GitHubVariant.GHES:
return `GHES ${version.version}`;
default:
@@ -445,12 +445,12 @@ function formatGitHubVersion(version: util.GitHubVersion): string {
const CHECK_ACTION_VERSION_TESTS: Array<[string, util.GitHubVersion, boolean]> =
[
["2.2.1", { type: util.GitHubVariant.DOTCOM }, true],
["2.2.1", { type: util.GitHubVariant.GHE_DOTCOM }, true],
["2.2.1", { type: util.GitHubVariant.GHEC_DR }, true],
["2.2.1", { type: util.GitHubVariant.GHES, version: "3.10" }, false],
["2.2.1", { type: util.GitHubVariant.GHES, version: "3.11" }, false],
["2.2.1", { type: util.GitHubVariant.GHES, version: "3.12" }, false],
["3.2.1", { type: util.GitHubVariant.DOTCOM }, true],
["3.2.1", { type: util.GitHubVariant.GHE_DOTCOM }, true],
["3.2.1", { type: util.GitHubVariant.GHEC_DR }, true],
["3.2.1", { type: util.GitHubVariant.GHES, version: "3.10" }, false],
["3.2.1", { type: util.GitHubVariant.GHES, version: "3.11" }, false],
["3.2.1", { type: util.GitHubVariant.GHES, version: "3.12" }, false],
@@ -458,7 +458,7 @@ const CHECK_ACTION_VERSION_TESTS: Array<[string, util.GitHubVersion, boolean]> =
["3.2.1", { type: util.GitHubVariant.GHES, version: "3.20" }, true],
["3.2.1", { type: util.GitHubVariant.GHES, version: "3.21" }, true],
["4.2.1", { type: util.GitHubVariant.DOTCOM }, false],
["4.2.1", { type: util.GitHubVariant.GHE_DOTCOM }, false],
["4.2.1", { type: util.GitHubVariant.GHEC_DR }, false],
["4.2.1", { type: util.GitHubVariant.GHES, version: "3.19" }, false],
["4.2.1", { type: util.GitHubVariant.GHES, version: "3.20" }, false],
["4.2.1", { type: util.GitHubVariant.GHES, version: "3.21" }, false],

View File

@@ -556,13 +556,17 @@ const CODEQL_ACTION_WARNED_ABOUT_VERSION_ENV_VAR =
let hasBeenWarnedAboutVersion = false;
export enum GitHubVariant {
DOTCOM,
GHES,
GHE_DOTCOM,
/** [GitHub.com](https://github.com) */
DOTCOM = "GitHub.com",
/** [GitHub Enterprise Server](https://docs.github.com/en/enterprise-server@latest/admin/overview/about-github-enterprise-server) */
GHES = "GitHub Enterprise Server",
/** [GitHub Enterprise Cloud with data residency](https://docs.github.com/en/enterprise-cloud@latest/admin/data-residency/about-github-enterprise-cloud-with-data-residency) */
GHEC_DR = "GitHub Enterprise Cloud with data residency",
}
export type GitHubVersion =
| { type: GitHubVariant.DOTCOM }
| { type: GitHubVariant.GHE_DOTCOM }
| { type: GitHubVariant.GHEC_DR }
| { type: GitHubVariant.GHES; version: string };
export function checkGitHubVersionInRange(
@@ -1105,7 +1109,7 @@ export function checkActionVersion(
// and should update to CodeQL Action v4.
if (
githubVersion.type === GitHubVariant.DOTCOM ||
githubVersion.type === GitHubVariant.GHE_DOTCOM ||
githubVersion.type === GitHubVariant.GHEC_DR ||
(githubVersion.type === GitHubVariant.GHES &&
semver.satisfies(
semver.coerce(githubVersion.version) ?? "0.0.0",