mirror of
https://github.com/github/codeql-action.git
synced 2025-12-15 20:09:17 +08:00
Compare commits
206 Commits
codeql-bun
...
v2.25.5
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d05fceb045 | ||
|
|
78d13343a2 | ||
|
|
a953717405 | ||
|
|
b5e604ae77 | ||
|
|
ceb635d11f | ||
|
|
34710081e2 | ||
|
|
b7cec75265 | ||
|
|
6778fe4553 | ||
|
|
4a51972477 | ||
|
|
a8c32fd278 | ||
|
|
f73b0b70eb | ||
|
|
c59e05245f | ||
|
|
33e416c056 | ||
|
|
67f8a36bdb | ||
|
|
4995c49010 | ||
|
|
def4d2cd4e | ||
|
|
5ac5c91bc1 | ||
|
|
7a6352f8e6 | ||
|
|
cf4c3b4434 | ||
|
|
9dc84e9abe | ||
|
|
c49579ba44 | ||
|
|
d23427596b | ||
|
|
9fba755525 | ||
|
|
43beef629f | ||
|
|
7d9b7a1870 | ||
|
|
715d348a99 | ||
|
|
7aff39e921 | ||
|
|
e36d338969 | ||
|
|
4f0ceda83a | ||
|
|
2c25369331 | ||
|
|
654d389318 | ||
|
|
685e64b1e3 | ||
|
|
02619f4624 | ||
|
|
8e81fd40bf | ||
|
|
52e98c0622 | ||
|
|
65c9ae9352 | ||
|
|
b1c3187939 | ||
|
|
a21528bb71 | ||
|
|
ccf74c9479 | ||
|
|
45fb58ab31 | ||
|
|
ec1179000d | ||
|
|
4fdf4ac628 | ||
|
|
e50fb8fff0 | ||
|
|
ca7f194e36 | ||
|
|
4b812a5dff | ||
|
|
1e21373a75 | ||
|
|
4673d41da1 | ||
|
|
65297ef0b0 | ||
|
|
84d6ead480 | ||
|
|
b20bf5914d | ||
|
|
93b8232a39 | ||
|
|
ee63da2847 | ||
|
|
e62cc70a8b | ||
|
|
5d274be858 | ||
|
|
3a471a06fa | ||
|
|
725ed4139d | ||
|
|
1de9b371a1 | ||
|
|
757fcd3d21 | ||
|
|
40f70f96b1 | ||
|
|
41857bab35 | ||
|
|
b3225af51b | ||
|
|
905f9b0083 | ||
|
|
80394dcc32 | ||
|
|
7c29971135 | ||
|
|
a5e49d1544 | ||
|
|
24acd7711e | ||
|
|
8b0dfa84c7 | ||
|
|
ceaec5c11a | ||
|
|
39f10b5b8a | ||
|
|
64ccee938f | ||
|
|
e76c3643d1 | ||
|
|
caa31633f2 | ||
|
|
04aff1f5fa | ||
|
|
9ace329d8c | ||
|
|
b849f33370 | ||
|
|
42cbd34070 | ||
|
|
9762ef1fad | ||
|
|
5122fa879d | ||
|
|
c3aa7b8d0d | ||
|
|
e949a1676c | ||
|
|
948c1ebff4 | ||
|
|
e4b5f9d015 | ||
|
|
8aad228360 | ||
|
|
c992dad089 | ||
|
|
06c30cc68c | ||
|
|
f72882a05b | ||
|
|
b9d792527d | ||
|
|
12bc863d11 | ||
|
|
ba352fa8e7 | ||
|
|
d95215f691 | ||
|
|
553a89d488 | ||
|
|
ffd3158cb9 | ||
|
|
82478fb458 | ||
|
|
2a96432c79 | ||
|
|
93075ceec3 | ||
|
|
a023017ea9 | ||
|
|
794eacf375 | ||
|
|
a1559aa4a9 | ||
|
|
a82bad7182 | ||
|
|
61ddd48e03 | ||
|
|
abca38cf8c | ||
|
|
763babe7ac | ||
|
|
72d46cb780 | ||
|
|
0b21c947c0 | ||
|
|
c2dc67199a | ||
|
|
f018a9586e | ||
|
|
6007966519 | ||
|
|
efed72eb8f | ||
|
|
bcca54f232 | ||
|
|
76d48637f2 | ||
|
|
4821ae1424 | ||
|
|
e56cfd0877 | ||
|
|
6046c633c7 | ||
|
|
ed2b6b741f | ||
|
|
570dc010e8 | ||
|
|
1a8046c7f3 | ||
|
|
8c395e0c45 | ||
|
|
de22b302a6 | ||
|
|
928ff8c822 | ||
|
|
2f52385615 | ||
|
|
272cd56763 | ||
|
|
3839e215cc | ||
|
|
61f4d893e6 | ||
|
|
30ad6c3d9e | ||
|
|
78df51c1cc | ||
|
|
045d9f3939 | ||
|
|
a3c8eb3ab0 | ||
|
|
6078595fdf | ||
|
|
395cdfe20c | ||
|
|
a56a03b370 | ||
|
|
05053827ef | ||
|
|
fa5685c7f0 | ||
|
|
8c3591c19a | ||
|
|
557a8d2306 | ||
|
|
7351df07bb | ||
|
|
d15fdd879b | ||
|
|
80eb8d5395 | ||
|
|
0ddabac401 | ||
|
|
b882b63a68 | ||
|
|
8b0f3e6135 | ||
|
|
8601b9e70a | ||
|
|
bd94b4c175 | ||
|
|
755340a6bd | ||
|
|
4a8f20f6b9 | ||
|
|
460939e7d8 | ||
|
|
ceebdeb9fa | ||
|
|
47c8d615ed | ||
|
|
c232c5de9c | ||
|
|
2452b7d8af | ||
|
|
4ffed09d48 | ||
|
|
8b6a45a6ec | ||
|
|
2ccdcd5135 | ||
|
|
4f50fb3be5 | ||
|
|
02022337ac | ||
|
|
3dafabe4d9 | ||
|
|
40cd785140 | ||
|
|
10746dd61e | ||
|
|
1a077f8f6c | ||
|
|
05d809f630 | ||
|
|
d8c4c3a4eb | ||
|
|
b301568384 | ||
|
|
f5c8be0ac1 | ||
|
|
4504810aa1 | ||
|
|
dc021d495c | ||
|
|
f822fa3067 | ||
|
|
3ed798ed18 | ||
|
|
5b498ba405 | ||
|
|
7dde705407 | ||
|
|
c004a3e831 | ||
|
|
2f93e4319b | ||
|
|
c98f2c953c | ||
|
|
554c990fe8 | ||
|
|
abe5934e80 | ||
|
|
8879ae88d9 | ||
|
|
01e8d7f881 | ||
|
|
4759df8df7 | ||
|
|
554005d264 | ||
|
|
fb29452d38 | ||
|
|
13884cb7d7 | ||
|
|
ac64986f93 | ||
|
|
cdcacf8b4f | ||
|
|
8b7fcbfac2 | ||
|
|
e24bd8fed4 | ||
|
|
8f2682add5 | ||
|
|
8f5ae1a11a | ||
|
|
99d337aef5 | ||
|
|
997d889b5d | ||
|
|
1500a13138 | ||
|
|
0d318c9f1a | ||
|
|
d6286c6fdb | ||
|
|
9c74de20cb | ||
|
|
49a6ae4966 | ||
|
|
3366e3bbdd | ||
|
|
844fc3cd56 | ||
|
|
5a201efe22 | ||
|
|
c9f92aa25f | ||
|
|
03e7845b7b | ||
|
|
54f10077ea | ||
|
|
20d1a9b175 | ||
|
|
c28d79bb2e | ||
|
|
241e8b42b2 | ||
|
|
8bc67d15e2 | ||
|
|
e106171cbb | ||
|
|
231f9f1b59 | ||
|
|
47334bf4e9 | ||
|
|
e763762131 |
2
.github/actions/check-sarif/action.yml
vendored
2
.github/actions/check-sarif/action.yml
vendored
@@ -16,5 +16,5 @@ inputs:
|
|||||||
Comma separated list of query ids that should NOT be included in this SARIF file.
|
Comma separated list of query ids that should NOT be included in this SARIF file.
|
||||||
|
|
||||||
runs:
|
runs:
|
||||||
using: node20
|
using: node16
|
||||||
main: index.js
|
main: index.js
|
||||||
|
|||||||
@@ -18,12 +18,12 @@ runs:
|
|||||||
- name: Set up Python
|
- name: Set up Python
|
||||||
uses: actions/setup-python@v5
|
uses: actions/setup-python@v5
|
||||||
with:
|
with:
|
||||||
python-version: 3.8
|
python-version: 3.12
|
||||||
|
|
||||||
- name: Install dependencies
|
- name: Install dependencies
|
||||||
run: |
|
run: |
|
||||||
python -m pip install --upgrade pip
|
python -m pip install --upgrade pip
|
||||||
pip install PyGithub==1.55 requests
|
pip install PyGithub==2.3.0 requests
|
||||||
shell: bash
|
shell: bash
|
||||||
|
|
||||||
- name: Update git config
|
- name: Update git config
|
||||||
|
|||||||
20
.github/update-release-branch.py
vendored
20
.github/update-release-branch.py
vendored
@@ -1,5 +1,6 @@
|
|||||||
import argparse
|
import argparse
|
||||||
import datetime
|
import datetime
|
||||||
|
import fileinput
|
||||||
import re
|
import re
|
||||||
from github import Github
|
from github import Github
|
||||||
import json
|
import json
|
||||||
@@ -171,6 +172,19 @@ def get_current_version():
|
|||||||
with open('package.json', 'r') as f:
|
with open('package.json', 'r') as f:
|
||||||
return json.load(f)['version']
|
return json.load(f)['version']
|
||||||
|
|
||||||
|
# `npm version` doesn't always work because of merge conflicts, so we
|
||||||
|
# replace the version in package.json textually.
|
||||||
|
def replace_version_package_json(prev_version, new_version):
|
||||||
|
prev_line_is_codeql = False
|
||||||
|
for line in fileinput.input('package.json', inplace = True, encoding='utf-8'):
|
||||||
|
if prev_line_is_codeql and f'\"version\": \"{prev_version}\"' in line:
|
||||||
|
print(line.replace(prev_version, new_version), end='')
|
||||||
|
else:
|
||||||
|
prev_line_is_codeql = False
|
||||||
|
print(line, end='')
|
||||||
|
if '\"name\": \"codeql\",' in line:
|
||||||
|
prev_line_is_codeql = True
|
||||||
|
|
||||||
def get_today_string():
|
def get_today_string():
|
||||||
today = datetime.datetime.today()
|
today = datetime.datetime.today()
|
||||||
return '{:%d %b %Y}'.format(today)
|
return '{:%d %b %Y}'.format(today)
|
||||||
@@ -374,9 +388,9 @@ def main():
|
|||||||
run_git('commit', '--no-edit')
|
run_git('commit', '--no-edit')
|
||||||
|
|
||||||
# Migrate the package version number from a vLatest version number to a vOlder version number
|
# Migrate the package version number from a vLatest version number to a vOlder version number
|
||||||
print(f'Setting version number to {version}')
|
print(f'Setting version number to {version} in package.json')
|
||||||
subprocess.check_output(['npm', 'version', version, '--no-git-tag-version'])
|
replace_version_package_json(get_current_version(), version) # We rely on the `Update dependencies` workflow to update package-lock.json
|
||||||
run_git('add', 'package.json', 'package-lock.json')
|
run_git('add', 'package.json')
|
||||||
|
|
||||||
# Migrate the changelog notes from vLatest version numbers to vOlder version numbers
|
# Migrate the changelog notes from vLatest version numbers to vOlder version numbers
|
||||||
print(f'Migrating changelog notes from v{source_branch_major_version} to v{target_branch_major_version}')
|
print(f'Migrating changelog notes from v{source_branch_major_version} to v{target_branch_major_version}')
|
||||||
|
|||||||
1
.github/workflows/__all-platform-bundle.yml
generated
vendored
1
.github/workflows/__all-platform-bundle.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
all-platform-bundle:
|
all-platform-bundle:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__analyze-ref-input.yml
generated
vendored
1
.github/workflows/__analyze-ref-input.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
analyze-ref-input:
|
analyze-ref-input:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__autobuild-action.yml
generated
vendored
1
.github/workflows/__autobuild-action.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
autobuild-action:
|
autobuild-action:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__autobuild-direct-tracing.yml
generated
vendored
1
.github/workflows/__autobuild-direct-tracing.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
autobuild-direct-tracing:
|
autobuild-direct-tracing:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__build-mode-autobuild.yml
generated
vendored
1
.github/workflows/__build-mode-autobuild.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build-mode-autobuild:
|
build-mode-autobuild:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__build-mode-manual.yml
generated
vendored
1
.github/workflows/__build-mode-manual.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build-mode-manual:
|
build-mode-manual:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__build-mode-none.yml
generated
vendored
1
.github/workflows/__build-mode-none.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build-mode-none:
|
build-mode-none:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__build-mode-rollback.yml
generated
vendored
1
.github/workflows/__build-mode-rollback.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build-mode-rollback:
|
build-mode-rollback:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__config-export.yml
generated
vendored
1
.github/workflows/__config-export.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
config-export:
|
config-export:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__config-input.yml
generated
vendored
1
.github/workflows/__config-input.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
config-input:
|
config-input:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__cpp-deptrace-disabled.yml
generated
vendored
1
.github/workflows/__cpp-deptrace-disabled.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
cpp-deptrace-disabled:
|
cpp-deptrace-disabled:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__cpp-deptrace-enabled-on-macos.yml
generated
vendored
1
.github/workflows/__cpp-deptrace-enabled-on-macos.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
cpp-deptrace-enabled-on-macos:
|
cpp-deptrace-enabled-on-macos:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: macos-latest
|
- os: macos-latest
|
||||||
|
|||||||
1
.github/workflows/__cpp-deptrace-enabled.yml
generated
vendored
1
.github/workflows/__cpp-deptrace-enabled.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
cpp-deptrace-enabled:
|
cpp-deptrace-enabled:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__diagnostics-export.yml
generated
vendored
1
.github/workflows/__diagnostics-export.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
diagnostics-export:
|
diagnostics-export:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__export-file-baseline-information.yml
generated
vendored
1
.github/workflows/__export-file-baseline-information.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
export-file-baseline-information:
|
export-file-baseline-information:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__extractor-ram-threads.yml
generated
vendored
1
.github/workflows/__extractor-ram-threads.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
extractor-ram-threads:
|
extractor-ram-threads:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__go-custom-queries.yml
generated
vendored
1
.github/workflows/__go-custom-queries.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
go-custom-queries:
|
go-custom-queries:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml
generated
vendored
1
.github/workflows/__go-indirect-tracing-workaround-diagnostic.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
go-indirect-tracing-workaround-diagnostic:
|
go-indirect-tracing-workaround-diagnostic:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml
generated
vendored
1
.github/workflows/__go-indirect-tracing-workaround-no-file-program.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
go-indirect-tracing-workaround-no-file-program:
|
go-indirect-tracing-workaround-no-file-program:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__go-indirect-tracing-workaround.yml
generated
vendored
1
.github/workflows/__go-indirect-tracing-workaround.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
go-indirect-tracing-workaround:
|
go-indirect-tracing-workaround:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__go-tracing-autobuilder.yml
generated
vendored
1
.github/workflows/__go-tracing-autobuilder.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
go-tracing-autobuilder:
|
go-tracing-autobuilder:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__go-tracing-custom-build-steps.yml
generated
vendored
1
.github/workflows/__go-tracing-custom-build-steps.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
go-tracing-custom-build-steps:
|
go-tracing-custom-build-steps:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__go-tracing-legacy-workflow.yml
generated
vendored
1
.github/workflows/__go-tracing-legacy-workflow.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
go-tracing-legacy-workflow:
|
go-tracing-legacy-workflow:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__init-with-registries.yml
generated
vendored
1
.github/workflows/__init-with-registries.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
init-with-registries:
|
init-with-registries:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__javascript-source-root.yml
generated
vendored
1
.github/workflows/__javascript-source-root.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
javascript-source-root:
|
javascript-source-root:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__language-aliases.yml
generated
vendored
1
.github/workflows/__language-aliases.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
language-aliases:
|
language-aliases:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__multi-language-autodetect.yml
generated
vendored
1
.github/workflows/__multi-language-autodetect.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
multi-language-autodetect:
|
multi-language-autodetect:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
1
.github/workflows/__packaging-codescanning-config-inputs-js.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
packaging-codescanning-config-inputs-js:
|
packaging-codescanning-config-inputs-js:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
1
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
packaging-config-inputs-js:
|
packaging-config-inputs-js:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__packaging-config-js.yml
generated
vendored
1
.github/workflows/__packaging-config-js.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
packaging-config-js:
|
packaging-config-js:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__packaging-inputs-js.yml
generated
vendored
1
.github/workflows/__packaging-inputs-js.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
packaging-inputs-js:
|
packaging-inputs-js:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__remote-config.yml
generated
vendored
1
.github/workflows/__remote-config.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
remote-config:
|
remote-config:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__resolve-environment-action.yml
generated
vendored
1
.github/workflows/__resolve-environment-action.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
resolve-environment-action:
|
resolve-environment-action:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__rubocop-multi-language.yml
generated
vendored
1
.github/workflows/__rubocop-multi-language.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
rubocop-multi-language:
|
rubocop-multi-language:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__ruby.yml
generated
vendored
1
.github/workflows/__ruby.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
ruby:
|
ruby:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__scaling-reserved-ram.yml
generated
vendored
1
.github/workflows/__scaling-reserved-ram.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
scaling-reserved-ram:
|
scaling-reserved-ram:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__split-workflow.yml
generated
vendored
1
.github/workflows/__split-workflow.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
split-workflow:
|
split-workflow:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__submit-sarif-failure.yml
generated
vendored
1
.github/workflows/__submit-sarif-failure.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
submit-sarif-failure:
|
submit-sarif-failure:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__swift-custom-build.yml
generated
vendored
1
.github/workflows/__swift-custom-build.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
swift-custom-build:
|
swift-custom-build:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__test-autobuild-working-dir.yml
generated
vendored
1
.github/workflows/__test-autobuild-working-dir.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
test-autobuild-working-dir:
|
test-autobuild-working-dir:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__test-local-codeql.yml
generated
vendored
1
.github/workflows/__test-local-codeql.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
test-local-codeql:
|
test-local-codeql:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__test-proxy.yml
generated
vendored
1
.github/workflows/__test-proxy.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
test-proxy:
|
test-proxy:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__unset-environment.yml
generated
vendored
1
.github/workflows/__unset-environment.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
unset-environment:
|
unset-environment:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
1
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
upload-ref-sha-input:
|
upload-ref-sha-input:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/__with-checkout-path.yml
generated
vendored
1
.github/workflows/__with-checkout-path.yml
generated
vendored
@@ -25,6 +25,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
with-checkout-path:
|
with-checkout-path:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/codeql.yml
vendored
1
.github/workflows/codeql.yml
vendored
@@ -73,6 +73,7 @@ jobs:
|
|||||||
build:
|
build:
|
||||||
needs: [check-codeql-versions]
|
needs: [check-codeql-versions]
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-20.04,ubuntu-22.04,windows-2019,windows-2022,macos-11,macos-12,macos-13]
|
os: [ubuntu-20.04,ubuntu-22.04,windows-2019,windows-2022,macos-11,macos-12,macos-13]
|
||||||
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
|
tools: ${{ fromJson(needs.check-codeql-versions.outputs.versions) }}
|
||||||
|
|||||||
@@ -24,6 +24,7 @@ jobs:
|
|||||||
continue-on-error: true
|
continue-on-error: true
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
1
.github/workflows/debug-artifacts.yml
vendored
1
.github/workflows/debug-artifacts.yml
vendored
@@ -22,6 +22,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
upload-artifacts:
|
upload-artifacts:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
version:
|
||||||
- stable-20230403
|
- stable-20230403
|
||||||
|
|||||||
5
.github/workflows/pr-checks.yml
vendored
5
.github/workflows/pr-checks.yml
vendored
@@ -16,8 +16,9 @@ jobs:
|
|||||||
timeout-minutes: 45
|
timeout-minutes: 45
|
||||||
|
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
node-types-version: [16.11, current] # run tests on 16.11 while CodeQL Action v2 is still supported
|
node-types-version: [16.11, current] # we backport this matrix job in order to maintain the same check names
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
@@ -49,6 +50,7 @@ jobs:
|
|||||||
fi
|
fi
|
||||||
|
|
||||||
- name: Check generated JS
|
- name: Check generated JS
|
||||||
|
if: matrix.node-types-version != 'current' # we do not need to test the newer node on the v2 branch
|
||||||
run: .github/workflows/script/check-js.sh
|
run: .github/workflows/script/check-js.sh
|
||||||
|
|
||||||
check-node-modules:
|
check-node-modules:
|
||||||
@@ -89,6 +91,7 @@ jobs:
|
|||||||
name: Unit Test
|
name: Unit Test
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest, windows-latest]
|
os: [ubuntu-latest, macos-latest, windows-latest]
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
|||||||
1
.github/workflows/test-codeql-bundle-all.yml
vendored
1
.github/workflows/test-codeql-bundle-all.yml
vendored
@@ -22,6 +22,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
test-codeql-bundle-all:
|
test-codeql-bundle-all:
|
||||||
strategy:
|
strategy:
|
||||||
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
include:
|
include:
|
||||||
- os: ubuntu-latest
|
- os: ubuntu-latest
|
||||||
|
|||||||
54
CHANGELOG.md
54
CHANGELOG.md
@@ -4,108 +4,110 @@ See the [releases page](https://github.com/github/codeql-action/releases) for th
|
|||||||
|
|
||||||
Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers.
|
Note that the only difference between `v2` and `v3` of the CodeQL Action is the node version they support, with `v3` running on node 20 while we continue to release `v2` to support running on node 16. For example `3.22.11` was the first `v3` release and is functionally identical to `2.22.11`. This approach ensures an easy way to track exactly which features are included in different versions, indicated by the minor and patch version numbers.
|
||||||
|
|
||||||
## [UNRELEASED]
|
## 2.25.5 - 13 May 2024
|
||||||
|
|
||||||
No user facing changes.
|
- Add a compatibility matrix of supported CodeQL Action, CodeQL CLI, and GitHub Enterprise Server versions to the [README.md](README.md). [#2273](https://github.com/github/codeql-action/pull/2273)
|
||||||
|
- Avoid printing out a warning for a missing `on.push` trigger when the CodeQL Action is triggered via a `workflow_call` event. [#2274](https://github.com/github/codeql-action/pull/2274)
|
||||||
|
|
||||||
## 3.25.3 - 25 Apr 2024
|
## 2.25.4 - 08 May 2024
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.17.2. [#2270](https://github.com/github/codeql-action/pull/2270)
|
||||||
|
|
||||||
|
## 2.25.3 - 25 Apr 2024
|
||||||
|
|
||||||
- Update default CodeQL bundle version to 2.17.1. [#2247](https://github.com/github/codeql-action/pull/2247)
|
- Update default CodeQL bundle version to 2.17.1. [#2247](https://github.com/github/codeql-action/pull/2247)
|
||||||
- Workflows running on `macos-latest` using CodeQL CLI versions before v2.15.1 will need to either upgrade their CLI version to v2.15.1 or newer, or change the platform to an Intel MacOS runner, such as `macos-12`. ARM machines with SIP disabled, including the newest `macos-latest` image, are unsupported for CLI versions before 2.15.1. [#2261](https://github.com/github/codeql-action/pull/2261)
|
- Workflows running on `macos-latest` using CodeQL CLI versions before v2.15.1 will need to either upgrade their CLI version to v2.15.1 or newer, or change the platform to an Intel MacOS runner, such as `macos-12`. ARM machines with SIP disabled, including the newest `macos-latest` image, are unsupported for CLI versions before 2.15.1. [#2261](https://github.com/github/codeql-action/pull/2261)
|
||||||
|
|
||||||
## 3.25.2 - 22 Apr 2024
|
## 2.25.2 - 22 Apr 2024
|
||||||
|
|
||||||
No user facing changes.
|
No user facing changes.
|
||||||
|
|
||||||
## 3.25.1 - 17 Apr 2024
|
## 2.25.1 - 17 Apr 2024
|
||||||
|
|
||||||
- We are rolling out a feature in April/May 2024 that improves the reliability and performance of analyzing code when analyzing a compiled language with the `autobuild` [build mode](https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#codeql-build-modes). [#2235](https://github.com/github/codeql-action/pull/2235)
|
- We are rolling out a feature in April/May 2024 that improves the reliability and performance of analyzing code when analyzing a compiled language with the `autobuild` [build mode](https://docs.github.com/en/code-security/code-scanning/creating-an-advanced-setup-for-code-scanning/codeql-code-scanning-for-compiled-languages#codeql-build-modes). [#2235](https://github.com/github/codeql-action/pull/2235)
|
||||||
- Fix a bug where the `init` Action would fail if `--overwrite` was specified in `CODEQL_ACTION_EXTRA_OPTIONS`. [#2245](https://github.com/github/codeql-action/pull/2245)
|
- Fix a bug where the `init` Action would fail if `--overwrite` was specified in `CODEQL_ACTION_EXTRA_OPTIONS`. [#2245](https://github.com/github/codeql-action/pull/2245)
|
||||||
|
|
||||||
## 3.25.0 - 15 Apr 2024
|
## 2.25.0 - 15 Apr 2024
|
||||||
|
|
||||||
- The deprecated feature for extracting dependencies for a Python analysis has been removed. [#2224](https://github.com/github/codeql-action/pull/2224)
|
- The deprecated feature for extracting dependencies for a Python analysis has been removed. [#2224](https://github.com/github/codeql-action/pull/2224)
|
||||||
|
|
||||||
As a result, the following inputs and environment variables are now ignored:
|
As a result, the following inputs and environment variables are now ignored:
|
||||||
|
|
||||||
- The `setup-python-dependencies` input to the `init` Action
|
- The `setup-python-dependencies` input to the `init` Action
|
||||||
- The `CODEQL_ACTION_DISABLE_PYTHON_DEPENDENCY_INSTALLATION` environment variable
|
- The `CODEQL_ACTION_DISABLE_PYTHON_DEPENDENCY_INSTALLATION` environment variable
|
||||||
|
|
||||||
We recommend removing any references to these from your workflows. For more information, see the release notes for CodeQL Action v3.23.0 and v2.23.0.
|
We recommend removing any references to these from your workflows. For more information, see the release notes for CodeQL Action v3.23.0 and v2.23.0.
|
||||||
- Automatically overwrite an existing database if found on the filesystem. [#2229](https://github.com/github/codeql-action/pull/2229)
|
- Automatically overwrite an existing database if found on the filesystem. [#2229](https://github.com/github/codeql-action/pull/2229)
|
||||||
- Bump the minimum CodeQL bundle version to 2.12.6. [#2232](https://github.com/github/codeql-action/pull/2232)
|
- Bump the minimum CodeQL bundle version to 2.12.6. [#2232](https://github.com/github/codeql-action/pull/2232)
|
||||||
- A more relevant log message and a diagnostic are now emitted when the `file` program is not installed on a Linux runner, but is required for Go tracing to succeed. [#2234](https://github.com/github/codeql-action/pull/2234)
|
- A more relevant log message and a diagnostic are now emitted when the `file` program is not installed on a Linux runner, but is required for Go tracing to succeed. [#2234](https://github.com/github/codeql-action/pull/2234)
|
||||||
|
|
||||||
## 3.24.10 - 05 Apr 2024
|
## 2.24.10 - 05 Apr 2024
|
||||||
|
|
||||||
- Update default CodeQL bundle version to 2.17.0. [#2219](https://github.com/github/codeql-action/pull/2219)
|
- Update default CodeQL bundle version to 2.17.0. [#2219](https://github.com/github/codeql-action/pull/2219)
|
||||||
- Add a deprecation warning for customers using CodeQL version 2.12.5 and earlier. These versions of CodeQL were discontinued on 26 March 2024 alongside GitHub Enterprise Server 3.8, and will be unsupported by CodeQL Action versions 3.25.0 and later and versions 2.25.0 and later. [#2220](https://github.com/github/codeql-action/pull/2220)
|
- Add a deprecation warning for customers using CodeQL version 2.12.5 and earlier. These versions of CodeQL were discontinued on 26 March 2024 alongside GitHub Enterprise Server 3.8, and will be unsupported by CodeQL Action versions 3.25.0 and later and versions 2.25.0 and later. [#2220](https://github.com/github/codeql-action/pull/2220)
|
||||||
- If you are using one of these versions, please update to CodeQL CLI version 2.12.6 or later. For instance, if you have specified a custom version of the CLI using the 'tools' input to the 'init' Action, you can remove this input to use the default version.
|
- If you are using one of these versions, please update to CodeQL CLI version 2.12.6 or later. For instance, if you have specified a custom version of the CLI using the 'tools' input to the 'init' Action, you can remove this input to use the default version.
|
||||||
- Alternatively, if you want to continue using a version of the CodeQL CLI between 2.11.6 and 2.12.5, you can replace `github/codeql-action/*@v3` by `github/codeql-action/*@v3.24.10` and `github/codeql-action/*@v2` by `github/codeql-action/*@v2.24.10` in your code scanning workflow to ensure you continue using this version of the CodeQL Action.
|
- Alternatively, if you want to continue using a version of the CodeQL CLI between 2.11.6 and 2.12.5, you can replace `github/codeql-action/*@v3` by `github/codeql-action/*@v3.24.10` and `github/codeql-action/*@v2` by `github/codeql-action/*@v2.24.10` in your code scanning workflow to ensure you continue using this version of the CodeQL Action.
|
||||||
|
|
||||||
## 3.24.9 - 22 Mar 2024
|
## 2.24.9 - 22 Mar 2024
|
||||||
|
|
||||||
- Update default CodeQL bundle version to 2.16.5. [#2203](https://github.com/github/codeql-action/pull/2203)
|
- Update default CodeQL bundle version to 2.16.5. [#2203](https://github.com/github/codeql-action/pull/2203)
|
||||||
|
|
||||||
## 3.24.8 - 18 Mar 2024
|
## 2.24.8 - 18 Mar 2024
|
||||||
|
|
||||||
- Improve the ease of debugging extraction issues by increasing the verbosity of the extractor logs when running in debug mode. [#2195](https://github.com/github/codeql-action/pull/2195)
|
- Improve the ease of debugging extraction issues by increasing the verbosity of the extractor logs when running in debug mode. [#2195](https://github.com/github/codeql-action/pull/2195)
|
||||||
|
|
||||||
## 3.24.7 - 12 Mar 2024
|
## 2.24.7 - 12 Mar 2024
|
||||||
|
|
||||||
- Update default CodeQL bundle version to 2.16.4. [#2185](https://github.com/github/codeql-action/pull/2185)
|
- Update default CodeQL bundle version to 2.16.4. [#2185](https://github.com/github/codeql-action/pull/2185)
|
||||||
|
|
||||||
## 3.24.6 - 29 Feb 2024
|
## 2.24.6 - 29 Feb 2024
|
||||||
|
|
||||||
No user facing changes.
|
No user facing changes.
|
||||||
|
|
||||||
## 3.24.5 - 23 Feb 2024
|
## 2.24.5 - 23 Feb 2024
|
||||||
|
|
||||||
- Update default CodeQL bundle version to 2.16.3. [#2156](https://github.com/github/codeql-action/pull/2156)
|
- Update default CodeQL bundle version to 2.16.3. [#2156](https://github.com/github/codeql-action/pull/2156)
|
||||||
|
|
||||||
## 3.24.4 - 21 Feb 2024
|
## 2.24.4 - 21 Feb 2024
|
||||||
|
|
||||||
- Fix an issue where an existing, but empty, `/sys/fs/cgroup/cpuset.cpus` file always resulted in a single-threaded run. [#2151](https://github.com/github/codeql-action/pull/2151)
|
- Fix an issue where an existing, but empty, `/sys/fs/cgroup/cpuset.cpus` file always resulted in a single-threaded run. [#2151](https://github.com/github/codeql-action/pull/2151)
|
||||||
|
|
||||||
## 3.24.3 - 15 Feb 2024
|
## 2.24.3 - 15 Feb 2024
|
||||||
|
|
||||||
- Fix an issue where the CodeQL Action would fail to load a configuration specified by the `config` input to the `init` Action. [#2147](https://github.com/github/codeql-action/pull/2147)
|
- Fix an issue where the CodeQL Action would fail to load a configuration specified by the `config` input to the `init` Action. [#2147](https://github.com/github/codeql-action/pull/2147)
|
||||||
|
|
||||||
## 3.24.2 - 15 Feb 2024
|
## 2.24.2 - 15 Feb 2024
|
||||||
|
|
||||||
- Enable improved multi-threaded performance on larger runners for GitHub Enterprise Server users. This feature is already available to GitHub.com users. [#2141](https://github.com/github/codeql-action/pull/2141)
|
- Enable improved multi-threaded performance on larger runners for GitHub Enterprise Server users. This feature is already available to GitHub.com users. [#2141](https://github.com/github/codeql-action/pull/2141)
|
||||||
|
|
||||||
## 3.24.1 - 13 Feb 2024
|
## 2.24.1 - 13 Feb 2024
|
||||||
|
|
||||||
- Update default CodeQL bundle version to 2.16.2. [#2124](https://github.com/github/codeql-action/pull/2124)
|
- Update default CodeQL bundle version to 2.16.2. [#2124](https://github.com/github/codeql-action/pull/2124)
|
||||||
- The CodeQL action no longer fails if it can't write to the telemetry api endpoint. [#2121](https://github.com/github/codeql-action/pull/2121)
|
- The CodeQL action no longer fails if it can't write to the telemetry api endpoint. [#2121](https://github.com/github/codeql-action/pull/2121)
|
||||||
|
|
||||||
## 3.24.0 - 02 Feb 2024
|
## 2.24.0 - 02 Feb 2024
|
||||||
|
|
||||||
- CodeQL Python analysis will no longer install dependencies on GitHub Enterprise Server, as is already the case for GitHub.com. See [release notes for 3.23.0](#3230---08-jan-2024) for more details. [#2106](https://github.com/github/codeql-action/pull/2106)
|
- CodeQL Python analysis will no longer install dependencies on GitHub Enterprise Server, as is already the case for GitHub.com. See [release notes for 3.23.0](#3230---08-jan-2024) for more details. [#2106](https://github.com/github/codeql-action/pull/2106)
|
||||||
|
|
||||||
## 3.23.2 - 26 Jan 2024
|
## 2.23.2 - 26 Jan 2024
|
||||||
|
|
||||||
- On Linux, the maximum possible value for the `--threads` option now respects the CPU count as specified in `cgroup` files to more accurately reflect the number of available cores when running in containers. [#2083](https://github.com/github/codeql-action/pull/2083)
|
- On Linux, the maximum possible value for the `--threads` option now respects the CPU count as specified in `cgroup` files to more accurately reflect the number of available cores when running in containers. [#2083](https://github.com/github/codeql-action/pull/2083)
|
||||||
- Update default CodeQL bundle version to 2.16.1. [#2096](https://github.com/github/codeql-action/pull/2096)
|
- Update default CodeQL bundle version to 2.16.1. [#2096](https://github.com/github/codeql-action/pull/2096)
|
||||||
|
|
||||||
## 3.23.1 - 17 Jan 2024
|
## 2.23.1 - 17 Jan 2024
|
||||||
|
|
||||||
- Update default CodeQL bundle version to 2.16.0. [#2073](https://github.com/github/codeql-action/pull/2073)
|
- Update default CodeQL bundle version to 2.16.0. [#2073](https://github.com/github/codeql-action/pull/2073)
|
||||||
- Change the retention period for uploaded debug artifacts to 7 days. Previously, this was whatever the repository default was. [#2079](https://github.com/github/codeql-action/pull/2079)
|
- Change the retention period for uploaded debug artifacts to 7 days. Previously, this was whatever the repository default was. [#2079](https://github.com/github/codeql-action/pull/2079)
|
||||||
|
|
||||||
## 3.23.0 - 08 Jan 2024
|
## 2.23.0 - 08 Jan 2024
|
||||||
|
|
||||||
- We are rolling out a feature in January 2024 that will disable Python dependency installation by default for all users. This improves the speed of analysis while having only a very minor impact on results. You can override this behavior by setting `CODEQL_ACTION_DISABLE_PYTHON_DEPENDENCY_INSTALLATION=false` in your workflow, however we plan to remove this ability in future versions of the CodeQL Action. [#2031](https://github.com/github/codeql-action/pull/2031)
|
- We are rolling out a feature in January 2024 that will disable Python dependency installation by default for all users. This improves the speed of analysis while having only a very minor impact on results. You can override this behavior by setting `CODEQL_ACTION_DISABLE_PYTHON_DEPENDENCY_INSTALLATION=false` in your workflow, however we plan to remove this ability in future versions of the CodeQL Action. [#2031](https://github.com/github/codeql-action/pull/2031)
|
||||||
- The CodeQL Action now requires CodeQL version 2.11.6 or later. For more information, see [the corresponding changelog entry for CodeQL Action version 2.22.7](#2227---16-nov-2023). [#2009](https://github.com/github/codeql-action/pull/2009)
|
- The CodeQL Action now requires CodeQL version 2.11.6 or later. For more information, see [the corresponding changelog entry for CodeQL Action version 2.22.7](#2227---16-nov-2023). [#2009](https://github.com/github/codeql-action/pull/2009)
|
||||||
|
|
||||||
## 3.22.12 - 22 Dec 2023
|
## 2.22.12 - 22 Dec 2023
|
||||||
|
|
||||||
- Update default CodeQL bundle version to 2.15.5. [#2047](https://github.com/github/codeql-action/pull/2047)
|
- Update default CodeQL bundle version to 2.15.5. [#2047](https://github.com/github/codeql-action/pull/2047)
|
||||||
|
|
||||||
## 3.22.11 - 13 Dec 2023
|
## 2.22.11 - 13 Dec 2023
|
||||||
|
|
||||||
- [v3+ only] The CodeQL Action now runs on Node.js v20. [#2006](https://github.com/github/codeql-action/pull/2006)
|
No user facing changes.
|
||||||
|
|
||||||
## 2.22.10 - 12 Dec 2023
|
## 2.22.10 - 12 Dec 2023
|
||||||
|
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
[fork]: https://github.com/github/codeql-action/fork
|
[fork]: https://github.com/github/codeql-action/fork
|
||||||
[pr]: https://github.com/github/codeql-action/compare
|
[pr]: https://github.com/github/codeql-action/compare
|
||||||
[code-of-conduct]: CODE_OF_CONDUCT.md
|
[code-of-conduct]: CODE_OF_CONDUCT.md
|
||||||
|
[readme]: README.md#supported-versions-of-the-codeql-cli-and-github-enterprise-server
|
||||||
|
|
||||||
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
|
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
|
||||||
|
|
||||||
@@ -84,6 +85,7 @@ We typically deprecate a version of CodeQL when the GitHub Enterprise Server (GH
|
|||||||
1. Notify users using the old version of CodeQL about the deprecation.
|
1. Notify users using the old version of CodeQL about the deprecation.
|
||||||
- Update `CODEQL_NEXT_MINIMUM_VERSION`, `GHES_VERSION_MOST_RECENTLY_DEPRECATED`, and `GHES_MOST_RECENT_DEPRECATION_DATE` in `src/codeql.ts` to reflect the new minimum version of CodeQL and the GHES version that has just been deprecated.
|
- Update `CODEQL_NEXT_MINIMUM_VERSION`, `GHES_VERSION_MOST_RECENTLY_DEPRECATED`, and `GHES_MOST_RECENT_DEPRECATION_DATE` in `src/codeql.ts` to reflect the new minimum version of CodeQL and the GHES version that has just been deprecated.
|
||||||
- Add a changelog note announcing the deprecation.
|
- Add a changelog note announcing the deprecation.
|
||||||
|
- Update the CLI version referenced in the [readme] by adding a new row to the compatibility table.
|
||||||
- Example PR: https://github.com/github/codeql-action/pull/1884
|
- Example PR: https://github.com/github/codeql-action/pull/1884
|
||||||
1. Release the Action, or wait for the next scheduled release of the Action, then wait at least a week so users have time to see and act on the deprecation warning.
|
1. Release the Action, or wait for the next scheduled release of the Action, then wait at least a week so users have time to see and act on the deprecation warning.
|
||||||
1. Remove support for the old version of CodeQL.
|
1. Remove support for the old version of CodeQL.
|
||||||
|
|||||||
16
README.md
16
README.md
@@ -33,6 +33,22 @@ To provide the best experience to customers using older versions of GitHub Enter
|
|||||||
|
|
||||||
For more information, see "[Code scanning: deprecation of CodeQL Action v2](https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/)."
|
For more information, see "[Code scanning: deprecation of CodeQL Action v2](https://github.blog/changelog/2024-01-12-code-scanning-deprecation-of-codeql-action-v2/)."
|
||||||
|
|
||||||
|
## Supported versions of the CodeQL CLI and GitHub Enterprise Server
|
||||||
|
|
||||||
|
We typically release new minor versions of the CodeQL Action and CLI when a new minor version of GitHub Enterprise Server (GHES) is released. When a version of GHES is deprecated, the CodeQL Action and CLI releases that shipped with it are deprecated as well.
|
||||||
|
|
||||||
|
| Recommended CodeQL Action | Recommended CodeQL CLI Version | GitHub Environment |
|
||||||
|
|---------|----------|--------------|
|
||||||
|
| `v3` | default (do not pass a `tools` input) | GitHub.com |
|
||||||
|
| `3.22.12` | `2.15.5` | Enterprise Server 3.12 |
|
||||||
|
| `2.22.1` | `2.14.6` | Enterprise Server 3.11 |
|
||||||
|
| `2.20.3` | `2.13.5` | Enterprise Server 3.10 |
|
||||||
|
| `2.2.9` | `2.12.5` | Enterprise Server 3.9 |
|
||||||
|
|
||||||
|
CodeQL Action `v2` will stop receiving updates when GHES 3.11 is deprecated.
|
||||||
|
|
||||||
|
See the full list of GHES release and deprecation dates at [GitHub Enterprise Server releases](https://docs.github.com/en/enterprise-server/admin/all-releases#releases-of-github-enterprise-server).
|
||||||
|
|
||||||
## Troubleshooting
|
## Troubleshooting
|
||||||
|
|
||||||
Read about [troubleshooting code scanning](https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning).
|
Read about [troubleshooting code scanning](https://docs.github.com/en/code-security/code-scanning/troubleshooting-code-scanning).
|
||||||
|
|||||||
@@ -86,6 +86,6 @@ outputs:
|
|||||||
sarif-id:
|
sarif-id:
|
||||||
description: The ID of the uploaded SARIF file.
|
description: The ID of the uploaded SARIF file.
|
||||||
runs:
|
runs:
|
||||||
using: node20
|
using: node16
|
||||||
main: "../lib/analyze-action.js"
|
main: "../lib/analyze-action.js"
|
||||||
post: "../lib/analyze-action-post.js"
|
post: "../lib/analyze-action-post.js"
|
||||||
|
|||||||
@@ -15,5 +15,5 @@ inputs:
|
|||||||
$GITHUB_WORKSPACE as its working directory.
|
$GITHUB_WORKSPACE as its working directory.
|
||||||
required: false
|
required: false
|
||||||
runs:
|
runs:
|
||||||
using: node20
|
using: node16
|
||||||
main: '../lib/autobuild-action.js'
|
main: '../lib/autobuild-action.js'
|
||||||
|
|||||||
@@ -133,6 +133,6 @@ outputs:
|
|||||||
codeql-path:
|
codeql-path:
|
||||||
description: The path of the CodeQL binary used for analysis
|
description: The path of the CodeQL binary used for analysis
|
||||||
runs:
|
runs:
|
||||||
using: node20
|
using: node16
|
||||||
main: '../lib/init-action.js'
|
main: '../lib/init-action.js'
|
||||||
post: '../lib/init-action-post.js'
|
post: '../lib/init-action-post.js'
|
||||||
|
|||||||
11
lib/analyze.js
generated
11
lib/analyze.js
generated
@@ -225,13 +225,10 @@ async function runFinalize(outputDir, threadsFlag, memoryFlag, codeql, config, f
|
|||||||
}
|
}
|
||||||
await fs.promises.mkdir(outputDir, { recursive: true });
|
await fs.promises.mkdir(outputDir, { recursive: true });
|
||||||
const timings = await finalizeDatabaseCreation(codeql, config, threadsFlag, memoryFlag, logger);
|
const timings = await finalizeDatabaseCreation(codeql, config, threadsFlag, memoryFlag, logger);
|
||||||
// WARNING: This does not _really_ end tracing, as the tracer will restore its
|
// If we didn't already end tracing in the autobuild Action, end it now.
|
||||||
// critical environment variables and it'll still be active for all processes
|
if (process.env[environment_1.EnvVar.AUTOBUILD_DID_COMPLETE_SUCCESSFULLY] !== "true") {
|
||||||
// launched from this build step.
|
await (0, tracer_config_1.endTracingForCluster)(codeql, config, logger, features);
|
||||||
// However, it will stop tracing for all steps past the codeql-action/analyze
|
}
|
||||||
// step.
|
|
||||||
// Delete variables as specified by the end-tracing script
|
|
||||||
await (0, tracer_config_1.endTracingForCluster)(codeql, config, features);
|
|
||||||
return timings;
|
return timings;
|
||||||
}
|
}
|
||||||
exports.runFinalize = runFinalize;
|
exports.runFinalize = runFinalize;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
4
lib/autobuild-action.js
generated
4
lib/autobuild-action.js
generated
@@ -34,6 +34,7 @@ const feature_flags_1 = require("./feature-flags");
|
|||||||
const logging_1 = require("./logging");
|
const logging_1 = require("./logging");
|
||||||
const repository_1 = require("./repository");
|
const repository_1 = require("./repository");
|
||||||
const status_report_1 = require("./status-report");
|
const status_report_1 = require("./status-report");
|
||||||
|
const tracer_config_1 = require("./tracer-config");
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
async function sendCompletedStatusReport(config, logger, startedAt, allLanguages, failingLanguage, cause) {
|
async function sendCompletedStatusReport(config, logger, startedAt, allLanguages, failingLanguage, cause) {
|
||||||
(0, util_1.initializeEnvironment)((0, actions_util_1.getActionVersion)());
|
(0, util_1.initializeEnvironment)((0, actions_util_1.getActionVersion)());
|
||||||
@@ -81,6 +82,9 @@ async function run() {
|
|||||||
await (0, autobuild_1.runAutobuild)(config, language, features, logger);
|
await (0, autobuild_1.runAutobuild)(config, language, features, logger);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
// End tracing early to avoid tracing analyze. This improves the performance and reliability of
|
||||||
|
// the analyze step.
|
||||||
|
await (0, tracer_config_1.endTracingForCluster)(codeql, config, logger, features);
|
||||||
}
|
}
|
||||||
catch (unwrappedError) {
|
catch (unwrappedError) {
|
||||||
const error = (0, util_1.wrapError)(unwrappedError);
|
const error = (0, util_1.wrapError)(unwrappedError);
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"autobuild-action.js","sourceRoot":"","sources":["../src/autobuild-action.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"autobuild-action.js","sourceRoot":"","sources":["../src/autobuild-action.ts"],"names":[],"mappings":"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"}
|
||||||
4
lib/autobuild.js
generated
4
lib/autobuild.js
generated
@@ -141,11 +141,11 @@ async function runAutobuild(config, language, features, logger) {
|
|||||||
await setupCppAutobuild(codeQL, logger);
|
await setupCppAutobuild(codeQL, logger);
|
||||||
}
|
}
|
||||||
if (config.buildMode &&
|
if (config.buildMode &&
|
||||||
(await features.getValue(feature_flags_1.Feature.AutobuildDirectTracingEnabled, codeQL))) {
|
(await features.getValue(feature_flags_1.Feature.AutobuildDirectTracing, codeQL))) {
|
||||||
await codeQL.extractUsingBuildMode(config, language);
|
await codeQL.extractUsingBuildMode(config, language);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
await codeQL.runAutobuild(config, language, features);
|
await codeQL.runAutobuild(config, language);
|
||||||
}
|
}
|
||||||
if (language === languages_1.Language.go) {
|
if (language === languages_1.Language.go) {
|
||||||
core.exportVariable(environment_1.EnvVar.DID_AUTOBUILD_GOLANG, "true");
|
core.exportVariable(environment_1.EnvVar.DID_AUTOBUILD_GOLANG, "true");
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"autobuild.js","sourceRoot":"","sources":["../src/autobuild.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"autobuild.js","sourceRoot":"","sources":["../src/autobuild.ts"],"names":[],"mappings":"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"}
|
||||||
10
lib/cli-errors.js
generated
10
lib/cli-errors.js
generated
@@ -117,6 +117,7 @@ function ensureEndsInPeriod(text) {
|
|||||||
var CliConfigErrorCategory;
|
var CliConfigErrorCategory;
|
||||||
(function (CliConfigErrorCategory) {
|
(function (CliConfigErrorCategory) {
|
||||||
CliConfigErrorCategory["ExternalRepositoryCloneFailed"] = "ExternalRepositoryCloneFailed";
|
CliConfigErrorCategory["ExternalRepositoryCloneFailed"] = "ExternalRepositoryCloneFailed";
|
||||||
|
CliConfigErrorCategory["GracefulOutOfMemory"] = "GracefulOutOfMemory";
|
||||||
CliConfigErrorCategory["GradleBuildFailed"] = "GradleBuildFailed";
|
CliConfigErrorCategory["GradleBuildFailed"] = "GradleBuildFailed";
|
||||||
CliConfigErrorCategory["IncompatibleWithActionVersion"] = "IncompatibleWithActionVersion";
|
CliConfigErrorCategory["IncompatibleWithActionVersion"] = "IncompatibleWithActionVersion";
|
||||||
CliConfigErrorCategory["InitCalledTwice"] = "InitCalledTwice";
|
CliConfigErrorCategory["InitCalledTwice"] = "InitCalledTwice";
|
||||||
@@ -127,6 +128,7 @@ var CliConfigErrorCategory;
|
|||||||
CliConfigErrorCategory["NoSourceCodeSeen"] = "NoSourceCodeSeen";
|
CliConfigErrorCategory["NoSourceCodeSeen"] = "NoSourceCodeSeen";
|
||||||
CliConfigErrorCategory["NoSupportedBuildCommandSucceeded"] = "NoSupportedBuildCommandSucceeded";
|
CliConfigErrorCategory["NoSupportedBuildCommandSucceeded"] = "NoSupportedBuildCommandSucceeded";
|
||||||
CliConfigErrorCategory["NoSupportedBuildSystemDetected"] = "NoSupportedBuildSystemDetected";
|
CliConfigErrorCategory["NoSupportedBuildSystemDetected"] = "NoSupportedBuildSystemDetected";
|
||||||
|
CliConfigErrorCategory["PackCannotBeFound"] = "PackCannotBeFound";
|
||||||
CliConfigErrorCategory["SwiftBuildFailed"] = "SwiftBuildFailed";
|
CliConfigErrorCategory["SwiftBuildFailed"] = "SwiftBuildFailed";
|
||||||
CliConfigErrorCategory["UnsupportedBuildMode"] = "UnsupportedBuildMode";
|
CliConfigErrorCategory["UnsupportedBuildMode"] = "UnsupportedBuildMode";
|
||||||
})(CliConfigErrorCategory || (exports.CliConfigErrorCategory = CliConfigErrorCategory = {}));
|
})(CliConfigErrorCategory || (exports.CliConfigErrorCategory = CliConfigErrorCategory = {}));
|
||||||
@@ -140,6 +142,9 @@ exports.cliErrorsConfig = {
|
|||||||
new RegExp("Failed to clone external Git repository"),
|
new RegExp("Failed to clone external Git repository"),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
[CliConfigErrorCategory.GracefulOutOfMemory]: {
|
||||||
|
cliErrorMessageCandidates: [new RegExp("CodeQL is out of memory.")],
|
||||||
|
},
|
||||||
[CliConfigErrorCategory.GradleBuildFailed]: {
|
[CliConfigErrorCategory.GradleBuildFailed]: {
|
||||||
cliErrorMessageCandidates: [
|
cliErrorMessageCandidates: [
|
||||||
new RegExp("[autobuild] FAILURE: Build failed with an exception."),
|
new RegExp("[autobuild] FAILURE: Build failed with an exception."),
|
||||||
@@ -195,6 +200,11 @@ exports.cliErrorsConfig = {
|
|||||||
new RegExp("No supported build system detected"),
|
new RegExp("No supported build system detected"),
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
[CliConfigErrorCategory.PackCannotBeFound]: {
|
||||||
|
cliErrorMessageCandidates: [
|
||||||
|
new RegExp("Query pack .* cannot be found\\. Check the spelling of the pack\\."),
|
||||||
|
],
|
||||||
|
},
|
||||||
[CliConfigErrorCategory.SwiftBuildFailed]: {
|
[CliConfigErrorCategory.SwiftBuildFailed]: {
|
||||||
cliErrorMessageCandidates: [
|
cliErrorMessageCandidates: [
|
||||||
new RegExp("\\[autobuilder/build\\] \\[build-command-failed\\] `autobuild` failed to run the build command"),
|
new RegExp("\\[autobuilder/build\\] \\[build-command-failed\\] `autobuild` failed to run the build command"),
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
13
lib/codeql.js
generated
13
lib/codeql.js
generated
@@ -297,19 +297,8 @@ async function getCodeQLForCmd(cmd, checkVersion) {
|
|||||||
}),
|
}),
|
||||||
], { stdin: externalRepositoryToken });
|
], { stdin: externalRepositoryToken });
|
||||||
},
|
},
|
||||||
async runAutobuild(config, language, features) {
|
async runAutobuild(config, language) {
|
||||||
applyAutobuildAzurePipelinesTimeoutFix();
|
applyAutobuildAzurePipelinesTimeoutFix();
|
||||||
if (await features.getValue(feature_flags_1.Feature.AutobuildDirectTracingEnabled, this)) {
|
|
||||||
await runTool(cmd, [
|
|
||||||
"database",
|
|
||||||
"trace-command",
|
|
||||||
...(await getTrapCachingExtractorConfigArgsForLang(config, language)),
|
|
||||||
...getExtractionVerbosityArguments(config.debugMode),
|
|
||||||
...getExtraOptionsFromEnv(["database", "trace-command"]),
|
|
||||||
util.getCodeQLDatabasePath(config, language),
|
|
||||||
]);
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
const autobuildCmd = path.join(await this.resolveExtractor(language), "tools", process.platform === "win32" ? "autobuild.cmd" : "autobuild.sh");
|
const autobuildCmd = path.join(await this.resolveExtractor(language), "tools", process.platform === "win32" ? "autobuild.cmd" : "autobuild.sh");
|
||||||
// Bump the verbosity of the autobuild command if we're in debug mode
|
// Bump the verbosity of the autobuild command if we're in debug mode
|
||||||
if (config.debugMode) {
|
if (config.debugMode) {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
4
lib/codeql.test.js
generated
4
lib/codeql.test.js
generated
@@ -572,7 +572,7 @@ for (const { codeqlVersion, flagPassed, githubVersion, negativeFlagPassed, } of
|
|||||||
sinon.stub(codeqlObject, "resolveExtractor").resolves("/path/to/extractor");
|
sinon.stub(codeqlObject, "resolveExtractor").resolves("/path/to/extractor");
|
||||||
// safeWhich throws because of the test CodeQL object.
|
// safeWhich throws because of the test CodeQL object.
|
||||||
sinon.stub(safeWhich, "safeWhich").resolves("");
|
sinon.stub(safeWhich, "safeWhich").resolves("");
|
||||||
await t.throwsAsync(async () => await codeqlObject.runAutobuild(stubConfig, languages_1.Language.java, (0, testing_utils_1.createFeatures)([])), {
|
await t.throwsAsync(async () => await codeqlObject.runAutobuild(stubConfig, languages_1.Language.java), {
|
||||||
instanceOf: cli_errors_1.CommandInvocationError,
|
instanceOf: cli_errors_1.CommandInvocationError,
|
||||||
message: "We were unable to automatically build your code. Please provide manual build steps. " +
|
message: "We were unable to automatically build your code. Please provide manual build steps. " +
|
||||||
"For more information, see " +
|
"For more information, see " +
|
||||||
@@ -591,7 +591,7 @@ for (const { codeqlVersion, flagPassed, githubVersion, negativeFlagPassed, } of
|
|||||||
sinon.stub(codeqlObject, "resolveExtractor").resolves("/path/to/extractor");
|
sinon.stub(codeqlObject, "resolveExtractor").resolves("/path/to/extractor");
|
||||||
// safeWhich throws because of the test CodeQL object.
|
// safeWhich throws because of the test CodeQL object.
|
||||||
sinon.stub(safeWhich, "safeWhich").resolves("");
|
sinon.stub(safeWhich, "safeWhich").resolves("");
|
||||||
await t.throwsAsync(async () => await codeqlObject.runAutobuild(stubConfig, languages_1.Language.java, (0, testing_utils_1.createFeatures)([])), {
|
await t.throwsAsync(async () => await codeqlObject.runAutobuild(stubConfig, languages_1.Language.java), {
|
||||||
instanceOf: cli_errors_1.CommandInvocationError,
|
instanceOf: cli_errors_1.CommandInvocationError,
|
||||||
message: "We were unable to automatically build your code. Please provide manual build steps. " +
|
message: "We were unable to automatically build your code. Please provide manual build steps. " +
|
||||||
"For more information, see " +
|
"For more information, see " +
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"bundleVersion": "codeql-bundle-v2.17.1",
|
"bundleVersion": "codeql-bundle-v2.17.2",
|
||||||
"cliVersion": "2.17.1",
|
"cliVersion": "2.17.2",
|
||||||
"priorBundleVersion": "codeql-bundle-v2.17.0",
|
"priorBundleVersion": "codeql-bundle-v2.17.1",
|
||||||
"priorCliVersion": "2.17.0"
|
"priorCliVersion": "2.17.1"
|
||||||
}
|
}
|
||||||
|
|||||||
60
lib/feature-flags.js
generated
60
lib/feature-flags.js
generated
@@ -45,12 +45,12 @@ exports.CODEQL_VERSION_FINE_GRAINED_PARALLELISM = "2.15.1";
|
|||||||
/**
|
/**
|
||||||
* Feature enablement as returned by the GitHub API endpoint.
|
* Feature enablement as returned by the GitHub API endpoint.
|
||||||
*
|
*
|
||||||
* Each value of this enum should end with `_enabled`.
|
* Legacy features should end with `_enabled`.
|
||||||
*/
|
*/
|
||||||
var Feature;
|
var Feature;
|
||||||
(function (Feature) {
|
(function (Feature) {
|
||||||
Feature["AutobuildDirectTracingEnabled"] = "autobuild_direct_tracing_enabled";
|
Feature["AutobuildDirectTracing"] = "autobuild_direct_tracing";
|
||||||
Feature["CliSarifMerge"] = "cli_sarif_merge_enabled";
|
Feature["CombineSarifFilesDeprecationWarning"] = "combine_sarif_files_deprecation_warning_enabled";
|
||||||
Feature["CppDependencyInstallation"] = "cpp_dependency_installation_enabled";
|
Feature["CppDependencyInstallation"] = "cpp_dependency_installation_enabled";
|
||||||
Feature["CppTrapCachingEnabled"] = "cpp_trap_caching_enabled";
|
Feature["CppTrapCachingEnabled"] = "cpp_trap_caching_enabled";
|
||||||
Feature["DisableJavaBuildlessEnabled"] = "disable_java_buildless_enabled";
|
Feature["DisableJavaBuildlessEnabled"] = "disable_java_buildless_enabled";
|
||||||
@@ -59,47 +59,54 @@ var Feature;
|
|||||||
Feature["QaTelemetryEnabled"] = "qa_telemetry_enabled";
|
Feature["QaTelemetryEnabled"] = "qa_telemetry_enabled";
|
||||||
})(Feature || (exports.Feature = Feature = {}));
|
})(Feature || (exports.Feature = Feature = {}));
|
||||||
exports.featureConfig = {
|
exports.featureConfig = {
|
||||||
[Feature.AutobuildDirectTracingEnabled]: {
|
[Feature.AutobuildDirectTracing]: {
|
||||||
|
defaultValue: false,
|
||||||
envVar: "CODEQL_ACTION_AUTOBUILD_BUILD_MODE_DIRECT_TRACING",
|
envVar: "CODEQL_ACTION_AUTOBUILD_BUILD_MODE_DIRECT_TRACING",
|
||||||
minimumVersion: undefined,
|
minimumVersion: undefined,
|
||||||
toolsFeature: tools_features_1.ToolsFeature.TraceCommandUseBuildMode,
|
toolsFeature: tools_features_1.ToolsFeature.TraceCommandUseBuildMode,
|
||||||
defaultValue: false,
|
|
||||||
},
|
},
|
||||||
[Feature.CliSarifMerge]: {
|
[Feature.CombineSarifFilesDeprecationWarning]: {
|
||||||
envVar: "CODEQL_ACTION_CLI_SARIF_MERGE",
|
|
||||||
// This is guarded by a `supportsFeature` check rather than by a version check.
|
|
||||||
minimumVersion: undefined,
|
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
|
envVar: "CODEQL_ACTION_COMBINE_SARIF_FILES_DEPRECATION_WARNING",
|
||||||
|
legacyApi: true,
|
||||||
|
// Independent of the CLI version.
|
||||||
|
minimumVersion: undefined,
|
||||||
},
|
},
|
||||||
[Feature.CppDependencyInstallation]: {
|
[Feature.CppDependencyInstallation]: {
|
||||||
envVar: "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES",
|
|
||||||
minimumVersion: "2.15.0",
|
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
|
envVar: "CODEQL_EXTRACTOR_CPP_AUTOINSTALL_DEPENDENCIES",
|
||||||
|
legacyApi: true,
|
||||||
|
minimumVersion: "2.15.0",
|
||||||
},
|
},
|
||||||
[Feature.CppTrapCachingEnabled]: {
|
[Feature.CppTrapCachingEnabled]: {
|
||||||
envVar: "CODEQL_CPP_TRAP_CACHING",
|
|
||||||
minimumVersion: "2.16.1",
|
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
|
envVar: "CODEQL_CPP_TRAP_CACHING",
|
||||||
|
legacyApi: true,
|
||||||
|
minimumVersion: "2.16.1",
|
||||||
},
|
},
|
||||||
[Feature.DisableJavaBuildlessEnabled]: {
|
[Feature.DisableJavaBuildlessEnabled]: {
|
||||||
envVar: "CODEQL_ACTION_DISABLE_JAVA_BUILDLESS",
|
|
||||||
minimumVersion: undefined,
|
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
|
envVar: "CODEQL_ACTION_DISABLE_JAVA_BUILDLESS",
|
||||||
|
legacyApi: true,
|
||||||
|
minimumVersion: undefined,
|
||||||
},
|
},
|
||||||
[Feature.DisableKotlinAnalysisEnabled]: {
|
[Feature.DisableKotlinAnalysisEnabled]: {
|
||||||
envVar: "CODEQL_DISABLE_KOTLIN_ANALYSIS",
|
|
||||||
minimumVersion: undefined,
|
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
|
envVar: "CODEQL_DISABLE_KOTLIN_ANALYSIS",
|
||||||
|
legacyApi: true,
|
||||||
|
minimumVersion: undefined,
|
||||||
},
|
},
|
||||||
[Feature.ExportDiagnosticsEnabled]: {
|
[Feature.ExportDiagnosticsEnabled]: {
|
||||||
envVar: "CODEQL_ACTION_EXPORT_DIAGNOSTICS",
|
|
||||||
minimumVersion: undefined,
|
|
||||||
defaultValue: true,
|
defaultValue: true,
|
||||||
|
envVar: "CODEQL_ACTION_EXPORT_DIAGNOSTICS",
|
||||||
|
legacyApi: true,
|
||||||
|
minimumVersion: undefined,
|
||||||
},
|
},
|
||||||
[Feature.QaTelemetryEnabled]: {
|
[Feature.QaTelemetryEnabled]: {
|
||||||
envVar: "CODEQL_ACTION_QA_TELEMETRY",
|
|
||||||
minimumVersion: undefined,
|
|
||||||
defaultValue: false,
|
defaultValue: false,
|
||||||
|
envVar: "CODEQL_ACTION_QA_TELEMETRY",
|
||||||
|
legacyApi: true,
|
||||||
|
minimumVersion: undefined,
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
exports.FEATURE_FLAGS_FILE_NAME = "cached-feature-flags.json";
|
exports.FEATURE_FLAGS_FILE_NAME = "cached-feature-flags.json";
|
||||||
@@ -315,13 +322,20 @@ class GitHubFeatureFlags {
|
|||||||
return {};
|
return {};
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
const featuresToRequest = Object.entries(exports.featureConfig)
|
||||||
|
.filter(([, config]) => !config.legacyApi)
|
||||||
|
.map(([f]) => f)
|
||||||
|
.join(",");
|
||||||
const response = await (0, api_client_1.getApiClient)().request("GET /repos/:owner/:repo/code-scanning/codeql-action/features", {
|
const response = await (0, api_client_1.getApiClient)().request("GET /repos/:owner/:repo/code-scanning/codeql-action/features", {
|
||||||
owner: this.repositoryNwo.owner,
|
owner: this.repositoryNwo.owner,
|
||||||
repo: this.repositoryNwo.repo,
|
repo: this.repositoryNwo.repo,
|
||||||
|
features: featuresToRequest,
|
||||||
});
|
});
|
||||||
const remoteFlags = response.data;
|
const remoteFlags = response.data;
|
||||||
this.logger.debug("Loaded the following default values for the feature flags from the Code Scanning API: " +
|
this.logger.debug("Loaded the following default values for the feature flags from the Code Scanning API:");
|
||||||
`${JSON.stringify(remoteFlags)}`);
|
for (const [feature, value] of Object.entries(remoteFlags).sort(([nameA], [nameB]) => nameA.localeCompare(nameB))) {
|
||||||
|
this.logger.debug(` ${feature}: ${value}`);
|
||||||
|
}
|
||||||
this.hasAccessedRemoteFeatureFlags = true;
|
this.hasAccessedRemoteFeatureFlags = true;
|
||||||
return remoteFlags;
|
return remoteFlags;
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
15
lib/feature-flags.test.js
generated
15
lib/feature-flags.test.js
generated
@@ -331,9 +331,18 @@ for (const feature of Object.keys(feature_flags_1.featureConfig)) {
|
|||||||
"Ignoring feature flag default_codeql_version_2_20_invalid_enabled as it does not specify a valid CodeQL version.") !== undefined);
|
"Ignoring feature flag default_codeql_version_2_20_invalid_enabled as it does not specify a valid CodeQL version.") !== undefined);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
(0, ava_1.default)("feature flags should end with _enabled", async (t) => {
|
(0, ava_1.default)("legacy feature flags should end with _enabled", async (t) => {
|
||||||
for (const feature of Object.values(feature_flags_1.Feature)) {
|
for (const [feature, config] of Object.entries(feature_flags_1.featureConfig)) {
|
||||||
t.assert(feature.endsWith("_enabled"), `${feature} should end with '_enabled'`);
|
if (config.legacyApi) {
|
||||||
|
t.assert(feature.endsWith("_enabled"), `legacy feature ${feature} should end with '_enabled'`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("non-legacy feature flags should not end with _enabled", async (t) => {
|
||||||
|
for (const [feature, config] of Object.entries(feature_flags_1.featureConfig)) {
|
||||||
|
if (!config.legacyApi) {
|
||||||
|
t.false(feature.endsWith("_enabled"), `non-legacy feature ${feature} should not end with '_enabled'`);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
function assertAllFeaturesUndefinedInApi(t, loggedMessages) {
|
function assertAllFeaturesUndefinedInApi(t, loggedMessages) {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
14
lib/tracer-config.js
generated
14
lib/tracer-config.js
generated
@@ -33,13 +33,23 @@ const util_1 = require("./util");
|
|||||||
async function shouldEnableIndirectTracing(codeql, config, features) {
|
async function shouldEnableIndirectTracing(codeql, config, features) {
|
||||||
return ((!config.buildMode ||
|
return ((!config.buildMode ||
|
||||||
config.buildMode === util_1.BuildMode.Manual ||
|
config.buildMode === util_1.BuildMode.Manual ||
|
||||||
!(await features.getValue(feature_flags_1.Feature.AutobuildDirectTracingEnabled, codeql))) &&
|
!(await features.getValue(feature_flags_1.Feature.AutobuildDirectTracing, codeql))) &&
|
||||||
config.languages.some((l) => (0, languages_1.isTracedLanguage)(l)));
|
config.languages.some((l) => (0, languages_1.isTracedLanguage)(l)));
|
||||||
}
|
}
|
||||||
exports.shouldEnableIndirectTracing = shouldEnableIndirectTracing;
|
exports.shouldEnableIndirectTracing = shouldEnableIndirectTracing;
|
||||||
async function endTracingForCluster(codeql, config, features) {
|
/**
|
||||||
|
* Delete variables as specified by the end-tracing script
|
||||||
|
*
|
||||||
|
* WARNING: This does not _really_ end tracing, as the tracer will restore its
|
||||||
|
* critical environment variables and it'll still be active for all processes
|
||||||
|
* launched from this build step.
|
||||||
|
*
|
||||||
|
* However, it will stop tracing for all steps past the current build step.
|
||||||
|
*/
|
||||||
|
async function endTracingForCluster(codeql, config, logger, features) {
|
||||||
if (!(await shouldEnableIndirectTracing(codeql, config, features)))
|
if (!(await shouldEnableIndirectTracing(codeql, config, features)))
|
||||||
return;
|
return;
|
||||||
|
logger.info("Unsetting build tracing environment variables. Subsequent steps of this job will not be traced.");
|
||||||
const envVariablesFile = path.resolve(config.dbLocation, "temp/tracingEnvironment/end-tracing.json");
|
const envVariablesFile = path.resolve(config.dbLocation, "temp/tracingEnvironment/end-tracing.json");
|
||||||
if (!fs.existsSync(envVariablesFile)) {
|
if (!fs.existsSync(envVariablesFile)) {
|
||||||
throw new Error(`Environment file for ending tracing not found: ${envVariablesFile}`);
|
throw new Error(`Environment file for ending tracing not found: ${envVariablesFile}`);
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"tracer-config.js","sourceRoot":"","sources":["../src/tracer-config.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"tracer-config.js","sourceRoot":"","sources":["../src/tracer-config.ts"],"names":[],"mappings":"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"}
|
||||||
78
lib/upload-lib.js
generated
78
lib/upload-lib.js
generated
@@ -26,13 +26,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|||||||
return (mod && mod.__esModule) ? mod : { "default": mod };
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.InvalidSarifUploadError = exports.validateUniqueCategory = exports.waitForProcessing = exports.buildPayload = exports.validateSarifFileSchema = exports.uploadFromActions = exports.findSarifFilesInDir = exports.populateRunAutomationDetails = void 0;
|
exports.InvalidSarifUploadError = exports.validateUniqueCategory = exports.waitForProcessing = exports.buildPayload = exports.validateSarifFileSchema = exports.uploadFromActions = exports.findSarifFilesInDir = exports.populateRunAutomationDetails = exports.shouldShowCombineSarifFilesDeprecationWarning = void 0;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const zlib_1 = __importDefault(require("zlib"));
|
const zlib_1 = __importDefault(require("zlib"));
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const file_url_1 = __importDefault(require("file-url"));
|
const file_url_1 = __importDefault(require("file-url"));
|
||||||
const jsonschema = __importStar(require("jsonschema"));
|
const jsonschema = __importStar(require("jsonschema"));
|
||||||
|
const semver = __importStar(require("semver"));
|
||||||
const actionsUtil = __importStar(require("./actions-util"));
|
const actionsUtil = __importStar(require("./actions-util"));
|
||||||
const actions_util_1 = require("./actions-util");
|
const actions_util_1 = require("./actions-util");
|
||||||
const api = __importStar(require("./api-client"));
|
const api = __importStar(require("./api-client"));
|
||||||
@@ -73,14 +74,58 @@ function combineSarifFiles(sarifFiles, logger) {
|
|||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Checks whether all the runs in the given SARIF files were produced by CodeQL.
|
* Checks whether all the runs in the given SARIF files were produced by CodeQL.
|
||||||
* @param sarifFiles The list of SARIF files to check.
|
* @param sarifObjects The list of SARIF objects to check.
|
||||||
*/
|
*/
|
||||||
function areAllRunsProducedByCodeQL(sarifFiles) {
|
function areAllRunsProducedByCodeQL(sarifObjects) {
|
||||||
return sarifFiles.every((sarifFile) => {
|
return sarifObjects.every((sarifObject) => {
|
||||||
const sarifObject = JSON.parse(fs.readFileSync(sarifFile, "utf8"));
|
|
||||||
return sarifObject.runs?.every((run) => run.tool?.driver?.name === "CodeQL");
|
return sarifObject.runs?.every((run) => run.tool?.driver?.name === "CodeQL");
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
function createRunKey(run) {
|
||||||
|
return {
|
||||||
|
name: run.tool?.driver?.name,
|
||||||
|
fullName: run.tool?.driver?.fullName,
|
||||||
|
version: run.tool?.driver?.version,
|
||||||
|
semanticVersion: run.tool?.driver?.semanticVersion,
|
||||||
|
guid: run.tool?.driver?.guid,
|
||||||
|
automationId: run.automationDetails?.id,
|
||||||
|
};
|
||||||
|
}
|
||||||
|
/**
|
||||||
|
* Checks whether all runs in the given SARIF files are unique (based on the
|
||||||
|
* criteria used by Code Scanning to determine analysis categories).
|
||||||
|
* @param sarifObjects The list of SARIF objects to check.
|
||||||
|
*/
|
||||||
|
function areAllRunsUnique(sarifObjects) {
|
||||||
|
const keys = new Set();
|
||||||
|
for (const sarifObject of sarifObjects) {
|
||||||
|
for (const run of sarifObject.runs) {
|
||||||
|
const key = JSON.stringify(createRunKey(run));
|
||||||
|
// If the key already exists, the runs are not unique.
|
||||||
|
if (keys.has(key)) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
keys.add(key);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
// Checks whether the deprecation warning for combining SARIF files should be shown.
|
||||||
|
async function shouldShowCombineSarifFilesDeprecationWarning(sarifObjects, features, githubVersion) {
|
||||||
|
if (!(await features.getValue(feature_flags_1.Feature.CombineSarifFilesDeprecationWarning))) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// Do not show this warning on GHES versions before 3.14.0
|
||||||
|
if (githubVersion.type === util_1.GitHubVariant.GHES &&
|
||||||
|
semver.lt(githubVersion.version, "3.14.0")) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
// Only give a deprecation warning when not all runs are unique and
|
||||||
|
// we haven't already shown the warning.
|
||||||
|
return (!areAllRunsUnique(sarifObjects) &&
|
||||||
|
!process.env.CODEQL_MERGE_SARIF_DEPRECATION_WARNING);
|
||||||
|
}
|
||||||
|
exports.shouldShowCombineSarifFilesDeprecationWarning = shouldShowCombineSarifFilesDeprecationWarning;
|
||||||
// Takes a list of paths to sarif files and combines them together using the
|
// Takes a list of paths to sarif files and combines them together using the
|
||||||
// CLI `github merge-results` command when all SARIF files are produced by
|
// CLI `github merge-results` command when all SARIF files are produced by
|
||||||
// CodeQL. Otherwise, it will fall back to combining the files in the action.
|
// CodeQL. Otherwise, it will fall back to combining the files in the action.
|
||||||
@@ -90,8 +135,19 @@ async function combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, lo
|
|||||||
if (sarifFiles.length === 1) {
|
if (sarifFiles.length === 1) {
|
||||||
return JSON.parse(fs.readFileSync(sarifFiles[0], "utf8"));
|
return JSON.parse(fs.readFileSync(sarifFiles[0], "utf8"));
|
||||||
}
|
}
|
||||||
if (!areAllRunsProducedByCodeQL(sarifFiles)) {
|
const sarifObjects = sarifFiles.map((sarifFile) => {
|
||||||
|
return JSON.parse(fs.readFileSync(sarifFile, "utf8"));
|
||||||
|
});
|
||||||
|
const deprecationWarningMessage = gitHubVersion.type === util_1.GitHubVariant.GHES
|
||||||
|
? "and will be removed in GitHub Enterprise Server 3.18"
|
||||||
|
: "and will be removed on June 4, 2025";
|
||||||
|
const deprecationMoreInformationMessage = "For more information, see https://github.blog/changelog/2024-05-06-code-scanning-will-stop-combining-runs-from-a-single-upload";
|
||||||
|
if (!areAllRunsProducedByCodeQL(sarifObjects)) {
|
||||||
logger.debug("Not all SARIF files were produced by CodeQL. Merging files in the action.");
|
logger.debug("Not all SARIF files were produced by CodeQL. Merging files in the action.");
|
||||||
|
if (await shouldShowCombineSarifFilesDeprecationWarning(sarifObjects, features, gitHubVersion)) {
|
||||||
|
logger.warning(`Uploading multiple SARIF runs with the same category is deprecated ${deprecationWarningMessage}. Please update your workflow to upload a single run per category. ${deprecationMoreInformationMessage}`);
|
||||||
|
core.exportVariable("CODEQL_MERGE_SARIF_DEPRECATION_WARNING", "true");
|
||||||
|
}
|
||||||
// If not, use the naive method of combining the files.
|
// If not, use the naive method of combining the files.
|
||||||
return combineSarifFiles(sarifFiles, logger);
|
return combineSarifFiles(sarifFiles, logger);
|
||||||
}
|
}
|
||||||
@@ -119,6 +175,10 @@ async function combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, lo
|
|||||||
}
|
}
|
||||||
if (!(await codeQL.supportsFeature(tools_features_1.ToolsFeature.SarifMergeRunsFromEqualCategory))) {
|
if (!(await codeQL.supportsFeature(tools_features_1.ToolsFeature.SarifMergeRunsFromEqualCategory))) {
|
||||||
logger.warning("The CodeQL CLI does not support merging SARIF files. Merging files in the action.");
|
logger.warning("The CodeQL CLI does not support merging SARIF files. Merging files in the action.");
|
||||||
|
if (await shouldShowCombineSarifFilesDeprecationWarning(sarifObjects, features, gitHubVersion)) {
|
||||||
|
logger.warning(`Uploading multiple CodeQL runs with the same category is deprecated ${deprecationWarningMessage} for CodeQL CLI 2.16.6 and earlier. Please update your CodeQL CLI version or update your workflow to set a distinct category for each CodeQL run. ${deprecationMoreInformationMessage}`);
|
||||||
|
core.exportVariable("CODEQL_MERGE_SARIF_DEPRECATION_WARNING", "true");
|
||||||
|
}
|
||||||
return combineSarifFiles(sarifFiles, logger);
|
return combineSarifFiles(sarifFiles, logger);
|
||||||
}
|
}
|
||||||
const baseTempDir = path.resolve(tempDir, "combined-sarif");
|
const baseTempDir = path.resolve(tempDir, "combined-sarif");
|
||||||
@@ -341,9 +401,7 @@ async function uploadFiles(sarifFiles, repositoryNwo, commitOid, ref, analysisKe
|
|||||||
for (const file of sarifFiles) {
|
for (const file of sarifFiles) {
|
||||||
validateSarifFileSchema(file, logger);
|
validateSarifFileSchema(file, logger);
|
||||||
}
|
}
|
||||||
let sarif = (await features.getValue(feature_flags_1.Feature.CliSarifMerge))
|
let sarif = await combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, logger);
|
||||||
? await combineSarifFilesUsingCLI(sarifFiles, gitHubVersion, features, logger)
|
|
||||||
: combineSarifFiles(sarifFiles, logger);
|
|
||||||
sarif = await fingerprints.addFingerprints(sarif, sourceRoot, logger);
|
sarif = await fingerprints.addFingerprints(sarif, sourceRoot, logger);
|
||||||
sarif = populateRunAutomationDetails(sarif, category, analysisKey, environment);
|
sarif = populateRunAutomationDetails(sarif, category, analysisKey, environment);
|
||||||
const toolNames = util.getToolNames(sarif);
|
const toolNames = util.getToolNames(sarif);
|
||||||
@@ -462,6 +520,8 @@ function shouldConsiderConfigurationError(processingErrors) {
|
|||||||
*/
|
*/
|
||||||
function shouldConsiderInvalidRequest(processingErrors) {
|
function shouldConsiderInvalidRequest(processingErrors) {
|
||||||
return processingErrors.every((error) => error.startsWith("rejecting SARIF") ||
|
return processingErrors.every((error) => error.startsWith("rejecting SARIF") ||
|
||||||
|
error.startsWith("an invalid URI was provided as a SARIF location") ||
|
||||||
|
error.startsWith("locationFromSarifResult: expected artifact location") ||
|
||||||
error.startsWith("could not convert rules: invalid security severity value, is not a number") ||
|
error.startsWith("could not convert rules: invalid security severity value, is not a number") ||
|
||||||
/^SARIF URI scheme [^\s]* did not match the checkout URI scheme [^\s]*/.test(error));
|
/^SARIF URI scheme [^\s]* did not match the checkout URI scheme [^\s]*/.test(error));
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
44
lib/upload-lib.test.js
generated
44
lib/upload-lib.test.js
generated
@@ -29,6 +29,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const ava_1 = __importDefault(require("ava"));
|
const ava_1 = __importDefault(require("ava"));
|
||||||
|
const feature_flags_1 = require("./feature-flags");
|
||||||
const logging_1 = require("./logging");
|
const logging_1 = require("./logging");
|
||||||
const testing_utils_1 = require("./testing-utils");
|
const testing_utils_1 = require("./testing-utils");
|
||||||
const uploadLib = __importStar(require("./upload-lib"));
|
const uploadLib = __importStar(require("./upload-lib"));
|
||||||
@@ -195,6 +196,49 @@ ava_1.default.beforeEach(() => {
|
|||||||
t.deepEqual(loggedMessages.length, 2);
|
t.deepEqual(loggedMessages.length, 2);
|
||||||
t.deepEqual(loggedMessages[1], "Warning: 'not a valid URI' is not a valid URI in 'instance.runs[0].results[0].locations[0].physicalLocation.artifactLocation.uri'.");
|
t.deepEqual(loggedMessages[1], "Warning: 'not a valid URI' is not a valid URI in 'instance.runs[0].results[0].locations[0].physicalLocation.artifactLocation.uri'.");
|
||||||
});
|
});
|
||||||
|
(0, ava_1.default)("shouldShowCombineSarifFilesDeprecationWarning when on dotcom with feature flag", async (t) => {
|
||||||
|
t.true(await uploadLib.shouldShowCombineSarifFilesDeprecationWarning([createMockSarif("abc", "def"), createMockSarif("abc", "def")], (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.CombineSarifFilesDeprecationWarning]), {
|
||||||
|
type: util_1.GitHubVariant.DOTCOM,
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("shouldShowCombineSarifFilesDeprecationWarning without feature flag", async (t) => {
|
||||||
|
t.false(await uploadLib.shouldShowCombineSarifFilesDeprecationWarning([createMockSarif("abc", "def"), createMockSarif("abc", "def")], (0, testing_utils_1.createFeatures)([]), {
|
||||||
|
type: util_1.GitHubVariant.DOTCOM,
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("shouldShowCombineSarifFilesDeprecationWarning when on GHES 3.13", async (t) => {
|
||||||
|
t.false(await uploadLib.shouldShowCombineSarifFilesDeprecationWarning([createMockSarif("abc", "def"), createMockSarif("abc", "def")], (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.CombineSarifFilesDeprecationWarning]), {
|
||||||
|
type: util_1.GitHubVariant.GHES,
|
||||||
|
version: "3.13.2",
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("shouldShowCombineSarifFilesDeprecationWarning when on GHES 3.14", async (t) => {
|
||||||
|
t.true(await uploadLib.shouldShowCombineSarifFilesDeprecationWarning([createMockSarif("abc", "def"), createMockSarif("abc", "def")], (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.CombineSarifFilesDeprecationWarning]), {
|
||||||
|
type: util_1.GitHubVariant.GHES,
|
||||||
|
version: "3.14.0",
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("shouldShowCombineSarifFilesDeprecationWarning with only 1 run", async (t) => {
|
||||||
|
t.false(await uploadLib.shouldShowCombineSarifFilesDeprecationWarning([createMockSarif("abc", "def")], (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.CombineSarifFilesDeprecationWarning]), {
|
||||||
|
type: util_1.GitHubVariant.DOTCOM,
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("shouldShowCombineSarifFilesDeprecationWarning with distinct categories", async (t) => {
|
||||||
|
t.false(await uploadLib.shouldShowCombineSarifFilesDeprecationWarning([createMockSarif("abc", "def"), createMockSarif("def", "def")], (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.CombineSarifFilesDeprecationWarning]), {
|
||||||
|
type: util_1.GitHubVariant.DOTCOM,
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("shouldShowCombineSarifFilesDeprecationWarning with distinct tools", async (t) => {
|
||||||
|
t.false(await uploadLib.shouldShowCombineSarifFilesDeprecationWarning([createMockSarif("abc", "abc"), createMockSarif("abc", "def")], (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.CombineSarifFilesDeprecationWarning]), {
|
||||||
|
type: util_1.GitHubVariant.DOTCOM,
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("shouldShowCombineSarifFilesDeprecationWarning when environment variable is already set", async (t) => {
|
||||||
|
process.env["CODEQL_MERGE_SARIF_DEPRECATION_WARNING"] = "true";
|
||||||
|
t.false(await uploadLib.shouldShowCombineSarifFilesDeprecationWarning([createMockSarif("abc", "def"), createMockSarif("abc", "def")], (0, testing_utils_1.createFeatures)([feature_flags_1.Feature.CombineSarifFilesDeprecationWarning]), {
|
||||||
|
type: util_1.GitHubVariant.DOTCOM,
|
||||||
|
}));
|
||||||
|
});
|
||||||
function createMockSarif(id, tool) {
|
function createMockSarif(id, tool) {
|
||||||
return {
|
return {
|
||||||
runs: [
|
runs: [
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
47
lib/workflow.js
generated
47
lib/workflow.js
generated
@@ -35,9 +35,6 @@ const yaml = __importStar(require("js-yaml"));
|
|||||||
const api = __importStar(require("./api-client"));
|
const api = __importStar(require("./api-client"));
|
||||||
const environment_1 = require("./environment");
|
const environment_1 = require("./environment");
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
function isObject(o) {
|
|
||||||
return o !== null && typeof o === "object";
|
|
||||||
}
|
|
||||||
const GLOB_PATTERN = new RegExp("(\\*\\*?)");
|
const GLOB_PATTERN = new RegExp("(\\*\\*?)");
|
||||||
function escapeRegExp(string) {
|
function escapeRegExp(string) {
|
||||||
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
|
return string.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
|
||||||
@@ -144,35 +141,31 @@ async function getWorkflowErrors(doc, codeql) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
let missingPush = false;
|
// If there is no push trigger, we will not be able to analyze the default branch.
|
||||||
if (doc.on === undefined) {
|
// So add a warning to the user to add a push trigger.
|
||||||
// this is not a valid config
|
// If there is a workflow_call trigger, we don't need a push trigger since we assume
|
||||||
}
|
// that the workflow_call trigger is called from a workflow that has a push trigger.
|
||||||
else if (typeof doc.on === "string") {
|
const hasPushTrigger = hasWorkflowTrigger("push", doc);
|
||||||
if (doc.on === "pull_request") {
|
const hasPullRequestTrigger = hasWorkflowTrigger("pull_request", doc);
|
||||||
missingPush = true;
|
const hasWorkflowCallTrigger = hasWorkflowTrigger("workflow_call", doc);
|
||||||
}
|
if (hasPullRequestTrigger && !hasPushTrigger && !hasWorkflowCallTrigger) {
|
||||||
}
|
|
||||||
else if (Array.isArray(doc.on)) {
|
|
||||||
const hasPush = doc.on.includes("push");
|
|
||||||
const hasPullRequest = doc.on.includes("pull_request");
|
|
||||||
if (hasPullRequest && !hasPush) {
|
|
||||||
missingPush = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
else if (isObject(doc.on)) {
|
|
||||||
const hasPush = Object.prototype.hasOwnProperty.call(doc.on, "push");
|
|
||||||
const hasPullRequest = Object.prototype.hasOwnProperty.call(doc.on, "pull_request");
|
|
||||||
if (!hasPush && hasPullRequest) {
|
|
||||||
missingPush = true;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
if (missingPush) {
|
|
||||||
errors.push(exports.WorkflowErrors.MissingPushHook);
|
errors.push(exports.WorkflowErrors.MissingPushHook);
|
||||||
}
|
}
|
||||||
return errors;
|
return errors;
|
||||||
}
|
}
|
||||||
exports.getWorkflowErrors = getWorkflowErrors;
|
exports.getWorkflowErrors = getWorkflowErrors;
|
||||||
|
function hasWorkflowTrigger(triggerName, doc) {
|
||||||
|
if (!doc.on) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
if (typeof doc.on === "string") {
|
||||||
|
return doc.on === triggerName;
|
||||||
|
}
|
||||||
|
if (Array.isArray(doc.on)) {
|
||||||
|
return doc.on.includes(triggerName);
|
||||||
|
}
|
||||||
|
return Object.prototype.hasOwnProperty.call(doc.on, triggerName);
|
||||||
|
}
|
||||||
async function validateWorkflow(codeql, logger) {
|
async function validateWorkflow(codeql, logger) {
|
||||||
let workflow;
|
let workflow;
|
||||||
try {
|
try {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
23
lib/workflow.test.js
generated
23
lib/workflow.test.js
generated
@@ -373,6 +373,29 @@ async function testLanguageAliases(t, matrixLanguages, aliases, expectedErrorMes
|
|||||||
on: ["push"]
|
on: ["push"]
|
||||||
`), await (0, codeql_1.getCodeQLForTesting)()), []));
|
`), await (0, codeql_1.getCodeQLForTesting)()), []));
|
||||||
});
|
});
|
||||||
|
(0, ava_1.default)("getWorkflowErrors() should not report a warning if there is a workflow_call trigger", async (t) => {
|
||||||
|
const errors = await (0, workflow_1.getWorkflowErrors)(yaml.load(`
|
||||||
|
name: "CodeQL"
|
||||||
|
on:
|
||||||
|
workflow_call:
|
||||||
|
`), await (0, codeql_1.getCodeQLForTesting)());
|
||||||
|
t.deepEqual(...errorCodes(errors, []));
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getWorkflowErrors() should not report a warning if there is a workflow_call trigger as a string", async (t) => {
|
||||||
|
const errors = await (0, workflow_1.getWorkflowErrors)(yaml.load(`
|
||||||
|
name: "CodeQL"
|
||||||
|
on: workflow_call
|
||||||
|
`), await (0, codeql_1.getCodeQLForTesting)());
|
||||||
|
t.deepEqual(...errorCodes(errors, []));
|
||||||
|
});
|
||||||
|
(0, ava_1.default)("getWorkflowErrors() should not report a warning if there is a workflow_call trigger as an array", async (t) => {
|
||||||
|
const errors = await (0, workflow_1.getWorkflowErrors)(yaml.load(`
|
||||||
|
name: "CodeQL"
|
||||||
|
on:
|
||||||
|
- workflow_call
|
||||||
|
`), await (0, codeql_1.getCodeQLForTesting)());
|
||||||
|
t.deepEqual(...errorCodes(errors, []));
|
||||||
|
});
|
||||||
(0, ava_1.default)("getCategoryInputOrThrow returns category for simple workflow with category", (t) => {
|
(0, ava_1.default)("getCategoryInputOrThrow returns category for simple workflow with category", (t) => {
|
||||||
process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository";
|
process.env["GITHUB_REPOSITORY"] = "github/codeql-action-fake-repository";
|
||||||
t.is((0, workflow_1.getCategoryInputOrThrow)(yaml.load(`
|
t.is((0, workflow_1.getCategoryInputOrThrow)(yaml.load(`
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
16
node_modules/.package-lock.json
generated
vendored
16
node_modules/.package-lock.json
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "codeql",
|
"name": "codeql",
|
||||||
"version": "3.25.4",
|
"version": "2.25.5",
|
||||||
"lockfileVersion": 3,
|
"lockfileVersion": 3,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
@@ -896,12 +896,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "20.9.0",
|
"version": "16.11.22",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.9.0.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.22.tgz",
|
||||||
"integrity": "sha512-nekiGu2NDb1BcVofVcEKMIwzlx4NjHlcjhoxxKBNLtz15Y1z7MYf549DFvkHSId02Ax6kGwWntIBPC3l/JZcmw==",
|
"integrity": "sha512-DYNtJWauMQ9RNpesl4aVothr97/tIJM8HbyOXJ0AYT1Z2bEjLHyfjOBPAQQVMLf8h3kSShYfNk8Wnto8B2zHUA=="
|
||||||
"dependencies": {
|
|
||||||
"undici-types": "~5.26.4"
|
|
||||||
}
|
|
||||||
},
|
},
|
||||||
"node_modules/@types/node-fetch": {
|
"node_modules/@types/node-fetch": {
|
||||||
"version": "2.6.4",
|
"version": "2.6.4",
|
||||||
@@ -6089,11 +6086,6 @@
|
|||||||
"url": "https://github.com/sponsors/ljharb"
|
"url": "https://github.com/sponsors/ljharb"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/undici-types": {
|
|
||||||
"version": "5.26.5",
|
|
||||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
|
|
||||||
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
|
|
||||||
},
|
|
||||||
"node_modules/universal-user-agent": {
|
"node_modules/universal-user-agent": {
|
||||||
"version": "6.0.0",
|
"version": "6.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/universal-user-agent/-/universal-user-agent-6.0.0.tgz",
|
||||||
|
|||||||
0
node_modules/@types/node/LICENSE
generated
vendored
Normal file → Executable file
0
node_modules/@types/node/LICENSE
generated
vendored
Normal file → Executable file
11
node_modules/@types/node/README.md
generated
vendored
Normal file → Executable file
11
node_modules/@types/node/README.md
generated
vendored
Normal file → Executable file
@@ -2,14 +2,15 @@
|
|||||||
> `npm install --save @types/node`
|
> `npm install --save @types/node`
|
||||||
|
|
||||||
# Summary
|
# Summary
|
||||||
This package contains type definitions for node (https://nodejs.org/).
|
This package contains type definitions for Node.js (https://nodejs.org/).
|
||||||
|
|
||||||
# Details
|
# Details
|
||||||
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node.
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node/v16.
|
||||||
|
|
||||||
### Additional Details
|
### Additional Details
|
||||||
* Last updated: Tue, 07 Nov 2023 20:08:00 GMT
|
* Last updated: Tue, 01 Feb 2022 08:31:30 GMT
|
||||||
* Dependencies: [undici-types](https://npmjs.com/package/undici-types)
|
* Dependencies: none
|
||||||
|
* Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`
|
||||||
|
|
||||||
# Credits
|
# Credits
|
||||||
These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), [wafuwafu13](https://github.com/wafuwafu13), [Matteo Collina](https://github.com/mcollina), and [Dmitry Semigradsky](https://github.com/Semigradsky).
|
These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Chigozirim C.](https://github.com/smac89), [David Junger](https://github.com/touffy), [Deividas Bakanas](https://github.com/DeividasBakanas), [Eugene Y. Q. Shen](https://github.com/eyqs), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Huw](https://github.com/hoo29), [Kelvin Jin](https://github.com/kjin), [Klaus Meinhardt](https://github.com/ajafff), [Lishude](https://github.com/islishude), [Mariusz Wiktorczyk](https://github.com/mwiktorczyk), [Mohsen Azimi](https://github.com/mohsen1), [Nicolas Even](https://github.com/n-e), [Nikita Galkin](https://github.com/galkin), [Parambir Singh](https://github.com/parambirs), [Sebastian Silbermann](https://github.com/eps1lon), [Seth Westphal](https://github.com/westy92), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), [Piotr Błażejewicz](https://github.com/peterblazejewicz), [Anna Henningsen](https://github.com/addaleax), [Victor Perin](https://github.com/victorperin), [Yongsheng Zhang](https://github.com/ZYSzys), [NodeJS Contributors](https://github.com/NodeJS), [Linus Unnebäck](https://github.com/LinusU), and [wafuwafu13](https://github.com/wafuwafu13).
|
||||||
|
|||||||
282
node_modules/@types/node/assert.d.ts
generated
vendored
Normal file → Executable file
282
node_modules/@types/node/assert.d.ts
generated
vendored
Normal file → Executable file
@@ -1,9 +1,9 @@
|
|||||||
/**
|
/**
|
||||||
* The `node:assert` module provides a set of assertion functions for verifying
|
* The `assert` module provides a set of assertion functions for verifying
|
||||||
* invariants.
|
* invariants.
|
||||||
* @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/assert.js)
|
* @see [source](https://github.com/nodejs/node/blob/v16.9.0/lib/assert.js)
|
||||||
*/
|
*/
|
||||||
declare module "assert" {
|
declare module 'assert' {
|
||||||
/**
|
/**
|
||||||
* An alias of {@link ok}.
|
* An alias of {@link ok}.
|
||||||
* @since v0.5.9
|
* @since v0.5.9
|
||||||
@@ -12,29 +12,15 @@ declare module "assert" {
|
|||||||
function assert(value: unknown, message?: string | Error): asserts value;
|
function assert(value: unknown, message?: string | Error): asserts value;
|
||||||
namespace assert {
|
namespace assert {
|
||||||
/**
|
/**
|
||||||
* Indicates the failure of an assertion. All errors thrown by the `node:assert`module will be instances of the `AssertionError` class.
|
* Indicates the failure of an assertion. All errors thrown by the `assert` module
|
||||||
|
* will be instances of the `AssertionError` class.
|
||||||
*/
|
*/
|
||||||
class AssertionError extends Error {
|
class AssertionError extends Error {
|
||||||
/**
|
|
||||||
* Set to the `actual` argument for methods such as {@link assert.strictEqual()}.
|
|
||||||
*/
|
|
||||||
actual: unknown;
|
actual: unknown;
|
||||||
/**
|
|
||||||
* Set to the `expected` argument for methods such as {@link assert.strictEqual()}.
|
|
||||||
*/
|
|
||||||
expected: unknown;
|
expected: unknown;
|
||||||
/**
|
|
||||||
* Set to the passed in operator value.
|
|
||||||
*/
|
|
||||||
operator: string;
|
operator: string;
|
||||||
/**
|
|
||||||
* Indicates if the message was auto-generated (`true`) or not.
|
|
||||||
*/
|
|
||||||
generatedMessage: boolean;
|
generatedMessage: boolean;
|
||||||
/**
|
code: 'ERR_ASSERTION';
|
||||||
* Value is always `ERR_ASSERTION` to show that the error is an assertion error.
|
|
||||||
*/
|
|
||||||
code: "ERR_ASSERTION";
|
|
||||||
constructor(options?: {
|
constructor(options?: {
|
||||||
/** If provided, the error message is set to this value. */
|
/** If provided, the error message is set to this value. */
|
||||||
message?: string | undefined;
|
message?: string | undefined;
|
||||||
@@ -50,10 +36,9 @@ declare module "assert" {
|
|||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* This feature is deprecated and will be removed in a future version.
|
* This feature is currently experimental and behavior might still change.
|
||||||
* Please consider using alternatives such as the `mock` helper function.
|
|
||||||
* @since v14.2.0, v12.19.0
|
* @since v14.2.0, v12.19.0
|
||||||
* @deprecated Deprecated
|
* @experimental
|
||||||
*/
|
*/
|
||||||
class CallTracker {
|
class CallTracker {
|
||||||
/**
|
/**
|
||||||
@@ -62,7 +47,7 @@ declare module "assert" {
|
|||||||
* error.
|
* error.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert';
|
* import assert from 'assert';
|
||||||
*
|
*
|
||||||
* // Creates call tracker.
|
* // Creates call tracker.
|
||||||
* const tracker = new assert.CallTracker();
|
* const tracker = new assert.CallTracker();
|
||||||
@@ -80,44 +65,26 @@ declare module "assert" {
|
|||||||
*/
|
*/
|
||||||
calls(exact?: number): () => void;
|
calls(exact?: number): () => void;
|
||||||
calls<Func extends (...args: any[]) => any>(fn?: Func, exact?: number): Func;
|
calls<Func extends (...args: any[]) => any>(fn?: Func, exact?: number): Func;
|
||||||
/**
|
|
||||||
* Example:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'node:assert';
|
|
||||||
*
|
|
||||||
* const tracker = new assert.CallTracker();
|
|
||||||
*
|
|
||||||
* function func() {}
|
|
||||||
* const callsfunc = tracker.calls(func);
|
|
||||||
* callsfunc(1, 2, 3);
|
|
||||||
*
|
|
||||||
* assert.deepStrictEqual(tracker.getCalls(callsfunc),
|
|
||||||
* [{ thisArg: undefined, arguments: [1, 2, 3] }]);
|
|
||||||
* ```
|
|
||||||
* @since v18.8.0, v16.18.0
|
|
||||||
* @param fn
|
|
||||||
* @return An Array with all the calls to a tracked function.
|
|
||||||
*/
|
|
||||||
getCalls(fn: Function): CallTrackerCall[];
|
|
||||||
/**
|
/**
|
||||||
* The arrays contains information about the expected and actual number of calls of
|
* The arrays contains information about the expected and actual number of calls of
|
||||||
* the functions that have not been called the expected number of times.
|
* the functions that have not been called the expected number of times.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert';
|
* import assert from 'assert';
|
||||||
*
|
*
|
||||||
* // Creates call tracker.
|
* // Creates call tracker.
|
||||||
* const tracker = new assert.CallTracker();
|
* const tracker = new assert.CallTracker();
|
||||||
*
|
*
|
||||||
* function func() {}
|
* function func() {}
|
||||||
*
|
*
|
||||||
|
* function foo() {}
|
||||||
|
*
|
||||||
* // Returns a function that wraps func() that must be called exact times
|
* // Returns a function that wraps func() that must be called exact times
|
||||||
* // before tracker.verify().
|
* // before tracker.verify().
|
||||||
* const callsfunc = tracker.calls(func, 2);
|
* const callsfunc = tracker.calls(func, 2);
|
||||||
*
|
*
|
||||||
* // Returns an array containing information on callsfunc()
|
* // Returns an array containing information on callsfunc()
|
||||||
* console.log(tracker.report());
|
* tracker.report();
|
||||||
* // [
|
* // [
|
||||||
* // {
|
* // {
|
||||||
* // message: 'Expected the func function to be executed 2 time(s) but was
|
* // message: 'Expected the func function to be executed 2 time(s) but was
|
||||||
@@ -130,39 +97,15 @@ declare module "assert" {
|
|||||||
* // ]
|
* // ]
|
||||||
* ```
|
* ```
|
||||||
* @since v14.2.0, v12.19.0
|
* @since v14.2.0, v12.19.0
|
||||||
* @return An Array of objects containing information about the wrapper functions returned by `calls`.
|
* @return of objects containing information about the wrapper functions returned by `calls`.
|
||||||
*/
|
*/
|
||||||
report(): CallTrackerReportInformation[];
|
report(): CallTrackerReportInformation[];
|
||||||
/**
|
|
||||||
* Reset calls of the call tracker.
|
|
||||||
* If a tracked function is passed as an argument, the calls will be reset for it.
|
|
||||||
* If no arguments are passed, all tracked functions will be reset.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'node:assert';
|
|
||||||
*
|
|
||||||
* const tracker = new assert.CallTracker();
|
|
||||||
*
|
|
||||||
* function func() {}
|
|
||||||
* const callsfunc = tracker.calls(func);
|
|
||||||
*
|
|
||||||
* callsfunc();
|
|
||||||
* // Tracker was called once
|
|
||||||
* assert.strictEqual(tracker.getCalls(callsfunc).length, 1);
|
|
||||||
*
|
|
||||||
* tracker.reset(callsfunc);
|
|
||||||
* assert.strictEqual(tracker.getCalls(callsfunc).length, 0);
|
|
||||||
* ```
|
|
||||||
* @since v18.8.0, v16.18.0
|
|
||||||
* @param fn a tracked function to reset.
|
|
||||||
*/
|
|
||||||
reset(fn?: Function): void;
|
|
||||||
/**
|
/**
|
||||||
* Iterates through the list of functions passed to `tracker.calls()` and will throw an error for functions that
|
* Iterates through the list of functions passed to `tracker.calls()` and will throw an error for functions that
|
||||||
* have not been called the expected number of times.
|
* have not been called the expected number of times.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert';
|
* import assert from 'assert';
|
||||||
*
|
*
|
||||||
* // Creates call tracker.
|
* // Creates call tracker.
|
||||||
* const tracker = new assert.CallTracker();
|
* const tracker = new assert.CallTracker();
|
||||||
@@ -182,10 +125,6 @@ declare module "assert" {
|
|||||||
*/
|
*/
|
||||||
verify(): void;
|
verify(): void;
|
||||||
}
|
}
|
||||||
interface CallTrackerCall {
|
|
||||||
thisArg: object;
|
|
||||||
arguments: unknown[];
|
|
||||||
}
|
|
||||||
interface CallTrackerReportInformation {
|
interface CallTrackerReportInformation {
|
||||||
message: string;
|
message: string;
|
||||||
/** The actual number of times the function was called. */
|
/** The actual number of times the function was called. */
|
||||||
@@ -197,14 +136,14 @@ declare module "assert" {
|
|||||||
/** A stack trace of the function. */
|
/** A stack trace of the function. */
|
||||||
stack: object;
|
stack: object;
|
||||||
}
|
}
|
||||||
type AssertPredicate = RegExp | (new() => object) | ((thrown: unknown) => boolean) | object | Error;
|
type AssertPredicate = RegExp | (new () => object) | ((thrown: unknown) => boolean) | object | Error;
|
||||||
/**
|
/**
|
||||||
* Throws an `AssertionError` with the provided error message or a default
|
* Throws an `AssertionError` with the provided error message or a default
|
||||||
* error message. If the `message` parameter is an instance of an `Error` then
|
* error message. If the `message` parameter is an instance of an `Error` then
|
||||||
* it will be thrown instead of the `AssertionError`.
|
* it will be thrown instead of the `AssertionError`.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.fail();
|
* assert.fail();
|
||||||
* // AssertionError [ERR_ASSERTION]: Failed
|
* // AssertionError [ERR_ASSERTION]: Failed
|
||||||
@@ -229,7 +168,7 @@ declare module "assert" {
|
|||||||
message?: string | Error,
|
message?: string | Error,
|
||||||
operator?: string,
|
operator?: string,
|
||||||
// tslint:disable-next-line:ban-types
|
// tslint:disable-next-line:ban-types
|
||||||
stackStartFn?: Function,
|
stackStartFn?: Function
|
||||||
): never;
|
): never;
|
||||||
/**
|
/**
|
||||||
* Tests if `value` is truthy. It is equivalent to`assert.equal(!!value, true, message)`.
|
* Tests if `value` is truthy. It is equivalent to`assert.equal(!!value, true, message)`.
|
||||||
@@ -242,7 +181,7 @@ declare module "assert" {
|
|||||||
* thrown in a file! See below for further details.
|
* thrown in a file! See below for further details.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.ok(true);
|
* assert.ok(true);
|
||||||
* // OK
|
* // OK
|
||||||
@@ -277,7 +216,7 @@ declare module "assert" {
|
|||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* // Using `assert()` works the same:
|
* // Using `assert()` works the same:
|
||||||
* assert(0);
|
* assert(0);
|
||||||
@@ -298,11 +237,11 @@ declare module "assert" {
|
|||||||
* > Stability: 3 - Legacy: Use {@link strictEqual} instead.
|
* > Stability: 3 - Legacy: Use {@link strictEqual} instead.
|
||||||
*
|
*
|
||||||
* Tests shallow, coercive equality between the `actual` and `expected` parameters
|
* Tests shallow, coercive equality between the `actual` and `expected` parameters
|
||||||
* using the [`==` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Equality). `NaN` is specially handled
|
* using the [Abstract Equality Comparison](https://tc39.github.io/ecma262/#sec-abstract-equality-comparison) ( `==` ). `NaN` is special handled
|
||||||
* and treated as being identical if both sides are `NaN`.
|
* and treated as being identical in case both sides are `NaN`.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert';
|
* import assert from 'assert';
|
||||||
*
|
*
|
||||||
* assert.equal(1, 1);
|
* assert.equal(1, 1);
|
||||||
* // OK, 1 == 1
|
* // OK, 1 == 1
|
||||||
@@ -331,11 +270,12 @@ declare module "assert" {
|
|||||||
*
|
*
|
||||||
* > Stability: 3 - Legacy: Use {@link notStrictEqual} instead.
|
* > Stability: 3 - Legacy: Use {@link notStrictEqual} instead.
|
||||||
*
|
*
|
||||||
* Tests shallow, coercive inequality with the [`!=` operator](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Inequality). `NaN` is
|
* Tests shallow, coercive inequality with the [Abstract Equality Comparison](https://tc39.github.io/ecma262/#sec-abstract-equality-comparison)(`!=` ). `NaN` is special handled and treated as
|
||||||
* specially handled and treated as being identical if both sides are `NaN`.
|
* being identical in case both
|
||||||
|
* sides are `NaN`.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert';
|
* import assert from 'assert';
|
||||||
*
|
*
|
||||||
* assert.notEqual(1, 2);
|
* assert.notEqual(1, 2);
|
||||||
* // OK
|
* // OK
|
||||||
@@ -382,24 +322,24 @@ declare module "assert" {
|
|||||||
* Tests for any deep inequality. Opposite of {@link deepEqual}.
|
* Tests for any deep inequality. Opposite of {@link deepEqual}.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert';
|
* import assert from 'assert';
|
||||||
*
|
*
|
||||||
* const obj1 = {
|
* const obj1 = {
|
||||||
* a: {
|
* a: {
|
||||||
* b: 1,
|
* b: 1
|
||||||
* },
|
* }
|
||||||
* };
|
* };
|
||||||
* const obj2 = {
|
* const obj2 = {
|
||||||
* a: {
|
* a: {
|
||||||
* b: 2,
|
* b: 2
|
||||||
* },
|
* }
|
||||||
* };
|
* };
|
||||||
* const obj3 = {
|
* const obj3 = {
|
||||||
* a: {
|
* a: {
|
||||||
* b: 1,
|
* b: 1
|
||||||
* },
|
* }
|
||||||
* };
|
* };
|
||||||
* const obj4 = { __proto__: obj1 };
|
* const obj4 = Object.create(obj1);
|
||||||
*
|
*
|
||||||
* assert.notDeepEqual(obj1, obj1);
|
* assert.notDeepEqual(obj1, obj1);
|
||||||
* // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }
|
* // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }
|
||||||
@@ -422,10 +362,10 @@ declare module "assert" {
|
|||||||
function notDeepEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
function notDeepEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
||||||
/**
|
/**
|
||||||
* Tests strict equality between the `actual` and `expected` parameters as
|
* Tests strict equality between the `actual` and `expected` parameters as
|
||||||
* determined by [`Object.is()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).
|
* determined by the [SameValue Comparison](https://tc39.github.io/ecma262/#sec-samevalue).
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.strictEqual(1, 2);
|
* assert.strictEqual(1, 2);
|
||||||
* // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal:
|
* // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal:
|
||||||
@@ -460,10 +400,10 @@ declare module "assert" {
|
|||||||
function strictEqual<T>(actual: unknown, expected: T, message?: string | Error): asserts actual is T;
|
function strictEqual<T>(actual: unknown, expected: T, message?: string | Error): asserts actual is T;
|
||||||
/**
|
/**
|
||||||
* Tests strict inequality between the `actual` and `expected` parameters as
|
* Tests strict inequality between the `actual` and `expected` parameters as
|
||||||
* determined by [`Object.is()`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is).
|
* determined by the [SameValue Comparison](https://tc39.github.io/ecma262/#sec-samevalue).
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.notStrictEqual(1, 2);
|
* assert.notStrictEqual(1, 2);
|
||||||
* // OK
|
* // OK
|
||||||
@@ -494,7 +434,7 @@ declare module "assert" {
|
|||||||
* Tests for deep strict inequality. Opposite of {@link deepStrictEqual}.
|
* Tests for deep strict inequality. Opposite of {@link deepStrictEqual}.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.notDeepStrictEqual({ a: 1 }, { a: '1' });
|
* assert.notDeepStrictEqual({ a: 1 }, { a: '1' });
|
||||||
* // OK
|
* // OK
|
||||||
@@ -525,14 +465,14 @@ declare module "assert" {
|
|||||||
* Custom validation object/error instance:
|
* Custom validation object/error instance:
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* const err = new TypeError('Wrong value');
|
* const err = new TypeError('Wrong value');
|
||||||
* err.code = 404;
|
* err.code = 404;
|
||||||
* err.foo = 'bar';
|
* err.foo = 'bar';
|
||||||
* err.info = {
|
* err.info = {
|
||||||
* nested: true,
|
* nested: true,
|
||||||
* baz: 'text',
|
* baz: 'text'
|
||||||
* };
|
* };
|
||||||
* err.reg = /abc/i;
|
* err.reg = /abc/i;
|
||||||
*
|
*
|
||||||
@@ -545,16 +485,16 @@ declare module "assert" {
|
|||||||
* message: 'Wrong value',
|
* message: 'Wrong value',
|
||||||
* info: {
|
* info: {
|
||||||
* nested: true,
|
* nested: true,
|
||||||
* baz: 'text',
|
* baz: 'text'
|
||||||
* },
|
* }
|
||||||
* // Only properties on the validation object will be tested for.
|
* // Only properties on the validation object will be tested for.
|
||||||
* // Using nested objects requires all properties to be present. Otherwise
|
* // Using nested objects requires all properties to be present. Otherwise
|
||||||
* // the validation is going to fail.
|
* // the validation is going to fail.
|
||||||
* },
|
* }
|
||||||
* );
|
* );
|
||||||
*
|
*
|
||||||
* // Using regular expressions to validate error properties:
|
* // Using regular expressions to validate error properties:
|
||||||
* assert.throws(
|
* throws(
|
||||||
* () => {
|
* () => {
|
||||||
* throw err;
|
* throw err;
|
||||||
* },
|
* },
|
||||||
@@ -568,17 +508,17 @@ declare module "assert" {
|
|||||||
* info: {
|
* info: {
|
||||||
* nested: true,
|
* nested: true,
|
||||||
* // It is not possible to use regular expressions for nested properties!
|
* // It is not possible to use regular expressions for nested properties!
|
||||||
* baz: 'text',
|
* baz: 'text'
|
||||||
* },
|
* },
|
||||||
* // The `reg` property contains a regular expression and only if the
|
* // The `reg` property contains a regular expression and only if the
|
||||||
* // validation object contains an identical regular expression, it is going
|
* // validation object contains an identical regular expression, it is going
|
||||||
* // to pass.
|
* // to pass.
|
||||||
* reg: /abc/i,
|
* reg: /abc/i
|
||||||
* },
|
* }
|
||||||
* );
|
* );
|
||||||
*
|
*
|
||||||
* // Fails due to the different `message` and `name` properties:
|
* // Fails due to the different `message` and `name` properties:
|
||||||
* assert.throws(
|
* throws(
|
||||||
* () => {
|
* () => {
|
||||||
* const otherErr = new Error('Not found');
|
* const otherErr = new Error('Not found');
|
||||||
* // Copy all enumerable properties from `err` to `otherErr`.
|
* // Copy all enumerable properties from `err` to `otherErr`.
|
||||||
@@ -589,20 +529,20 @@ declare module "assert" {
|
|||||||
* },
|
* },
|
||||||
* // The error's `message` and `name` properties will also be checked when using
|
* // The error's `message` and `name` properties will also be checked when using
|
||||||
* // an error as validation object.
|
* // an error as validation object.
|
||||||
* err,
|
* err
|
||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* Validate instanceof using constructor:
|
* Validate instanceof using constructor:
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.throws(
|
* assert.throws(
|
||||||
* () => {
|
* () => {
|
||||||
* throw new Error('Wrong value');
|
* throw new Error('Wrong value');
|
||||||
* },
|
* },
|
||||||
* Error,
|
* Error
|
||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
@@ -612,13 +552,13 @@ declare module "assert" {
|
|||||||
* therefore also include the error name.
|
* therefore also include the error name.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.throws(
|
* assert.throws(
|
||||||
* () => {
|
* () => {
|
||||||
* throw new Error('Wrong value');
|
* throw new Error('Wrong value');
|
||||||
* },
|
* },
|
||||||
* /^Error: Wrong value$/,
|
* /^Error: Wrong value$/
|
||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
@@ -628,7 +568,7 @@ declare module "assert" {
|
|||||||
* It will otherwise fail with an `AssertionError`.
|
* It will otherwise fail with an `AssertionError`.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.throws(
|
* assert.throws(
|
||||||
* () => {
|
* () => {
|
||||||
@@ -644,7 +584,7 @@ declare module "assert" {
|
|||||||
* // possible.
|
* // possible.
|
||||||
* return true;
|
* return true;
|
||||||
* },
|
* },
|
||||||
* 'unexpected error',
|
* 'unexpected error'
|
||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
@@ -654,7 +594,7 @@ declare module "assert" {
|
|||||||
* a string as the second argument gets considered:
|
* a string as the second argument gets considered:
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* function throwingFirst() {
|
* function throwingFirst() {
|
||||||
* throw new Error('First');
|
* throw new Error('First');
|
||||||
@@ -710,20 +650,20 @@ declare module "assert" {
|
|||||||
* propagated back to the caller.
|
* propagated back to the caller.
|
||||||
*
|
*
|
||||||
* If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
|
* If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
|
||||||
* [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), or a validation
|
* [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) or a validation
|
||||||
* function. See {@link throws} for more details.
|
* function. See {@link throws} for more details.
|
||||||
*
|
*
|
||||||
* The following, for instance, will throw the `TypeError` because there is no
|
* The following, for instance, will throw the `TypeError` because there is no
|
||||||
* matching error type in the assertion:
|
* matching error type in the assertion:
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.doesNotThrow(
|
* assert.doesNotThrow(
|
||||||
* () => {
|
* () => {
|
||||||
* throw new TypeError('Wrong value');
|
* throw new TypeError('Wrong value');
|
||||||
* },
|
* },
|
||||||
* SyntaxError,
|
* SyntaxError
|
||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
@@ -731,27 +671,27 @@ declare module "assert" {
|
|||||||
* 'Got unwanted exception...':
|
* 'Got unwanted exception...':
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.doesNotThrow(
|
* assert.doesNotThrow(
|
||||||
* () => {
|
* () => {
|
||||||
* throw new TypeError('Wrong value');
|
* throw new TypeError('Wrong value');
|
||||||
* },
|
* },
|
||||||
* TypeError,
|
* TypeError
|
||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* If an `AssertionError` is thrown and a value is provided for the `message`parameter, the value of `message` will be appended to the `AssertionError` message:
|
* If an `AssertionError` is thrown and a value is provided for the `message`parameter, the value of `message` will be appended to the `AssertionError` message:
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.doesNotThrow(
|
* assert.doesNotThrow(
|
||||||
* () => {
|
* () => {
|
||||||
* throw new TypeError('Wrong value');
|
* throw new TypeError('Wrong value');
|
||||||
* },
|
* },
|
||||||
* /Wrong value/,
|
* /Wrong value/,
|
||||||
* 'Whoops',
|
* 'Whoops'
|
||||||
* );
|
* );
|
||||||
* // Throws: AssertionError: Got unwanted exception: Whoops
|
* // Throws: AssertionError: Got unwanted exception: Whoops
|
||||||
* ```
|
* ```
|
||||||
@@ -765,7 +705,7 @@ declare module "assert" {
|
|||||||
* from the error passed to `ifError()` including the potential new frames for`ifError()` itself.
|
* from the error passed to `ifError()` including the potential new frames for`ifError()` itself.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.ifError(null);
|
* assert.ifError(null);
|
||||||
* // OK
|
* // OK
|
||||||
@@ -811,7 +751,7 @@ declare module "assert" {
|
|||||||
* If specified, `message` will be the message provided by the `AssertionError` if the `asyncFn` fails to reject.
|
* If specified, `message` will be the message provided by the `AssertionError` if the `asyncFn` fails to reject.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* await assert.rejects(
|
* await assert.rejects(
|
||||||
* async () => {
|
* async () => {
|
||||||
@@ -819,13 +759,13 @@ declare module "assert" {
|
|||||||
* },
|
* },
|
||||||
* {
|
* {
|
||||||
* name: 'TypeError',
|
* name: 'TypeError',
|
||||||
* message: 'Wrong value',
|
* message: 'Wrong value'
|
||||||
* },
|
* }
|
||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* await assert.rejects(
|
* await assert.rejects(
|
||||||
* async () => {
|
* async () => {
|
||||||
@@ -835,16 +775,16 @@ declare module "assert" {
|
|||||||
* assert.strictEqual(err.name, 'TypeError');
|
* assert.strictEqual(err.name, 'TypeError');
|
||||||
* assert.strictEqual(err.message, 'Wrong value');
|
* assert.strictEqual(err.message, 'Wrong value');
|
||||||
* return true;
|
* return true;
|
||||||
* },
|
* }
|
||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.rejects(
|
* assert.rejects(
|
||||||
* Promise.reject(new Error('Wrong value')),
|
* Promise.reject(new Error('Wrong value')),
|
||||||
* Error,
|
* Error
|
||||||
* ).then(() => {
|
* ).then(() => {
|
||||||
* // ...
|
* // ...
|
||||||
* });
|
* });
|
||||||
@@ -857,11 +797,7 @@ declare module "assert" {
|
|||||||
* @since v10.0.0
|
* @since v10.0.0
|
||||||
*/
|
*/
|
||||||
function rejects(block: (() => Promise<unknown>) | Promise<unknown>, message?: string | Error): Promise<void>;
|
function rejects(block: (() => Promise<unknown>) | Promise<unknown>, message?: string | Error): Promise<void>;
|
||||||
function rejects(
|
function rejects(block: (() => Promise<unknown>) | Promise<unknown>, error: AssertPredicate, message?: string | Error): Promise<void>;
|
||||||
block: (() => Promise<unknown>) | Promise<unknown>,
|
|
||||||
error: AssertPredicate,
|
|
||||||
message?: string | Error,
|
|
||||||
): Promise<void>;
|
|
||||||
/**
|
/**
|
||||||
* Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately
|
* Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately
|
||||||
* calls the function and awaits the returned promise to complete. It will then
|
* calls the function and awaits the returned promise to complete. It will then
|
||||||
@@ -878,24 +814,24 @@ declare module "assert" {
|
|||||||
* error messages as expressive as possible.
|
* error messages as expressive as possible.
|
||||||
*
|
*
|
||||||
* If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
|
* If specified, `error` can be a [`Class`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes),
|
||||||
* [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions), or a validation
|
* [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions) or a validation
|
||||||
* function. See {@link throws} for more details.
|
* function. See {@link throws} for more details.
|
||||||
*
|
*
|
||||||
* Besides the async nature to await the completion behaves identically to {@link doesNotThrow}.
|
* Besides the async nature to await the completion behaves identically to {@link doesNotThrow}.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* await assert.doesNotReject(
|
* await assert.doesNotReject(
|
||||||
* async () => {
|
* async () => {
|
||||||
* throw new TypeError('Wrong value');
|
* throw new TypeError('Wrong value');
|
||||||
* },
|
* },
|
||||||
* SyntaxError,
|
* SyntaxError
|
||||||
* );
|
* );
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.doesNotReject(Promise.reject(new TypeError('Wrong value')))
|
* assert.doesNotReject(Promise.reject(new TypeError('Wrong value')))
|
||||||
* .then(() => {
|
* .then(() => {
|
||||||
@@ -904,20 +840,13 @@ declare module "assert" {
|
|||||||
* ```
|
* ```
|
||||||
* @since v10.0.0
|
* @since v10.0.0
|
||||||
*/
|
*/
|
||||||
function doesNotReject(
|
function doesNotReject(block: (() => Promise<unknown>) | Promise<unknown>, message?: string | Error): Promise<void>;
|
||||||
block: (() => Promise<unknown>) | Promise<unknown>,
|
function doesNotReject(block: (() => Promise<unknown>) | Promise<unknown>, error: AssertPredicate, message?: string | Error): Promise<void>;
|
||||||
message?: string | Error,
|
|
||||||
): Promise<void>;
|
|
||||||
function doesNotReject(
|
|
||||||
block: (() => Promise<unknown>) | Promise<unknown>,
|
|
||||||
error: AssertPredicate,
|
|
||||||
message?: string | Error,
|
|
||||||
): Promise<void>;
|
|
||||||
/**
|
/**
|
||||||
* Expects the `string` input to match the regular expression.
|
* Expects the `string` input to match the regular expression.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.match('I will fail', /pass/);
|
* assert.match('I will fail', /pass/);
|
||||||
* // AssertionError [ERR_ASSERTION]: The input did not match the regular ...
|
* // AssertionError [ERR_ASSERTION]: The input did not match the regular ...
|
||||||
@@ -940,7 +869,7 @@ declare module "assert" {
|
|||||||
* Expects the `string` input not to match the regular expression.
|
* Expects the `string` input not to match the regular expression.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import assert from 'node:assert/strict';
|
* import assert from 'assert/strict';
|
||||||
*
|
*
|
||||||
* assert.doesNotMatch('I will fail', /fail/);
|
* assert.doesNotMatch('I will fail', /fail/);
|
||||||
* // AssertionError [ERR_ASSERTION]: The input was expected to not match the ...
|
* // AssertionError [ERR_ASSERTION]: The input was expected to not match the ...
|
||||||
@@ -959,38 +888,25 @@ declare module "assert" {
|
|||||||
* @since v13.6.0, v12.16.0
|
* @since v13.6.0, v12.16.0
|
||||||
*/
|
*/
|
||||||
function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void;
|
function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void;
|
||||||
const strict:
|
const strict: Omit<typeof assert, 'equal' | 'notEqual' | 'deepEqual' | 'notDeepEqual' | 'ok' | 'strictEqual' | 'deepStrictEqual' | 'ifError' | 'strict'> & {
|
||||||
& Omit<
|
(value: unknown, message?: string | Error): asserts value;
|
||||||
typeof assert,
|
equal: typeof strictEqual;
|
||||||
| "equal"
|
notEqual: typeof notStrictEqual;
|
||||||
| "notEqual"
|
deepEqual: typeof deepStrictEqual;
|
||||||
| "deepEqual"
|
notDeepEqual: typeof notDeepStrictEqual;
|
||||||
| "notDeepEqual"
|
// Mapped types and assertion functions are incompatible?
|
||||||
| "ok"
|
// TS2775: Assertions require every name in the call target
|
||||||
| "strictEqual"
|
// to be declared with an explicit type annotation.
|
||||||
| "deepStrictEqual"
|
ok: typeof ok;
|
||||||
| "ifError"
|
strictEqual: typeof strictEqual;
|
||||||
| "strict"
|
deepStrictEqual: typeof deepStrictEqual;
|
||||||
>
|
ifError: typeof ifError;
|
||||||
& {
|
strict: typeof strict;
|
||||||
(value: unknown, message?: string | Error): asserts value;
|
};
|
||||||
equal: typeof strictEqual;
|
|
||||||
notEqual: typeof notStrictEqual;
|
|
||||||
deepEqual: typeof deepStrictEqual;
|
|
||||||
notDeepEqual: typeof notDeepStrictEqual;
|
|
||||||
// Mapped types and assertion functions are incompatible?
|
|
||||||
// TS2775: Assertions require every name in the call target
|
|
||||||
// to be declared with an explicit type annotation.
|
|
||||||
ok: typeof ok;
|
|
||||||
strictEqual: typeof strictEqual;
|
|
||||||
deepStrictEqual: typeof deepStrictEqual;
|
|
||||||
ifError: typeof ifError;
|
|
||||||
strict: typeof strict;
|
|
||||||
};
|
|
||||||
}
|
}
|
||||||
export = assert;
|
export = assert;
|
||||||
}
|
}
|
||||||
declare module "node:assert" {
|
declare module 'node:assert' {
|
||||||
import assert = require("assert");
|
import assert = require('assert');
|
||||||
export = assert;
|
export = assert;
|
||||||
}
|
}
|
||||||
|
|||||||
8
node_modules/@types/node/assert/strict.d.ts
generated
vendored
Normal file → Executable file
8
node_modules/@types/node/assert/strict.d.ts
generated
vendored
Normal file → Executable file
@@ -1,8 +1,8 @@
|
|||||||
declare module "assert/strict" {
|
declare module 'assert/strict' {
|
||||||
import { strict } from "node:assert";
|
import { strict } from 'node:assert';
|
||||||
export = strict;
|
export = strict;
|
||||||
}
|
}
|
||||||
declare module "node:assert/strict" {
|
declare module 'node:assert/strict' {
|
||||||
import { strict } from "node:assert";
|
import { strict } from 'node:assert';
|
||||||
export = strict;
|
export = strict;
|
||||||
}
|
}
|
||||||
|
|||||||
128
node_modules/@types/node/async_hooks.d.ts
generated
vendored
Normal file → Executable file
128
node_modules/@types/node/async_hooks.d.ts
generated
vendored
Normal file → Executable file
@@ -1,27 +1,19 @@
|
|||||||
/**
|
/**
|
||||||
* We strongly discourage the use of the `async_hooks` API.
|
* The `async_hooks` module provides an API to track asynchronous resources. It
|
||||||
* Other APIs that can cover most of its use cases include:
|
* can be accessed using:
|
||||||
*
|
|
||||||
* * `AsyncLocalStorage` tracks async context
|
|
||||||
* * `process.getActiveResourcesInfo()` tracks active resources
|
|
||||||
*
|
|
||||||
* The `node:async_hooks` module provides an API to track asynchronous resources.
|
|
||||||
* It can be accessed using:
|
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import async_hooks from 'node:async_hooks';
|
* import async_hooks from 'async_hooks';
|
||||||
* ```
|
* ```
|
||||||
* @experimental
|
* @experimental
|
||||||
* @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/async_hooks.js)
|
* @see [source](https://github.com/nodejs/node/blob/v16.9.0/lib/async_hooks.js)
|
||||||
*/
|
*/
|
||||||
declare module "async_hooks" {
|
declare module 'async_hooks' {
|
||||||
/**
|
/**
|
||||||
* ```js
|
* ```js
|
||||||
* import { executionAsyncId } from 'node:async_hooks';
|
* import { executionAsyncId } from 'async_hooks';
|
||||||
* import fs from 'node:fs';
|
|
||||||
*
|
*
|
||||||
* console.log(executionAsyncId()); // 1 - bootstrap
|
* console.log(executionAsyncId()); // 1 - bootstrap
|
||||||
* const path = '.';
|
|
||||||
* fs.open(path, 'r', (err, fd) => {
|
* fs.open(path, 'r', (err, fd) => {
|
||||||
* console.log(executionAsyncId()); // 6 - open()
|
* console.log(executionAsyncId()); // 6 - open()
|
||||||
* });
|
* });
|
||||||
@@ -59,8 +51,8 @@ declare module "async_hooks" {
|
|||||||
* but having an object representing the top-level can be helpful.
|
* but having an object representing the top-level can be helpful.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import { open } from 'node:fs';
|
* import { open } from 'fs';
|
||||||
* import { executionAsyncId, executionAsyncResource } from 'node:async_hooks';
|
* import { executionAsyncId, executionAsyncResource } from 'async_hooks';
|
||||||
*
|
*
|
||||||
* console.log(executionAsyncId(), executionAsyncResource()); // 1 {}
|
* console.log(executionAsyncId(), executionAsyncResource()); // 1 {}
|
||||||
* open(new URL(import.meta.url), 'r', (err, fd) => {
|
* open(new URL(import.meta.url), 'r', (err, fd) => {
|
||||||
@@ -72,11 +64,11 @@ declare module "async_hooks" {
|
|||||||
* use of a tracking `Map` to store the metadata:
|
* use of a tracking `Map` to store the metadata:
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import { createServer } from 'node:http';
|
* import { createServer } from 'http';
|
||||||
* import {
|
* import {
|
||||||
* executionAsyncId,
|
* executionAsyncId,
|
||||||
* executionAsyncResource,
|
* executionAsyncResource,
|
||||||
* createHook,
|
* createHook
|
||||||
* } from 'async_hooks';
|
* } from 'async_hooks';
|
||||||
* const sym = Symbol('state'); // Private symbol to avoid pollution
|
* const sym = Symbol('state'); // Private symbol to avoid pollution
|
||||||
*
|
*
|
||||||
@@ -86,7 +78,7 @@ declare module "async_hooks" {
|
|||||||
* if (cr) {
|
* if (cr) {
|
||||||
* resource[sym] = cr[sym];
|
* resource[sym] = cr[sym];
|
||||||
* }
|
* }
|
||||||
* },
|
* }
|
||||||
* }).enable();
|
* }).enable();
|
||||||
*
|
*
|
||||||
* const server = createServer((req, res) => {
|
* const server = createServer((req, res) => {
|
||||||
@@ -175,11 +167,11 @@ declare module "async_hooks" {
|
|||||||
* specifics of all functions that can be passed to `callbacks` is in the `Hook Callbacks` section.
|
* specifics of all functions that can be passed to `callbacks` is in the `Hook Callbacks` section.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import { createHook } from 'node:async_hooks';
|
* import { createHook } from 'async_hooks';
|
||||||
*
|
*
|
||||||
* const asyncHook = createHook({
|
* const asyncHook = createHook({
|
||||||
* init(asyncId, type, triggerAsyncId, resource) { },
|
* init(asyncId, type, triggerAsyncId, resource) { },
|
||||||
* destroy(asyncId) { },
|
* destroy(asyncId) { }
|
||||||
* });
|
* });
|
||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
@@ -231,13 +223,13 @@ declare module "async_hooks" {
|
|||||||
* The following is an overview of the `AsyncResource` API.
|
* The following is an overview of the `AsyncResource` API.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import { AsyncResource, executionAsyncId } from 'node:async_hooks';
|
* import { AsyncResource, executionAsyncId } from 'async_hooks';
|
||||||
*
|
*
|
||||||
* // AsyncResource() is meant to be extended. Instantiating a
|
* // AsyncResource() is meant to be extended. Instantiating a
|
||||||
* // new AsyncResource() also triggers init. If triggerAsyncId is omitted then
|
* // new AsyncResource() also triggers init. If triggerAsyncId is omitted then
|
||||||
* // async_hook.executionAsyncId() is used.
|
* // async_hook.executionAsyncId() is used.
|
||||||
* const asyncResource = new AsyncResource(
|
* const asyncResource = new AsyncResource(
|
||||||
* type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false },
|
* type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false }
|
||||||
* );
|
* );
|
||||||
*
|
*
|
||||||
* // Run a function in the execution context of the resource. This will
|
* // Run a function in the execution context of the resource. This will
|
||||||
@@ -266,11 +258,14 @@ declare module "async_hooks" {
|
|||||||
* @param type The type of async event.
|
* @param type The type of async event.
|
||||||
* @param triggerAsyncId The ID of the execution context that created
|
* @param triggerAsyncId The ID of the execution context that created
|
||||||
* this async event (default: `executionAsyncId()`), or an
|
* this async event (default: `executionAsyncId()`), or an
|
||||||
* AsyncResourceOptions object (since v9.3.0)
|
* AsyncResourceOptions object (since 9.3)
|
||||||
*/
|
*/
|
||||||
constructor(type: string, triggerAsyncId?: number | AsyncResourceOptions);
|
constructor(type: string, triggerAsyncId?: number | AsyncResourceOptions);
|
||||||
/**
|
/**
|
||||||
* Binds the given function to the current execution context.
|
* Binds the given function to the current execution context.
|
||||||
|
*
|
||||||
|
* The returned function will have an `asyncResource` property referencing
|
||||||
|
* the `AsyncResource` to which the function is bound.
|
||||||
* @since v14.8.0, v12.19.0
|
* @since v14.8.0, v12.19.0
|
||||||
* @param fn The function to bind to the current execution context.
|
* @param fn The function to bind to the current execution context.
|
||||||
* @param type An optional name to associate with the underlying `AsyncResource`.
|
* @param type An optional name to associate with the underlying `AsyncResource`.
|
||||||
@@ -278,14 +273,23 @@ declare module "async_hooks" {
|
|||||||
static bind<Func extends (this: ThisArg, ...args: any[]) => any, ThisArg>(
|
static bind<Func extends (this: ThisArg, ...args: any[]) => any, ThisArg>(
|
||||||
fn: Func,
|
fn: Func,
|
||||||
type?: string,
|
type?: string,
|
||||||
thisArg?: ThisArg,
|
thisArg?: ThisArg
|
||||||
): Func;
|
): Func & {
|
||||||
|
asyncResource: AsyncResource;
|
||||||
|
};
|
||||||
/**
|
/**
|
||||||
* Binds the given function to execute to this `AsyncResource`'s scope.
|
* Binds the given function to execute to this `AsyncResource`'s scope.
|
||||||
|
*
|
||||||
|
* The returned function will have an `asyncResource` property referencing
|
||||||
|
* the `AsyncResource` to which the function is bound.
|
||||||
* @since v14.8.0, v12.19.0
|
* @since v14.8.0, v12.19.0
|
||||||
* @param fn The function to bind to the current `AsyncResource`.
|
* @param fn The function to bind to the current `AsyncResource`.
|
||||||
*/
|
*/
|
||||||
bind<Func extends (...args: any[]) => any>(fn: Func): Func;
|
bind<Func extends (...args: any[]) => any>(
|
||||||
|
fn: Func
|
||||||
|
): Func & {
|
||||||
|
asyncResource: AsyncResource;
|
||||||
|
};
|
||||||
/**
|
/**
|
||||||
* Call the provided function with the provided arguments in the execution context
|
* Call the provided function with the provided arguments in the execution context
|
||||||
* of the async resource. This will establish the context, trigger the AsyncHooks
|
* of the async resource. This will establish the context, trigger the AsyncHooks
|
||||||
@@ -296,11 +300,7 @@ declare module "async_hooks" {
|
|||||||
* @param thisArg The receiver to be used for the function call.
|
* @param thisArg The receiver to be used for the function call.
|
||||||
* @param args Optional arguments to pass to the function.
|
* @param args Optional arguments to pass to the function.
|
||||||
*/
|
*/
|
||||||
runInAsyncScope<This, Result>(
|
runInAsyncScope<This, Result>(fn: (this: This, ...args: any[]) => Result, thisArg?: This, ...args: any[]): Result;
|
||||||
fn: (this: This, ...args: any[]) => Result,
|
|
||||||
thisArg?: This,
|
|
||||||
...args: any[]
|
|
||||||
): Result;
|
|
||||||
/**
|
/**
|
||||||
* Call all `destroy` hooks. This should only ever be called once. An error will
|
* Call all `destroy` hooks. This should only ever be called once. An error will
|
||||||
* be thrown if it is called more than once. This **must** be manually called. If
|
* be thrown if it is called more than once. This **must** be manually called. If
|
||||||
@@ -314,6 +314,7 @@ declare module "async_hooks" {
|
|||||||
*/
|
*/
|
||||||
asyncId(): number;
|
asyncId(): number;
|
||||||
/**
|
/**
|
||||||
|
*
|
||||||
* @return The same `triggerAsyncId` that is passed to the `AsyncResource` constructor.
|
* @return The same `triggerAsyncId` that is passed to the `AsyncResource` constructor.
|
||||||
*/
|
*/
|
||||||
triggerAsyncId(): number;
|
triggerAsyncId(): number;
|
||||||
@@ -321,17 +322,17 @@ declare module "async_hooks" {
|
|||||||
/**
|
/**
|
||||||
* This class creates stores that stay coherent through asynchronous operations.
|
* This class creates stores that stay coherent through asynchronous operations.
|
||||||
*
|
*
|
||||||
* While you can create your own implementation on top of the `node:async_hooks`module, `AsyncLocalStorage` should be preferred as it is a performant and memory
|
* While you can create your own implementation on top of the `async_hooks` module,`AsyncLocalStorage` should be preferred as it is a performant and memory safe
|
||||||
* safe implementation that involves significant optimizations that are non-obvious
|
* implementation that involves significant optimizations that are non-obvious to
|
||||||
* to implement.
|
* implement.
|
||||||
*
|
*
|
||||||
* The following example uses `AsyncLocalStorage` to build a simple logger
|
* The following example uses `AsyncLocalStorage` to build a simple logger
|
||||||
* that assigns IDs to incoming HTTP requests and includes them in messages
|
* that assigns IDs to incoming HTTP requests and includes them in messages
|
||||||
* logged within each request.
|
* logged within each request.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import http from 'node:http';
|
* import http from 'http';
|
||||||
* import { AsyncLocalStorage } from 'node:async_hooks';
|
* import { AsyncLocalStorage } from 'async_hooks';
|
||||||
*
|
*
|
||||||
* const asyncLocalStorage = new AsyncLocalStorage();
|
* const asyncLocalStorage = new AsyncLocalStorage();
|
||||||
*
|
*
|
||||||
@@ -363,48 +364,10 @@ declare module "async_hooks" {
|
|||||||
*
|
*
|
||||||
* Each instance of `AsyncLocalStorage` maintains an independent storage context.
|
* Each instance of `AsyncLocalStorage` maintains an independent storage context.
|
||||||
* Multiple instances can safely exist simultaneously without risk of interfering
|
* Multiple instances can safely exist simultaneously without risk of interfering
|
||||||
* with each other's data.
|
* with each other data.
|
||||||
* @since v13.10.0, v12.17.0
|
* @since v13.10.0, v12.17.0
|
||||||
*/
|
*/
|
||||||
class AsyncLocalStorage<T> {
|
class AsyncLocalStorage<T> {
|
||||||
/**
|
|
||||||
* Binds the given function to the current execution context.
|
|
||||||
* @since v19.8.0
|
|
||||||
* @experimental
|
|
||||||
* @param fn The function to bind to the current execution context.
|
|
||||||
* @return A new function that calls `fn` within the captured execution context.
|
|
||||||
*/
|
|
||||||
static bind<Func extends (...args: any[]) => any>(fn: Func): Func;
|
|
||||||
/**
|
|
||||||
* Captures the current execution context and returns a function that accepts a
|
|
||||||
* function as an argument. Whenever the returned function is called, it
|
|
||||||
* calls the function passed to it within the captured context.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* const asyncLocalStorage = new AsyncLocalStorage();
|
|
||||||
* const runInAsyncScope = asyncLocalStorage.run(123, () => AsyncLocalStorage.snapshot());
|
|
||||||
* const result = asyncLocalStorage.run(321, () => runInAsyncScope(() => asyncLocalStorage.getStore()));
|
|
||||||
* console.log(result); // returns 123
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* AsyncLocalStorage.snapshot() can replace the use of AsyncResource for simple
|
|
||||||
* async context tracking purposes, for example:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* class Foo {
|
|
||||||
* #runInAsyncScope = AsyncLocalStorage.snapshot();
|
|
||||||
*
|
|
||||||
* get() { return this.#runInAsyncScope(() => asyncLocalStorage.getStore()); }
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* const foo = asyncLocalStorage.run(123, () => new Foo());
|
|
||||||
* console.log(asyncLocalStorage.run(321, () => foo.get())); // returns 123
|
|
||||||
* ```
|
|
||||||
* @since v19.8.0
|
|
||||||
* @experimental
|
|
||||||
* @return A new function with the signature `(fn: (...args) : R, ...args) : R`.
|
|
||||||
*/
|
|
||||||
static snapshot(): <R, TArgs extends any[]>(fn: (...args: TArgs) => R, ...args: TArgs) => R;
|
|
||||||
/**
|
/**
|
||||||
* Disables the instance of `AsyncLocalStorage`. All subsequent calls
|
* Disables the instance of `AsyncLocalStorage`. All subsequent calls
|
||||||
* to `asyncLocalStorage.getStore()` will return `undefined` until`asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again.
|
* to `asyncLocalStorage.getStore()` will return `undefined` until`asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()` is called again.
|
||||||
@@ -432,9 +395,8 @@ declare module "async_hooks" {
|
|||||||
getStore(): T | undefined;
|
getStore(): T | undefined;
|
||||||
/**
|
/**
|
||||||
* Runs a function synchronously within a context and returns its
|
* Runs a function synchronously within a context and returns its
|
||||||
* return value. The store is not accessible outside of the callback function.
|
* return value. The store is not accessible outside of the callback function or
|
||||||
* The store is accessible to any asynchronous operations created within the
|
* the asynchronous operations created within the callback.
|
||||||
* callback.
|
|
||||||
*
|
*
|
||||||
* The optional `args` are passed to the callback function.
|
* The optional `args` are passed to the callback function.
|
||||||
*
|
*
|
||||||
@@ -448,9 +410,6 @@ declare module "async_hooks" {
|
|||||||
* try {
|
* try {
|
||||||
* asyncLocalStorage.run(store, () => {
|
* asyncLocalStorage.run(store, () => {
|
||||||
* asyncLocalStorage.getStore(); // Returns the store object
|
* asyncLocalStorage.getStore(); // Returns the store object
|
||||||
* setTimeout(() => {
|
|
||||||
* asyncLocalStorage.getStore(); // Returns the store object
|
|
||||||
* }, 200);
|
|
||||||
* throw new Error();
|
* throw new Error();
|
||||||
* });
|
* });
|
||||||
* } catch (e) {
|
* } catch (e) {
|
||||||
@@ -460,7 +419,6 @@ declare module "async_hooks" {
|
|||||||
* ```
|
* ```
|
||||||
* @since v13.10.0, v12.17.0
|
* @since v13.10.0, v12.17.0
|
||||||
*/
|
*/
|
||||||
run<R>(store: T, callback: () => R): R;
|
|
||||||
run<R, TArgs extends any[]>(store: T, callback: (...args: TArgs) => R, ...args: TArgs): R;
|
run<R, TArgs extends any[]>(store: T, callback: (...args: TArgs) => R, ...args: TArgs): R;
|
||||||
/**
|
/**
|
||||||
* Runs a function synchronously outside of a context and returns its
|
* Runs a function synchronously outside of a context and returns its
|
||||||
@@ -534,6 +492,6 @@ declare module "async_hooks" {
|
|||||||
enterWith(store: T): void;
|
enterWith(store: T): void;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
declare module "node:async_hooks" {
|
declare module 'node:async_hooks' {
|
||||||
export * from "async_hooks";
|
export * from 'async_hooks';
|
||||||
}
|
}
|
||||||
|
|||||||
486
node_modules/@types/node/buffer.d.ts
generated
vendored
Normal file → Executable file
486
node_modules/@types/node/buffer.d.ts
generated
vendored
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
530
node_modules/@types/node/child_process.d.ts
generated
vendored
Normal file → Executable file
530
node_modules/@types/node/child_process.d.ts
generated
vendored
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
252
node_modules/@types/node/cluster.d.ts
generated
vendored
Normal file → Executable file
252
node_modules/@types/node/cluster.d.ts
generated
vendored
Normal file → Executable file
@@ -1,19 +1,18 @@
|
|||||||
/**
|
/**
|
||||||
* Clusters of Node.js processes can be used to run multiple instances of Node.js
|
* A single instance of Node.js runs in a single thread. To take advantage of
|
||||||
* that can distribute workloads among their application threads. When process
|
* multi-core systems, the user will sometimes want to launch a cluster of Node.js
|
||||||
* isolation is not needed, use the `worker_threads` module instead, which
|
* processes to handle the load.
|
||||||
* allows running multiple application threads within a single Node.js instance.
|
|
||||||
*
|
*
|
||||||
* The cluster module allows easy creation of child processes that all share
|
* The cluster module allows easy creation of child processes that all share
|
||||||
* server ports.
|
* server ports.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import cluster from 'node:cluster';
|
* import cluster from 'cluster';
|
||||||
* import http from 'node:http';
|
* import http from 'http';
|
||||||
* import { availableParallelism } from 'node:os';
|
* import { cpus } from 'os';
|
||||||
* import process from 'node:process';
|
* import process from 'process';
|
||||||
*
|
*
|
||||||
* const numCPUs = availableParallelism();
|
* const numCPUs = cpus().length;
|
||||||
*
|
*
|
||||||
* if (cluster.isPrimary) {
|
* if (cluster.isPrimary) {
|
||||||
* console.log(`Primary ${process.pid} is running`);
|
* console.log(`Primary ${process.pid} is running`);
|
||||||
@@ -50,13 +49,12 @@
|
|||||||
* ```
|
* ```
|
||||||
*
|
*
|
||||||
* On Windows, it is not yet possible to set up a named pipe server in a worker.
|
* On Windows, it is not yet possible to set up a named pipe server in a worker.
|
||||||
* @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/cluster.js)
|
* @see [source](https://github.com/nodejs/node/blob/v16.9.0/lib/cluster.js)
|
||||||
*/
|
*/
|
||||||
declare module "cluster" {
|
declare module 'cluster' {
|
||||||
import * as child from "node:child_process";
|
import * as child from 'node:child_process';
|
||||||
import EventEmitter = require("node:events");
|
import EventEmitter = require('node:events');
|
||||||
import * as net from "node:net";
|
import * as net from 'node:net';
|
||||||
type SerializationType = "json" | "advanced";
|
|
||||||
export interface ClusterSettings {
|
export interface ClusterSettings {
|
||||||
execArgv?: string[] | undefined; // default: process.execArgv
|
execArgv?: string[] | undefined; // default: process.execArgv
|
||||||
exec?: string | undefined;
|
exec?: string | undefined;
|
||||||
@@ -66,14 +64,11 @@ declare module "cluster" {
|
|||||||
uid?: number | undefined;
|
uid?: number | undefined;
|
||||||
gid?: number | undefined;
|
gid?: number | undefined;
|
||||||
inspectPort?: number | (() => number) | undefined;
|
inspectPort?: number | (() => number) | undefined;
|
||||||
serialization?: SerializationType | undefined;
|
|
||||||
cwd?: string | undefined;
|
|
||||||
windowsHide?: boolean | undefined;
|
|
||||||
}
|
}
|
||||||
export interface Address {
|
export interface Address {
|
||||||
address: string;
|
address: string;
|
||||||
port: number;
|
port: number;
|
||||||
addressType: number | "udp4" | "udp6"; // 4, 6, -1, "udp4", "udp6"
|
addressType: number | 'udp4' | 'udp6'; // 4, 6, -1, "udp4", "udp6"
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* A `Worker` object contains all public information and method about a worker.
|
* A `Worker` object contains all public information and method about a worker.
|
||||||
@@ -104,9 +99,9 @@ declare module "cluster" {
|
|||||||
/**
|
/**
|
||||||
* Send a message to a worker or primary, optionally with a handle.
|
* Send a message to a worker or primary, optionally with a handle.
|
||||||
*
|
*
|
||||||
* In the primary, this sends a message to a specific worker. It is identical to `ChildProcess.send()`.
|
* In the primary this sends a message to a specific worker. It is identical to `ChildProcess.send()`.
|
||||||
*
|
*
|
||||||
* In a worker, this sends a message to the primary. It is identical to`process.send()`.
|
* In a worker this sends a message to the primary. It is identical to`process.send()`.
|
||||||
*
|
*
|
||||||
* This example will echo back all messages from the primary:
|
* This example will echo back all messages from the primary:
|
||||||
*
|
*
|
||||||
@@ -125,25 +120,22 @@ declare module "cluster" {
|
|||||||
* @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles. `options` supports the following properties:
|
* @param options The `options` argument, if present, is an object used to parameterize the sending of certain types of handles. `options` supports the following properties:
|
||||||
*/
|
*/
|
||||||
send(message: child.Serializable, callback?: (error: Error | null) => void): boolean;
|
send(message: child.Serializable, callback?: (error: Error | null) => void): boolean;
|
||||||
send(
|
send(message: child.Serializable, sendHandle: child.SendHandle, callback?: (error: Error | null) => void): boolean;
|
||||||
message: child.Serializable,
|
send(message: child.Serializable, sendHandle: child.SendHandle, options?: child.MessageOptions, callback?: (error: Error | null) => void): boolean;
|
||||||
sendHandle: child.SendHandle,
|
|
||||||
callback?: (error: Error | null) => void,
|
|
||||||
): boolean;
|
|
||||||
send(
|
|
||||||
message: child.Serializable,
|
|
||||||
sendHandle: child.SendHandle,
|
|
||||||
options?: child.MessageOptions,
|
|
||||||
callback?: (error: Error | null) => void,
|
|
||||||
): boolean;
|
|
||||||
/**
|
/**
|
||||||
* This function will kill the worker. In the primary worker, it does this by
|
* This function will kill the worker. In the primary, it does this
|
||||||
* disconnecting the `worker.process`, and once disconnected, killing with`signal`. In the worker, it does it by killing the process with `signal`.
|
* by disconnecting the `worker.process`, and once disconnected, killing
|
||||||
|
* with `signal`. In the worker, it does it by disconnecting the channel,
|
||||||
|
* and then exiting with code `0`.
|
||||||
*
|
*
|
||||||
* The `kill()` function kills the worker process without waiting for a graceful
|
* Because `kill()` attempts to gracefully disconnect the worker process, it is
|
||||||
* disconnect, it has the same behavior as `worker.process.kill()`.
|
* susceptible to waiting indefinitely for the disconnect to complete. For example,
|
||||||
|
* if the worker enters an infinite loop, a graceful disconnect will never occur.
|
||||||
|
* If the graceful disconnect behavior is not needed, use `worker.process.kill()`.
|
||||||
*
|
*
|
||||||
* This method is aliased as `worker.destroy()` for backwards compatibility.
|
* Causes `.exitedAfterDisconnect` to be set.
|
||||||
|
*
|
||||||
|
* This method is aliased as `worker.destroy()` for backward compatibility.
|
||||||
*
|
*
|
||||||
* In a worker, `process.kill()` exists, but it is not this function;
|
* In a worker, `process.kill()` exists, but it is not this function;
|
||||||
* it is `kill()`.
|
* it is `kill()`.
|
||||||
@@ -196,7 +188,7 @@ declare module "cluster" {
|
|||||||
* });
|
* });
|
||||||
*
|
*
|
||||||
* } else if (cluster.isWorker) {
|
* } else if (cluster.isWorker) {
|
||||||
* const net = require('node:net');
|
* const net = require('net');
|
||||||
* const server = net.createServer((socket) => {
|
* const server = net.createServer((socket) => {
|
||||||
* // Connections never end
|
* // Connections never end
|
||||||
* });
|
* });
|
||||||
@@ -226,12 +218,12 @@ declare module "cluster" {
|
|||||||
* because of exiting or being signaled). Otherwise, it returns `false`.
|
* because of exiting or being signaled). Otherwise, it returns `false`.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import cluster from 'node:cluster';
|
* import cluster from 'cluster';
|
||||||
* import http from 'node:http';
|
* import http from 'http';
|
||||||
* import { availableParallelism } from 'node:os';
|
* import { cpus } from 'os';
|
||||||
* import process from 'node:process';
|
* import process from 'process';
|
||||||
*
|
*
|
||||||
* const numCPUs = availableParallelism();
|
* const numCPUs = cpus().length;
|
||||||
*
|
*
|
||||||
* if (cluster.isPrimary) {
|
* if (cluster.isPrimary) {
|
||||||
* console.log(`Primary ${process.pid} is running`);
|
* console.log(`Primary ${process.pid} is running`);
|
||||||
@@ -261,8 +253,7 @@ declare module "cluster" {
|
|||||||
*/
|
*/
|
||||||
isDead(): boolean;
|
isDead(): boolean;
|
||||||
/**
|
/**
|
||||||
* This property is `true` if the worker exited due to `.disconnect()`.
|
* This property is `true` if the worker exited due to `.kill()` or`.disconnect()`. If the worker exited any other way, it is `false`. If the
|
||||||
* If the worker exited any other way, it is `false`. If the
|
|
||||||
* worker has not exited, it is `undefined`.
|
* worker has not exited, it is `undefined`.
|
||||||
*
|
*
|
||||||
* The boolean `worker.exitedAfterDisconnect` allows distinguishing between
|
* The boolean `worker.exitedAfterDisconnect` allows distinguishing between
|
||||||
@@ -292,47 +283,47 @@ declare module "cluster" {
|
|||||||
* 6. online
|
* 6. online
|
||||||
*/
|
*/
|
||||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
addListener(event: "disconnect", listener: () => void): this;
|
addListener(event: 'disconnect', listener: () => void): this;
|
||||||
addListener(event: "error", listener: (error: Error) => void): this;
|
addListener(event: 'error', listener: (error: Error) => void): this;
|
||||||
addListener(event: "exit", listener: (code: number, signal: string) => void): this;
|
addListener(event: 'exit', listener: (code: number, signal: string) => void): this;
|
||||||
addListener(event: "listening", listener: (address: Address) => void): this;
|
addListener(event: 'listening', listener: (address: Address) => void): this;
|
||||||
addListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
addListener(event: 'message', listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
addListener(event: "online", listener: () => void): this;
|
addListener(event: 'online', listener: () => void): this;
|
||||||
emit(event: string | symbol, ...args: any[]): boolean;
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
emit(event: "disconnect"): boolean;
|
emit(event: 'disconnect'): boolean;
|
||||||
emit(event: "error", error: Error): boolean;
|
emit(event: 'error', error: Error): boolean;
|
||||||
emit(event: "exit", code: number, signal: string): boolean;
|
emit(event: 'exit', code: number, signal: string): boolean;
|
||||||
emit(event: "listening", address: Address): boolean;
|
emit(event: 'listening', address: Address): boolean;
|
||||||
emit(event: "message", message: any, handle: net.Socket | net.Server): boolean;
|
emit(event: 'message', message: any, handle: net.Socket | net.Server): boolean;
|
||||||
emit(event: "online"): boolean;
|
emit(event: 'online'): boolean;
|
||||||
on(event: string, listener: (...args: any[]) => void): this;
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
on(event: "disconnect", listener: () => void): this;
|
on(event: 'disconnect', listener: () => void): this;
|
||||||
on(event: "error", listener: (error: Error) => void): this;
|
on(event: 'error', listener: (error: Error) => void): this;
|
||||||
on(event: "exit", listener: (code: number, signal: string) => void): this;
|
on(event: 'exit', listener: (code: number, signal: string) => void): this;
|
||||||
on(event: "listening", listener: (address: Address) => void): this;
|
on(event: 'listening', listener: (address: Address) => void): this;
|
||||||
on(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
on(event: 'message', listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
on(event: "online", listener: () => void): this;
|
on(event: 'online', listener: () => void): this;
|
||||||
once(event: string, listener: (...args: any[]) => void): this;
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
once(event: "disconnect", listener: () => void): this;
|
once(event: 'disconnect', listener: () => void): this;
|
||||||
once(event: "error", listener: (error: Error) => void): this;
|
once(event: 'error', listener: (error: Error) => void): this;
|
||||||
once(event: "exit", listener: (code: number, signal: string) => void): this;
|
once(event: 'exit', listener: (code: number, signal: string) => void): this;
|
||||||
once(event: "listening", listener: (address: Address) => void): this;
|
once(event: 'listening', listener: (address: Address) => void): this;
|
||||||
once(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
once(event: 'message', listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
once(event: "online", listener: () => void): this;
|
once(event: 'online', listener: () => void): this;
|
||||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
prependListener(event: "disconnect", listener: () => void): this;
|
prependListener(event: 'disconnect', listener: () => void): this;
|
||||||
prependListener(event: "error", listener: (error: Error) => void): this;
|
prependListener(event: 'error', listener: (error: Error) => void): this;
|
||||||
prependListener(event: "exit", listener: (code: number, signal: string) => void): this;
|
prependListener(event: 'exit', listener: (code: number, signal: string) => void): this;
|
||||||
prependListener(event: "listening", listener: (address: Address) => void): this;
|
prependListener(event: 'listening', listener: (address: Address) => void): this;
|
||||||
prependListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
prependListener(event: 'message', listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
prependListener(event: "online", listener: () => void): this;
|
prependListener(event: 'online', listener: () => void): this;
|
||||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
prependOnceListener(event: "disconnect", listener: () => void): this;
|
prependOnceListener(event: 'disconnect', listener: () => void): this;
|
||||||
prependOnceListener(event: "error", listener: (error: Error) => void): this;
|
prependOnceListener(event: 'error', listener: (error: Error) => void): this;
|
||||||
prependOnceListener(event: "exit", listener: (code: number, signal: string) => void): this;
|
prependOnceListener(event: 'exit', listener: (code: number, signal: string) => void): this;
|
||||||
prependOnceListener(event: "listening", listener: (address: Address) => void): this;
|
prependOnceListener(event: 'listening', listener: (address: Address) => void): this;
|
||||||
prependOnceListener(event: "message", listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
prependOnceListener(event: 'message', listener: (message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
prependOnceListener(event: "online", listener: () => void): this;
|
prependOnceListener(event: 'online', listener: () => void): this;
|
||||||
}
|
}
|
||||||
export interface Cluster extends EventEmitter {
|
export interface Cluster extends EventEmitter {
|
||||||
disconnect(callback?: () => void): void;
|
disconnect(callback?: () => void): void;
|
||||||
@@ -364,69 +355,60 @@ declare module "cluster" {
|
|||||||
* 7. setup
|
* 7. setup
|
||||||
*/
|
*/
|
||||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
addListener(event: "disconnect", listener: (worker: Worker) => void): this;
|
addListener(event: 'disconnect', listener: (worker: Worker) => void): this;
|
||||||
addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
|
addListener(event: 'exit', listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||||
addListener(event: "fork", listener: (worker: Worker) => void): this;
|
addListener(event: 'fork', listener: (worker: Worker) => void): this;
|
||||||
addListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
|
addListener(event: 'listening', listener: (worker: Worker, address: Address) => void): this;
|
||||||
addListener(
|
addListener(event: 'message', listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
event: "message",
|
addListener(event: 'online', listener: (worker: Worker) => void): this;
|
||||||
listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void,
|
addListener(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
||||||
): this; // the handle is a net.Socket or net.Server object, or undefined.
|
|
||||||
addListener(event: "online", listener: (worker: Worker) => void): this;
|
|
||||||
addListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
|
||||||
emit(event: string | symbol, ...args: any[]): boolean;
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
emit(event: "disconnect", worker: Worker): boolean;
|
emit(event: 'disconnect', worker: Worker): boolean;
|
||||||
emit(event: "exit", worker: Worker, code: number, signal: string): boolean;
|
emit(event: 'exit', worker: Worker, code: number, signal: string): boolean;
|
||||||
emit(event: "fork", worker: Worker): boolean;
|
emit(event: 'fork', worker: Worker): boolean;
|
||||||
emit(event: "listening", worker: Worker, address: Address): boolean;
|
emit(event: 'listening', worker: Worker, address: Address): boolean;
|
||||||
emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
|
emit(event: 'message', worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
|
||||||
emit(event: "online", worker: Worker): boolean;
|
emit(event: 'online', worker: Worker): boolean;
|
||||||
emit(event: "setup", settings: ClusterSettings): boolean;
|
emit(event: 'setup', settings: ClusterSettings): boolean;
|
||||||
on(event: string, listener: (...args: any[]) => void): this;
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
on(event: "disconnect", listener: (worker: Worker) => void): this;
|
on(event: 'disconnect', listener: (worker: Worker) => void): this;
|
||||||
on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
|
on(event: 'exit', listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||||
on(event: "fork", listener: (worker: Worker) => void): this;
|
on(event: 'fork', listener: (worker: Worker) => void): this;
|
||||||
on(event: "listening", listener: (worker: Worker, address: Address) => void): this;
|
on(event: 'listening', listener: (worker: Worker, address: Address) => void): this;
|
||||||
on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
on(event: 'message', listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
on(event: "online", listener: (worker: Worker) => void): this;
|
on(event: 'online', listener: (worker: Worker) => void): this;
|
||||||
on(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
on(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
||||||
once(event: string, listener: (...args: any[]) => void): this;
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
once(event: "disconnect", listener: (worker: Worker) => void): this;
|
once(event: 'disconnect', listener: (worker: Worker) => void): this;
|
||||||
once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
|
once(event: 'exit', listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||||
once(event: "fork", listener: (worker: Worker) => void): this;
|
once(event: 'fork', listener: (worker: Worker) => void): this;
|
||||||
once(event: "listening", listener: (worker: Worker, address: Address) => void): this;
|
once(event: 'listening', listener: (worker: Worker, address: Address) => void): this;
|
||||||
once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
once(event: 'message', listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
once(event: "online", listener: (worker: Worker) => void): this;
|
once(event: 'online', listener: (worker: Worker) => void): this;
|
||||||
once(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
once(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
||||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
prependListener(event: "disconnect", listener: (worker: Worker) => void): this;
|
prependListener(event: 'disconnect', listener: (worker: Worker) => void): this;
|
||||||
prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
|
prependListener(event: 'exit', listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||||
prependListener(event: "fork", listener: (worker: Worker) => void): this;
|
prependListener(event: 'fork', listener: (worker: Worker) => void): this;
|
||||||
prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
|
prependListener(event: 'listening', listener: (worker: Worker, address: Address) => void): this;
|
||||||
// the handle is a net.Socket or net.Server object, or undefined.
|
// the handle is a net.Socket or net.Server object, or undefined.
|
||||||
prependListener(
|
prependListener(event: 'message', listener: (worker: Worker, message: any, handle?: net.Socket | net.Server) => void): this;
|
||||||
event: "message",
|
prependListener(event: 'online', listener: (worker: Worker) => void): this;
|
||||||
listener: (worker: Worker, message: any, handle?: net.Socket | net.Server) => void,
|
prependListener(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
||||||
): this;
|
|
||||||
prependListener(event: "online", listener: (worker: Worker) => void): this;
|
|
||||||
prependListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
|
||||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): this;
|
prependOnceListener(event: 'disconnect', listener: (worker: Worker) => void): this;
|
||||||
prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): this;
|
prependOnceListener(event: 'exit', listener: (worker: Worker, code: number, signal: string) => void): this;
|
||||||
prependOnceListener(event: "fork", listener: (worker: Worker) => void): this;
|
prependOnceListener(event: 'fork', listener: (worker: Worker) => void): this;
|
||||||
prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): this;
|
prependOnceListener(event: 'listening', listener: (worker: Worker, address: Address) => void): this;
|
||||||
// the handle is a net.Socket or net.Server object, or undefined.
|
// the handle is a net.Socket or net.Server object, or undefined.
|
||||||
prependOnceListener(
|
prependOnceListener(event: 'message', listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;
|
||||||
event: "message",
|
prependOnceListener(event: 'online', listener: (worker: Worker) => void): this;
|
||||||
listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void,
|
prependOnceListener(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
||||||
): this;
|
|
||||||
prependOnceListener(event: "online", listener: (worker: Worker) => void): this;
|
|
||||||
prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
|
||||||
}
|
}
|
||||||
const cluster: Cluster;
|
const cluster: Cluster;
|
||||||
export default cluster;
|
export default cluster;
|
||||||
}
|
}
|
||||||
declare module "node:cluster" {
|
declare module 'node:cluster' {
|
||||||
export * from "cluster";
|
export * from 'cluster';
|
||||||
export { default as default } from "cluster";
|
export { default as default } from 'cluster';
|
||||||
}
|
}
|
||||||
|
|||||||
41
node_modules/@types/node/console.d.ts
generated
vendored
Normal file → Executable file
41
node_modules/@types/node/console.d.ts
generated
vendored
Normal file → Executable file
@@ -1,11 +1,11 @@
|
|||||||
/**
|
/**
|
||||||
* The `node:console` module provides a simple debugging console that is similar to
|
* The `console` module provides a simple debugging console that is similar to the
|
||||||
* the JavaScript console mechanism provided by web browsers.
|
* JavaScript console mechanism provided by web browsers.
|
||||||
*
|
*
|
||||||
* The module exports two specific components:
|
* The module exports two specific components:
|
||||||
*
|
*
|
||||||
* * A `Console` class with methods such as `console.log()`, `console.error()`, and`console.warn()` that can be used to write to any Node.js stream.
|
* * A `Console` class with methods such as `console.log()`, `console.error()` and`console.warn()` that can be used to write to any Node.js stream.
|
||||||
* * A global `console` instance configured to write to `process.stdout` and `process.stderr`. The global `console` can be used without calling`require('node:console')`.
|
* * A global `console` instance configured to write to `process.stdout` and `process.stderr`. The global `console` can be used without calling`require('console')`.
|
||||||
*
|
*
|
||||||
* _**Warning**_: The global console object's methods are neither consistently
|
* _**Warning**_: The global console object's methods are neither consistently
|
||||||
* synchronous like the browser APIs they resemble, nor are they consistently
|
* synchronous like the browser APIs they resemble, nor are they consistently
|
||||||
@@ -53,14 +53,14 @@
|
|||||||
* myConsole.warn(`Danger ${name}! Danger!`);
|
* myConsole.warn(`Danger ${name}! Danger!`);
|
||||||
* // Prints: Danger Will Robinson! Danger!, to err
|
* // Prints: Danger Will Robinson! Danger!, to err
|
||||||
* ```
|
* ```
|
||||||
* @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/console.js)
|
* @see [source](https://github.com/nodejs/node/blob/v16.9.0/lib/console.js)
|
||||||
*/
|
*/
|
||||||
declare module "console" {
|
declare module 'console' {
|
||||||
import console = require("node:console");
|
import console = require('node:console');
|
||||||
export = console;
|
export = console;
|
||||||
}
|
}
|
||||||
declare module "node:console" {
|
declare module 'node:console' {
|
||||||
import { InspectOptions } from "node:util";
|
import { InspectOptions } from 'node:util';
|
||||||
global {
|
global {
|
||||||
// This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build
|
// This needs to be global to avoid TS2403 in case lib.dom.d.ts is present in the same build
|
||||||
interface Console {
|
interface Console {
|
||||||
@@ -123,7 +123,7 @@ declare module "node:console" {
|
|||||||
* >
|
* >
|
||||||
* ```
|
* ```
|
||||||
* @since v8.3.0
|
* @since v8.3.0
|
||||||
* @param [label='default'] The display label for the counter.
|
* @param label The display label for the counter.
|
||||||
*/
|
*/
|
||||||
count(label?: string): void;
|
count(label?: string): void;
|
||||||
/**
|
/**
|
||||||
@@ -141,7 +141,7 @@ declare module "node:console" {
|
|||||||
* >
|
* >
|
||||||
* ```
|
* ```
|
||||||
* @since v8.3.0
|
* @since v8.3.0
|
||||||
* @param [label='default'] The display label for the counter.
|
* @param label The display label for the counter.
|
||||||
*/
|
*/
|
||||||
countReset(label?: string): void;
|
countReset(label?: string): void;
|
||||||
/**
|
/**
|
||||||
@@ -221,7 +221,7 @@ declare module "node:console" {
|
|||||||
log(message?: any, ...optionalParams: any[]): void;
|
log(message?: any, ...optionalParams: any[]): void;
|
||||||
/**
|
/**
|
||||||
* Try to construct a table with the columns of the properties of `tabularData`(or use `properties`) and rows of `tabularData` and log it. Falls back to just
|
* Try to construct a table with the columns of the properties of `tabularData`(or use `properties`) and rows of `tabularData` and log it. Falls back to just
|
||||||
* logging the argument if it can't be parsed as tabular.
|
* logging the argument if it can’t be parsed as tabular.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* // These can't be parsed as tabular data
|
* // These can't be parsed as tabular data
|
||||||
@@ -257,7 +257,6 @@ declare module "node:console" {
|
|||||||
* suitable time units to `stdout`. For example, if the elapsed
|
* suitable time units to `stdout`. For example, if the elapsed
|
||||||
* time is 3869ms, `console.timeEnd()` displays "3.869s".
|
* time is 3869ms, `console.timeEnd()` displays "3.869s".
|
||||||
* @since v0.1.104
|
* @since v0.1.104
|
||||||
* @param [label='default']
|
|
||||||
*/
|
*/
|
||||||
time(label?: string): void;
|
time(label?: string): void;
|
||||||
/**
|
/**
|
||||||
@@ -265,13 +264,12 @@ declare module "node:console" {
|
|||||||
* prints the result to `stdout`:
|
* prints the result to `stdout`:
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* console.time('bunch-of-stuff');
|
* console.time('100-elements');
|
||||||
* // Do a bunch of stuff.
|
* for (let i = 0; i < 100; i++) {}
|
||||||
* console.timeEnd('bunch-of-stuff');
|
* console.timeEnd('100-elements');
|
||||||
* // Prints: bunch-of-stuff: 225.438ms
|
* // prints 100-elements: 225.438ms
|
||||||
* ```
|
* ```
|
||||||
* @since v0.1.104
|
* @since v0.1.104
|
||||||
* @param [label='default']
|
|
||||||
*/
|
*/
|
||||||
timeEnd(label?: string): void;
|
timeEnd(label?: string): void;
|
||||||
/**
|
/**
|
||||||
@@ -287,7 +285,6 @@ declare module "node:console" {
|
|||||||
* console.timeEnd('process');
|
* console.timeEnd('process');
|
||||||
* ```
|
* ```
|
||||||
* @since v10.7.0
|
* @since v10.7.0
|
||||||
* @param [label='default']
|
|
||||||
*/
|
*/
|
||||||
timeLog(label?: string, ...data: any[]): void;
|
timeLog(label?: string, ...data: any[]): void;
|
||||||
/**
|
/**
|
||||||
@@ -395,7 +392,7 @@ declare module "node:console" {
|
|||||||
stdout: NodeJS.WritableStream;
|
stdout: NodeJS.WritableStream;
|
||||||
stderr?: NodeJS.WritableStream | undefined;
|
stderr?: NodeJS.WritableStream | undefined;
|
||||||
ignoreErrors?: boolean | undefined;
|
ignoreErrors?: boolean | undefined;
|
||||||
colorMode?: boolean | "auto" | undefined;
|
colorMode?: boolean | 'auto' | undefined;
|
||||||
inspectOptions?: InspectOptions | undefined;
|
inspectOptions?: InspectOptions | undefined;
|
||||||
/**
|
/**
|
||||||
* Set group indentation
|
* Set group indentation
|
||||||
@@ -405,8 +402,8 @@ declare module "node:console" {
|
|||||||
}
|
}
|
||||||
interface ConsoleConstructor {
|
interface ConsoleConstructor {
|
||||||
prototype: Console;
|
prototype: Console;
|
||||||
new(stdout: NodeJS.WritableStream, stderr?: NodeJS.WritableStream, ignoreErrors?: boolean): Console;
|
new (stdout: NodeJS.WritableStream, stderr?: NodeJS.WritableStream, ignoreErrors?: boolean): Console;
|
||||||
new(options: ConsoleConstructorOptions): Console;
|
new (options: ConsoleConstructorOptions): Console;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
var console: Console;
|
var console: Console;
|
||||||
|
|||||||
23
node_modules/@types/node/constants.d.ts
generated
vendored
Normal file → Executable file
23
node_modules/@types/node/constants.d.ts
generated
vendored
Normal file → Executable file
@@ -1,19 +1,18 @@
|
|||||||
/** @deprecated since v6.3.0 - use constants property exposed by the relevant module instead. */
|
/** @deprecated since v6.3.0 - use constants property exposed by the relevant module instead. */
|
||||||
declare module "constants" {
|
declare module 'constants' {
|
||||||
import { constants as osConstants, SignalConstants } from "node:os";
|
import { constants as osConstants, SignalConstants } from 'node:os';
|
||||||
import { constants as cryptoConstants } from "node:crypto";
|
import { constants as cryptoConstants } from 'node:crypto';
|
||||||
import { constants as fsConstants } from "node:fs";
|
import { constants as fsConstants } from 'node:fs';
|
||||||
|
|
||||||
const exp:
|
const exp: typeof osConstants.errno &
|
||||||
& typeof osConstants.errno
|
typeof osConstants.priority &
|
||||||
& typeof osConstants.priority
|
SignalConstants &
|
||||||
& SignalConstants
|
typeof cryptoConstants &
|
||||||
& typeof cryptoConstants
|
typeof fsConstants;
|
||||||
& typeof fsConstants;
|
|
||||||
export = exp;
|
export = exp;
|
||||||
}
|
}
|
||||||
|
|
||||||
declare module "node:constants" {
|
declare module 'node:constants' {
|
||||||
import constants = require("constants");
|
import constants = require('constants');
|
||||||
export = constants;
|
export = constants;
|
||||||
}
|
}
|
||||||
|
|||||||
2119
node_modules/@types/node/crypto.d.ts
generated
vendored
Normal file → Executable file
2119
node_modules/@types/node/crypto.d.ts
generated
vendored
Normal file → Executable file
File diff suppressed because it is too large
Load Diff
165
node_modules/@types/node/dgram.d.ts
generated
vendored
Normal file → Executable file
165
node_modules/@types/node/dgram.d.ts
generated
vendored
Normal file → Executable file
@@ -1,13 +1,13 @@
|
|||||||
/**
|
/**
|
||||||
* The `node:dgram` module provides an implementation of UDP datagram sockets.
|
* The `dgram` module provides an implementation of UDP datagram sockets.
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import dgram from 'node:dgram';
|
* import dgram from 'dgram';
|
||||||
*
|
*
|
||||||
* const server = dgram.createSocket('udp4');
|
* const server = dgram.createSocket('udp4');
|
||||||
*
|
*
|
||||||
* server.on('error', (err) => {
|
* server.on('error', (err) => {
|
||||||
* console.error(`server error:\n${err.stack}`);
|
* console.log(`server error:\n${err.stack}`);
|
||||||
* server.close();
|
* server.close();
|
||||||
* });
|
* });
|
||||||
*
|
*
|
||||||
@@ -23,15 +23,15 @@
|
|||||||
* server.bind(41234);
|
* server.bind(41234);
|
||||||
* // Prints: server listening 0.0.0.0:41234
|
* // Prints: server listening 0.0.0.0:41234
|
||||||
* ```
|
* ```
|
||||||
* @see [source](https://github.com/nodejs/node/blob/v20.2.0/lib/dgram.js)
|
* @see [source](https://github.com/nodejs/node/blob/v16.9.0/lib/dgram.js)
|
||||||
*/
|
*/
|
||||||
declare module "dgram" {
|
declare module 'dgram' {
|
||||||
import { AddressInfo } from "node:net";
|
import { AddressInfo } from 'node:net';
|
||||||
import * as dns from "node:dns";
|
import * as dns from 'node:dns';
|
||||||
import { Abortable, EventEmitter } from "node:events";
|
import { EventEmitter, Abortable } from 'node:events';
|
||||||
interface RemoteInfo {
|
interface RemoteInfo {
|
||||||
address: string;
|
address: string;
|
||||||
family: "IPv4" | "IPv6";
|
family: 'IPv4' | 'IPv6';
|
||||||
port: number;
|
port: number;
|
||||||
size: number;
|
size: number;
|
||||||
}
|
}
|
||||||
@@ -41,7 +41,7 @@ declare module "dgram" {
|
|||||||
exclusive?: boolean | undefined;
|
exclusive?: boolean | undefined;
|
||||||
fd?: number | undefined;
|
fd?: number | undefined;
|
||||||
}
|
}
|
||||||
type SocketType = "udp4" | "udp6";
|
type SocketType = 'udp4' | 'udp6';
|
||||||
interface SocketOptions extends Abortable {
|
interface SocketOptions extends Abortable {
|
||||||
type: SocketType;
|
type: SocketType;
|
||||||
reuseAddr?: boolean | undefined;
|
reuseAddr?: boolean | undefined;
|
||||||
@@ -51,13 +51,7 @@ declare module "dgram" {
|
|||||||
ipv6Only?: boolean | undefined;
|
ipv6Only?: boolean | undefined;
|
||||||
recvBufferSize?: number | undefined;
|
recvBufferSize?: number | undefined;
|
||||||
sendBufferSize?: number | undefined;
|
sendBufferSize?: number | undefined;
|
||||||
lookup?:
|
lookup?: ((hostname: string, options: dns.LookupOneOptions, callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void) => void) | undefined;
|
||||||
| ((
|
|
||||||
hostname: string,
|
|
||||||
options: dns.LookupOneOptions,
|
|
||||||
callback: (err: NodeJS.ErrnoException | null, address: string, family: number) => void,
|
|
||||||
) => void)
|
|
||||||
| undefined;
|
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* Creates a `dgram.Socket` object. Once the socket is created, calling `socket.bind()` will instruct the socket to begin listening for datagram
|
* Creates a `dgram.Socket` object. Once the socket is created, calling `socket.bind()` will instruct the socket to begin listening for datagram
|
||||||
@@ -104,8 +98,8 @@ declare module "dgram" {
|
|||||||
* When sharing a UDP socket across multiple `cluster` workers, the`socket.addMembership()` function must be called only once or an`EADDRINUSE` error will occur:
|
* When sharing a UDP socket across multiple `cluster` workers, the`socket.addMembership()` function must be called only once or an`EADDRINUSE` error will occur:
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import cluster from 'node:cluster';
|
* import cluster from 'cluster';
|
||||||
* import dgram from 'node:dgram';
|
* import dgram from 'dgram';
|
||||||
*
|
*
|
||||||
* if (cluster.isPrimary) {
|
* if (cluster.isPrimary) {
|
||||||
* cluster.fork(); // Works ok.
|
* cluster.fork(); // Works ok.
|
||||||
@@ -122,7 +116,7 @@ declare module "dgram" {
|
|||||||
addMembership(multicastAddress: string, multicastInterface?: string): void;
|
addMembership(multicastAddress: string, multicastInterface?: string): void;
|
||||||
/**
|
/**
|
||||||
* Returns an object containing the address information for a socket.
|
* Returns an object containing the address information for a socket.
|
||||||
* For UDP sockets, this object will contain `address`, `family`, and `port`properties.
|
* For UDP sockets, this object will contain `address`, `family` and `port`properties.
|
||||||
*
|
*
|
||||||
* This method throws `EBADF` if called on an unbound socket.
|
* This method throws `EBADF` if called on an unbound socket.
|
||||||
* @since v0.1.99
|
* @since v0.1.99
|
||||||
@@ -148,12 +142,12 @@ declare module "dgram" {
|
|||||||
* Example of a UDP server listening on port 41234:
|
* Example of a UDP server listening on port 41234:
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import dgram from 'node:dgram';
|
* import dgram from 'dgram';
|
||||||
*
|
*
|
||||||
* const server = dgram.createSocket('udp4');
|
* const server = dgram.createSocket('udp4');
|
||||||
*
|
*
|
||||||
* server.on('error', (err) => {
|
* server.on('error', (err) => {
|
||||||
* console.error(`server error:\n${err.stack}`);
|
* console.log(`server error:\n${err.stack}`);
|
||||||
* server.close();
|
* server.close();
|
||||||
* });
|
* });
|
||||||
*
|
*
|
||||||
@@ -266,7 +260,7 @@ declare module "dgram" {
|
|||||||
*
|
*
|
||||||
* The `address` argument is a string. If the value of `address` is a host name,
|
* The `address` argument is a string. If the value of `address` is a host name,
|
||||||
* DNS will be used to resolve the address of the host. If `address` is not
|
* DNS will be used to resolve the address of the host. If `address` is not
|
||||||
* provided or otherwise nullish, `'127.0.0.1'` (for `udp4` sockets) or `'::1'`(for `udp6` sockets) will be used by default.
|
* provided or otherwise falsy, `'127.0.0.1'` (for `udp4` sockets) or `'::1'`(for `udp6` sockets) will be used by default.
|
||||||
*
|
*
|
||||||
* If the socket has not been previously bound with a call to `bind`, the socket
|
* If the socket has not been previously bound with a call to `bind`, the socket
|
||||||
* is assigned a random port number and is bound to the "all interfaces" address
|
* is assigned a random port number and is bound to the "all interfaces" address
|
||||||
@@ -290,8 +284,8 @@ declare module "dgram" {
|
|||||||
* Example of sending a UDP packet to a port on `localhost`;
|
* Example of sending a UDP packet to a port on `localhost`;
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import dgram from 'node:dgram';
|
* import dgram from 'dgram';
|
||||||
* import { Buffer } from 'node:buffer';
|
* import { Buffer } from 'buffer';
|
||||||
*
|
*
|
||||||
* const message = Buffer.from('Some bytes');
|
* const message = Buffer.from('Some bytes');
|
||||||
* const client = dgram.createSocket('udp4');
|
* const client = dgram.createSocket('udp4');
|
||||||
@@ -303,8 +297,8 @@ declare module "dgram" {
|
|||||||
* Example of sending a UDP packet composed of multiple buffers to a port on`127.0.0.1`;
|
* Example of sending a UDP packet composed of multiple buffers to a port on`127.0.0.1`;
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import dgram from 'node:dgram';
|
* import dgram from 'dgram';
|
||||||
* import { Buffer } from 'node:buffer';
|
* import { Buffer } from 'buffer';
|
||||||
*
|
*
|
||||||
* const buf1 = Buffer.from('Some ');
|
* const buf1 = Buffer.from('Some ');
|
||||||
* const buf2 = Buffer.from('bytes');
|
* const buf2 = Buffer.from('bytes');
|
||||||
@@ -322,8 +316,8 @@ declare module "dgram" {
|
|||||||
* Example of sending a UDP packet using a socket connected to a port on`localhost`:
|
* Example of sending a UDP packet using a socket connected to a port on`localhost`:
|
||||||
*
|
*
|
||||||
* ```js
|
* ```js
|
||||||
* import dgram from 'node:dgram';
|
* import dgram from 'dgram';
|
||||||
* import { Buffer } from 'node:buffer';
|
* import { Buffer } from 'buffer';
|
||||||
*
|
*
|
||||||
* const message = Buffer.from('Some bytes');
|
* const message = Buffer.from('Some bytes');
|
||||||
* const client = dgram.createSocket('udp4');
|
* const client = dgram.createSocket('udp4');
|
||||||
@@ -341,42 +335,12 @@ declare module "dgram" {
|
|||||||
* @param address Destination host name or IP address.
|
* @param address Destination host name or IP address.
|
||||||
* @param callback Called when the message has been sent.
|
* @param callback Called when the message has been sent.
|
||||||
*/
|
*/
|
||||||
send(
|
send(msg: string | Uint8Array | ReadonlyArray<any>, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
msg: string | Uint8Array | ReadonlyArray<any>,
|
send(msg: string | Uint8Array | ReadonlyArray<any>, port?: number, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
port?: number,
|
send(msg: string | Uint8Array | ReadonlyArray<any>, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
address?: string,
|
send(msg: string | Uint8Array, offset: number, length: number, port?: number, address?: string, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
callback?: (error: Error | null, bytes: number) => void,
|
send(msg: string | Uint8Array, offset: number, length: number, port?: number, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
): void;
|
send(msg: string | Uint8Array, offset: number, length: number, callback?: (error: Error | null, bytes: number) => void): void;
|
||||||
send(
|
|
||||||
msg: string | Uint8Array | ReadonlyArray<any>,
|
|
||||||
port?: number,
|
|
||||||
callback?: (error: Error | null, bytes: number) => void,
|
|
||||||
): void;
|
|
||||||
send(
|
|
||||||
msg: string | Uint8Array | ReadonlyArray<any>,
|
|
||||||
callback?: (error: Error | null, bytes: number) => void,
|
|
||||||
): void;
|
|
||||||
send(
|
|
||||||
msg: string | Uint8Array,
|
|
||||||
offset: number,
|
|
||||||
length: number,
|
|
||||||
port?: number,
|
|
||||||
address?: string,
|
|
||||||
callback?: (error: Error | null, bytes: number) => void,
|
|
||||||
): void;
|
|
||||||
send(
|
|
||||||
msg: string | Uint8Array,
|
|
||||||
offset: number,
|
|
||||||
length: number,
|
|
||||||
port?: number,
|
|
||||||
callback?: (error: Error | null, bytes: number) => void,
|
|
||||||
): void;
|
|
||||||
send(
|
|
||||||
msg: string | Uint8Array,
|
|
||||||
offset: number,
|
|
||||||
length: number,
|
|
||||||
callback?: (error: Error | null, bytes: number) => void,
|
|
||||||
): void;
|
|
||||||
/**
|
/**
|
||||||
* Sets or clears the `SO_BROADCAST` socket option. When set to `true`, UDP
|
* Sets or clears the `SO_BROADCAST` socket option. When set to `true`, UDP
|
||||||
* packets may be sent to a local interface's broadcast address.
|
* packets may be sent to a local interface's broadcast address.
|
||||||
@@ -487,7 +451,7 @@ declare module "dgram" {
|
|||||||
* TTL. If the TTL is decremented to 0 by a router, it will not be forwarded.
|
* TTL. If the TTL is decremented to 0 by a router, it will not be forwarded.
|
||||||
* Changing TTL values is typically done for network probes or when multicasting.
|
* Changing TTL values is typically done for network probes or when multicasting.
|
||||||
*
|
*
|
||||||
* The `ttl` argument may be between 1 and 255\. The default on most systems
|
* The `ttl` argument may be between between 1 and 255\. The default on most systems
|
||||||
* is 64.
|
* is 64.
|
||||||
*
|
*
|
||||||
* This method throws `EBADF` if called on an unbound socket.
|
* This method throws `EBADF` if called on an unbound socket.
|
||||||
@@ -539,48 +503,43 @@ declare module "dgram" {
|
|||||||
* 5. message
|
* 5. message
|
||||||
*/
|
*/
|
||||||
addListener(event: string, listener: (...args: any[]) => void): this;
|
addListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
addListener(event: "close", listener: () => void): this;
|
addListener(event: 'close', listener: () => void): this;
|
||||||
addListener(event: "connect", listener: () => void): this;
|
addListener(event: 'connect', listener: () => void): this;
|
||||||
addListener(event: "error", listener: (err: Error) => void): this;
|
addListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
addListener(event: "listening", listener: () => void): this;
|
addListener(event: 'listening', listener: () => void): this;
|
||||||
addListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
addListener(event: 'message', listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||||
emit(event: string | symbol, ...args: any[]): boolean;
|
emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
emit(event: "close"): boolean;
|
emit(event: 'close'): boolean;
|
||||||
emit(event: "connect"): boolean;
|
emit(event: 'connect'): boolean;
|
||||||
emit(event: "error", err: Error): boolean;
|
emit(event: 'error', err: Error): boolean;
|
||||||
emit(event: "listening"): boolean;
|
emit(event: 'listening'): boolean;
|
||||||
emit(event: "message", msg: Buffer, rinfo: RemoteInfo): boolean;
|
emit(event: 'message', msg: Buffer, rinfo: RemoteInfo): boolean;
|
||||||
on(event: string, listener: (...args: any[]) => void): this;
|
on(event: string, listener: (...args: any[]) => void): this;
|
||||||
on(event: "close", listener: () => void): this;
|
on(event: 'close', listener: () => void): this;
|
||||||
on(event: "connect", listener: () => void): this;
|
on(event: 'connect', listener: () => void): this;
|
||||||
on(event: "error", listener: (err: Error) => void): this;
|
on(event: 'error', listener: (err: Error) => void): this;
|
||||||
on(event: "listening", listener: () => void): this;
|
on(event: 'listening', listener: () => void): this;
|
||||||
on(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
on(event: 'message', listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||||
once(event: string, listener: (...args: any[]) => void): this;
|
once(event: string, listener: (...args: any[]) => void): this;
|
||||||
once(event: "close", listener: () => void): this;
|
once(event: 'close', listener: () => void): this;
|
||||||
once(event: "connect", listener: () => void): this;
|
once(event: 'connect', listener: () => void): this;
|
||||||
once(event: "error", listener: (err: Error) => void): this;
|
once(event: 'error', listener: (err: Error) => void): this;
|
||||||
once(event: "listening", listener: () => void): this;
|
once(event: 'listening', listener: () => void): this;
|
||||||
once(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
once(event: 'message', listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||||
prependListener(event: string, listener: (...args: any[]) => void): this;
|
prependListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
prependListener(event: "close", listener: () => void): this;
|
prependListener(event: 'close', listener: () => void): this;
|
||||||
prependListener(event: "connect", listener: () => void): this;
|
prependListener(event: 'connect', listener: () => void): this;
|
||||||
prependListener(event: "error", listener: (err: Error) => void): this;
|
prependListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
prependListener(event: "listening", listener: () => void): this;
|
prependListener(event: 'listening', listener: () => void): this;
|
||||||
prependListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
prependListener(event: 'message', listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||||
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
prependOnceListener(event: string, listener: (...args: any[]) => void): this;
|
||||||
prependOnceListener(event: "close", listener: () => void): this;
|
prependOnceListener(event: 'close', listener: () => void): this;
|
||||||
prependOnceListener(event: "connect", listener: () => void): this;
|
prependOnceListener(event: 'connect', listener: () => void): this;
|
||||||
prependOnceListener(event: "error", listener: (err: Error) => void): this;
|
prependOnceListener(event: 'error', listener: (err: Error) => void): this;
|
||||||
prependOnceListener(event: "listening", listener: () => void): this;
|
prependOnceListener(event: 'listening', listener: () => void): this;
|
||||||
prependOnceListener(event: "message", listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
prependOnceListener(event: 'message', listener: (msg: Buffer, rinfo: RemoteInfo) => void): this;
|
||||||
/**
|
|
||||||
* Calls `socket.close()` and returns a promise that fulfills when the socket has closed.
|
|
||||||
* @since v20.5.0
|
|
||||||
*/
|
|
||||||
[Symbol.asyncDispose](): Promise<void>;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
declare module "node:dgram" {
|
declare module 'node:dgram' {
|
||||||
export * from "dgram";
|
export * from 'dgram';
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user