mirror of
https://github.com/github/codeql-action.git
synced 2025-12-17 04:49:24 +08:00
Compare commits
90 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
8834766498 | ||
|
|
69a58ad266 | ||
|
|
5b59d8784d | ||
|
|
ea5898d606 | ||
|
|
39aa619399 | ||
|
|
2190825ac9 | ||
|
|
e61a4b9c7c | ||
|
|
b74506c7c2 | ||
|
|
e27fa67f0f | ||
|
|
eb507cfac6 | ||
|
|
c33cdd74b3 | ||
|
|
aeefdce612 | ||
|
|
761da7eb50 | ||
|
|
560edbc33e | ||
|
|
e64a215b41 | ||
|
|
e437ea1d38 | ||
|
|
8ecc1fcbc4 | ||
|
|
0b3acf68ab | ||
|
|
480ef7689f | ||
|
|
4e2634f2fd | ||
|
|
04d521d705 | ||
|
|
cdf3c9d01e | ||
|
|
628afae9d3 | ||
|
|
111428ce06 | ||
|
|
d2fd19b7d7 | ||
|
|
c825c24663 | ||
|
|
0e0e934038 | ||
|
|
d430deb927 | ||
|
|
f5d822707e | ||
|
|
1f44993f56 | ||
|
|
701b6a5569 | ||
|
|
e75fa83dde | ||
|
|
a33ae09fb8 | ||
|
|
44198be781 | ||
|
|
308528ba13 | ||
|
|
939659ccd0 | ||
|
|
401a76f245 | ||
|
|
5e27f57127 | ||
|
|
4154eaf0e9 | ||
|
|
75e4d9f140 | ||
|
|
870dbaaebe | ||
|
|
3615d8ac45 | ||
|
|
47dd636fbc | ||
|
|
e4766c87d5 | ||
|
|
527d5153ad | ||
|
|
07990f07e5 | ||
|
|
fa19286989 | ||
|
|
b1c781d398 | ||
|
|
938e0a0743 | ||
|
|
d63f798314 | ||
|
|
86940df49f | ||
|
|
25313901b7 | ||
|
|
8ec6a84629 | ||
|
|
162ecaff35 | ||
|
|
117a67b074 | ||
|
|
0da815296a | ||
|
|
4e02f8e87a | ||
|
|
438f654919 | ||
|
|
42af7232c3 | ||
|
|
360221eece | ||
|
|
9169d2461f | ||
|
|
949eeb2dcf | ||
|
|
507795f5c4 | ||
|
|
75f07e7ab2 | ||
|
|
42c72a10c8 | ||
|
|
fa57ef0579 | ||
|
|
4b66d317a4 | ||
|
|
d7ad71d803 | ||
|
|
afbddca263 | ||
|
|
c592525a67 | ||
|
|
f14beebc58 | ||
|
|
3d93bb2ac9 | ||
|
|
040feefecf | ||
|
|
4d875a922c | ||
|
|
cbc9c75e8f | ||
|
|
65174f238c | ||
|
|
d39d5d5c97 | ||
|
|
da54d7bd9f | ||
|
|
fe6fb6f21b | ||
|
|
72f407c72c | ||
|
|
cefec5bcb7 | ||
|
|
070bf9ae1c | ||
|
|
74dd782377 | ||
|
|
78e09bd811 | ||
|
|
72b5ce4f22 | ||
|
|
21c48e7a01 | ||
|
|
326e5118c5 | ||
|
|
b83cccd8a6 | ||
|
|
9b2dafda62 | ||
|
|
770ee8972e |
50
.github/workflows/__analyze-ref-input.yml
generated
vendored
50
.github/workflows/__analyze-ref-input.yml
generated
vendored
@@ -23,15 +23,49 @@ jobs:
|
|||||||
analyze-ref-input:
|
analyze-ref-input:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
include:
|
||||||
- stable-20210308
|
- os: ubuntu-latest
|
||||||
- stable-20210319
|
version: stable-20210308
|
||||||
- stable-20210809
|
- os: macos-latest
|
||||||
- cached
|
version: stable-20210308
|
||||||
- latest
|
- os: windows-2019
|
||||||
- nightly-latest
|
version: stable-20210308
|
||||||
os: [ubuntu-latest, macos-latest, windows-2019]
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: windows-2019
|
||||||
|
version: stable-20210319
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: windows-2019
|
||||||
|
version: stable-20210809
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: macos-latest
|
||||||
|
version: cached
|
||||||
|
- os: windows-2019
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: windows-2019
|
||||||
|
version: latest
|
||||||
|
- os: windows-2022
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-2019
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-2022
|
||||||
|
version: nightly-latest
|
||||||
name: "Analyze: 'ref' and 'sha' from inputs"
|
name: "Analyze: 'ref' and 'sha' from inputs"
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
34
.github/workflows/__debug-artifacts.yml
generated
vendored
34
.github/workflows/__debug-artifacts.yml
generated
vendored
@@ -23,15 +23,33 @@ jobs:
|
|||||||
debug-artifacts:
|
debug-artifacts:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
include:
|
||||||
- stable-20210308
|
- os: ubuntu-latest
|
||||||
- stable-20210319
|
version: stable-20210308
|
||||||
- stable-20210809
|
- os: macos-latest
|
||||||
- cached
|
version: stable-20210308
|
||||||
- latest
|
- os: ubuntu-latest
|
||||||
- nightly-latest
|
version: stable-20210319
|
||||||
os: [ubuntu-latest, macos-latest]
|
- os: macos-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: macos-latest
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Debug artifact upload
|
name: Debug artifact upload
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
6
.github/workflows/__extractor-ram-threads.yml
generated
vendored
6
.github/workflows/__extractor-ram-threads.yml
generated
vendored
@@ -23,9 +23,11 @@ jobs:
|
|||||||
extractor-ram-threads:
|
extractor-ram-threads:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version: [latest]
|
include:
|
||||||
os: [ubuntu-latest]
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
name: Extractor ram and threads options test
|
name: Extractor ram and threads options test
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
50
.github/workflows/__go-custom-queries.yml
generated
vendored
50
.github/workflows/__go-custom-queries.yml
generated
vendored
@@ -23,15 +23,49 @@ jobs:
|
|||||||
go-custom-queries:
|
go-custom-queries:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
include:
|
||||||
- stable-20210308
|
- os: ubuntu-latest
|
||||||
- stable-20210319
|
version: stable-20210308
|
||||||
- stable-20210809
|
- os: macos-latest
|
||||||
- cached
|
version: stable-20210308
|
||||||
- latest
|
- os: windows-2019
|
||||||
- nightly-latest
|
version: stable-20210308
|
||||||
os: [ubuntu-latest, macos-latest, windows-2019]
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: windows-2019
|
||||||
|
version: stable-20210319
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: windows-2019
|
||||||
|
version: stable-20210809
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: macos-latest
|
||||||
|
version: cached
|
||||||
|
- os: windows-2019
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: windows-2019
|
||||||
|
version: latest
|
||||||
|
- os: windows-2022
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-2019
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-2022
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: Custom queries'
|
name: 'Go: Custom queries'
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
34
.github/workflows/__go-custom-tracing-autobuild.yml
generated
vendored
34
.github/workflows/__go-custom-tracing-autobuild.yml
generated
vendored
@@ -23,15 +23,33 @@ jobs:
|
|||||||
go-custom-tracing-autobuild:
|
go-custom-tracing-autobuild:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
include:
|
||||||
- stable-20210308
|
- os: ubuntu-latest
|
||||||
- stable-20210319
|
version: stable-20210308
|
||||||
- stable-20210809
|
- os: macos-latest
|
||||||
- cached
|
version: stable-20210308
|
||||||
- latest
|
- os: ubuntu-latest
|
||||||
- nightly-latest
|
version: stable-20210319
|
||||||
os: [ubuntu-latest, macos-latest]
|
- os: macos-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: macos-latest
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: Autobuild custom tracing'
|
name: 'Go: Autobuild custom tracing'
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
50
.github/workflows/__go-custom-tracing.yml
generated
vendored
50
.github/workflows/__go-custom-tracing.yml
generated
vendored
@@ -23,15 +23,49 @@ jobs:
|
|||||||
go-custom-tracing:
|
go-custom-tracing:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
include:
|
||||||
- stable-20210308
|
- os: ubuntu-latest
|
||||||
- stable-20210319
|
version: stable-20210308
|
||||||
- stable-20210809
|
- os: macos-latest
|
||||||
- cached
|
version: stable-20210308
|
||||||
- latest
|
- os: windows-2019
|
||||||
- nightly-latest
|
version: stable-20210308
|
||||||
os: [ubuntu-latest, macos-latest, windows-2019]
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: windows-2019
|
||||||
|
version: stable-20210319
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: windows-2019
|
||||||
|
version: stable-20210809
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: macos-latest
|
||||||
|
version: cached
|
||||||
|
- os: windows-2019
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: windows-2019
|
||||||
|
version: latest
|
||||||
|
- os: windows-2022
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-2019
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-2022
|
||||||
|
version: nightly-latest
|
||||||
name: 'Go: Custom tracing'
|
name: 'Go: Custom tracing'
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
10
.github/workflows/__javascript-source-root.yml
generated
vendored
10
.github/workflows/__javascript-source-root.yml
generated
vendored
@@ -23,9 +23,15 @@ jobs:
|
|||||||
javascript-source-root:
|
javascript-source-root:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version: [latest, cached, nightly-latest] # This feature is not compatible with old CLIs
|
include:
|
||||||
os: [ubuntu-latest]
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Custom source root
|
name: Custom source root
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
34
.github/workflows/__multi-language-autodetect.yml
generated
vendored
34
.github/workflows/__multi-language-autodetect.yml
generated
vendored
@@ -23,15 +23,33 @@ jobs:
|
|||||||
multi-language-autodetect:
|
multi-language-autodetect:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
include:
|
||||||
- stable-20210308
|
- os: ubuntu-latest
|
||||||
- stable-20210319
|
version: stable-20210308
|
||||||
- stable-20210809
|
- os: macos-latest
|
||||||
- cached
|
version: stable-20210308
|
||||||
- latest
|
- os: ubuntu-latest
|
||||||
- nightly-latest
|
version: stable-20210319
|
||||||
os: [ubuntu-latest, macos-latest]
|
- os: macos-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: macos-latest
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Multi-language repository
|
name: Multi-language repository
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
8
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
8
.github/workflows/__packaging-config-inputs-js.yml
generated
vendored
@@ -23,9 +23,13 @@ jobs:
|
|||||||
packaging-config-inputs-js:
|
packaging-config-inputs-js:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version: [nightly-20210831] # This CLI version is known to work with package used in this test
|
include:
|
||||||
os: [ubuntu-latest, macos-latest]
|
- os: ubuntu-latest
|
||||||
|
version: nightly-20210831
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-20210831
|
||||||
name: 'Packaging: Config and input'
|
name: 'Packaging: Config and input'
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
8
.github/workflows/__packaging-config-js.yml
generated
vendored
8
.github/workflows/__packaging-config-js.yml
generated
vendored
@@ -23,9 +23,13 @@ jobs:
|
|||||||
packaging-config-js:
|
packaging-config-js:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version: [nightly-20210831] # This CLI version is known to work with package used in this test
|
include:
|
||||||
os: [ubuntu-latest, macos-latest]
|
- os: ubuntu-latest
|
||||||
|
version: nightly-20210831
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-20210831
|
||||||
name: 'Packaging: Config file'
|
name: 'Packaging: Config file'
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
8
.github/workflows/__packaging-inputs-js.yml
generated
vendored
8
.github/workflows/__packaging-inputs-js.yml
generated
vendored
@@ -23,9 +23,13 @@ jobs:
|
|||||||
packaging-inputs-js:
|
packaging-inputs-js:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version: [nightly-20210831] # This CLI version is known to work with package used in this test
|
include:
|
||||||
os: [ubuntu-latest, macos-latest]
|
- os: ubuntu-latest
|
||||||
|
version: nightly-20210831
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-20210831
|
||||||
name: 'Packaging: Action input'
|
name: 'Packaging: Action input'
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
50
.github/workflows/__remote-config.yml
generated
vendored
50
.github/workflows/__remote-config.yml
generated
vendored
@@ -23,15 +23,49 @@ jobs:
|
|||||||
remote-config:
|
remote-config:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
include:
|
||||||
- stable-20210308
|
- os: ubuntu-latest
|
||||||
- stable-20210319
|
version: stable-20210308
|
||||||
- stable-20210809
|
- os: macos-latest
|
||||||
- cached
|
version: stable-20210308
|
||||||
- latest
|
- os: windows-2019
|
||||||
- nightly-latest
|
version: stable-20210308
|
||||||
os: [ubuntu-latest, macos-latest, windows-2019]
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: windows-2019
|
||||||
|
version: stable-20210319
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: windows-2019
|
||||||
|
version: stable-20210809
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: macos-latest
|
||||||
|
version: cached
|
||||||
|
- os: windows-2019
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: windows-2019
|
||||||
|
version: latest
|
||||||
|
- os: windows-2022
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-2019
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-2022
|
||||||
|
version: nightly-latest
|
||||||
name: Remote config file
|
name: Remote config file
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
22
.github/workflows/__rubocop-multi-language.yml
generated
vendored
22
.github/workflows/__rubocop-multi-language.yml
generated
vendored
@@ -23,15 +23,21 @@ jobs:
|
|||||||
rubocop-multi-language:
|
rubocop-multi-language:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
include:
|
||||||
- stable-20210308
|
- os: ubuntu-latest
|
||||||
- stable-20210319
|
version: stable-20210308
|
||||||
- stable-20210809
|
- os: ubuntu-latest
|
||||||
- cached
|
version: stable-20210319
|
||||||
- latest
|
- os: ubuntu-latest
|
||||||
- nightly-latest
|
version: stable-20210809
|
||||||
os: [ubuntu-latest]
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
name: RuboCop multi-language
|
name: RuboCop multi-language
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
8
.github/workflows/__split-workflow.yml
generated
vendored
8
.github/workflows/__split-workflow.yml
generated
vendored
@@ -23,9 +23,13 @@ jobs:
|
|||||||
split-workflow:
|
split-workflow:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version: [nightly-20210831] # This CLI version is known to work with package used in this test
|
include:
|
||||||
os: [ubuntu-latest, macos-latest]
|
- os: ubuntu-latest
|
||||||
|
version: nightly-20210831
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-20210831
|
||||||
name: Split workflow
|
name: Split workflow
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
6
.github/workflows/__test-local-codeql.yml
generated
vendored
6
.github/workflows/__test-local-codeql.yml
generated
vendored
@@ -23,9 +23,11 @@ jobs:
|
|||||||
test-local-codeql:
|
test-local-codeql:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version: [nightly-latest]
|
include:
|
||||||
os: [ubuntu-latest]
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Local CodeQL bundle
|
name: Local CodeQL bundle
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
6
.github/workflows/__test-proxy.yml
generated
vendored
6
.github/workflows/__test-proxy.yml
generated
vendored
@@ -23,9 +23,11 @@ jobs:
|
|||||||
test-proxy:
|
test-proxy:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version: [latest]
|
include:
|
||||||
os: [ubuntu-latest]
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
name: Proxy test
|
name: Proxy test
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
16
.github/workflows/__test-ruby.yml
generated
vendored
16
.github/workflows/__test-ruby.yml
generated
vendored
@@ -23,9 +23,21 @@ jobs:
|
|||||||
test-ruby:
|
test-ruby:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version: [latest, cached, nightly-latest]
|
include:
|
||||||
os: [ubuntu-latest, macos-latest]
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: macos-latest
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Ruby analysis
|
name: Ruby analysis
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
22
.github/workflows/__unset-environment.yml
generated
vendored
22
.github/workflows/__unset-environment.yml
generated
vendored
@@ -23,15 +23,21 @@ jobs:
|
|||||||
unset-environment:
|
unset-environment:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
include:
|
||||||
- stable-20210308
|
- os: ubuntu-latest
|
||||||
- stable-20210319
|
version: stable-20210308
|
||||||
- stable-20210809
|
- os: ubuntu-latest
|
||||||
- cached
|
version: stable-20210319
|
||||||
- latest
|
- os: ubuntu-latest
|
||||||
- nightly-latest
|
version: stable-20210809
|
||||||
os: [ubuntu-latest]
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
name: Test unsetting environment variables
|
name: Test unsetting environment variables
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
50
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
50
.github/workflows/__upload-ref-sha-input.yml
generated
vendored
@@ -23,15 +23,49 @@ jobs:
|
|||||||
upload-ref-sha-input:
|
upload-ref-sha-input:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
version:
|
include:
|
||||||
- stable-20210308
|
- os: ubuntu-latest
|
||||||
- stable-20210319
|
version: stable-20210308
|
||||||
- stable-20210809
|
- os: macos-latest
|
||||||
- cached
|
version: stable-20210308
|
||||||
- latest
|
- os: windows-2019
|
||||||
- nightly-latest
|
version: stable-20210308
|
||||||
os: [ubuntu-latest, macos-latest, windows-2019]
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210319
|
||||||
|
- os: windows-2019
|
||||||
|
version: stable-20210319
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: macos-latest
|
||||||
|
version: stable-20210809
|
||||||
|
- os: windows-2019
|
||||||
|
version: stable-20210809
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: cached
|
||||||
|
- os: macos-latest
|
||||||
|
version: cached
|
||||||
|
- os: windows-2019
|
||||||
|
version: cached
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: latest
|
||||||
|
- os: windows-2019
|
||||||
|
version: latest
|
||||||
|
- os: windows-2022
|
||||||
|
version: latest
|
||||||
|
- os: ubuntu-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: macos-latest
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-2019
|
||||||
|
version: nightly-latest
|
||||||
|
- os: windows-2022
|
||||||
|
version: nightly-latest
|
||||||
name: "Upload-sarif: 'ref' and 'sha' from inputs"
|
name: "Upload-sarif: 'ref' and 'sha' from inputs"
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
steps:
|
steps:
|
||||||
- name: Check out repository
|
- name: Check out repository
|
||||||
|
|||||||
@@ -20,6 +20,6 @@ jobs:
|
|||||||
run: |
|
run: |
|
||||||
bundle_version="$(cat "./src/defaults.json" | jq -r ".bundleVersion")"
|
bundle_version="$(cat "./src/defaults.json" | jq -r ".bundleVersion")"
|
||||||
set -x
|
set -x
|
||||||
for expected_file in "codeql-bundle.tar.gz" "codeql-bundle-linux64.tar.gz" "codeql-bundle-osx64.tar.gz" "codeql-bundle-win64.tar.gz" "codeql-runner-linux" "codeql-runner-macos" "codeql-runner-win.exe"; do
|
for expected_file in "codeql-bundle.tar.gz" "codeql-bundle-linux64.tar.gz" "codeql-bundle-osx64.tar.gz" "codeql-bundle-win64.tar.gz"; do
|
||||||
curl --location --fail --head --request GET "https://github.com/github/codeql-action/releases/download/$bundle_version/$expected_file" > /dev/null
|
curl --location --fail --head --request GET "https://github.com/github/codeql-action/releases/download/$bundle_version/$expected_file" > /dev/null
|
||||||
done
|
done
|
||||||
|
|||||||
16
.github/workflows/pr-checks.yml
vendored
16
.github/workflows/pr-checks.yml
vendored
@@ -13,6 +13,7 @@ jobs:
|
|||||||
lint-js:
|
lint-js:
|
||||||
name: Lint
|
name: Lint
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@@ -21,6 +22,7 @@ jobs:
|
|||||||
|
|
||||||
check-js:
|
check-js:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@@ -30,6 +32,7 @@ jobs:
|
|||||||
check-node-modules:
|
check-node-modules:
|
||||||
name: Check modules up to date
|
name: Check modules up to date
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@@ -39,6 +42,7 @@ jobs:
|
|||||||
verify-pr-checks:
|
verify-pr-checks:
|
||||||
name: Verify PR checks up to date
|
name: Verify PR checks up to date
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@@ -60,6 +64,7 @@ jobs:
|
|||||||
matrix:
|
matrix:
|
||||||
os: [ubuntu-latest, macos-latest]
|
os: [ubuntu-latest, macos-latest]
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@@ -69,6 +74,7 @@ jobs:
|
|||||||
runner-analyze-javascript-ubuntu:
|
runner-analyze-javascript-ubuntu:
|
||||||
name: Runner ubuntu JS analyze
|
name: Runner ubuntu JS analyze
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -97,6 +103,7 @@ jobs:
|
|||||||
runner-analyze-javascript-windows:
|
runner-analyze-javascript-windows:
|
||||||
name: Runner windows JS analyze
|
name: Runner windows JS analyze
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: windows-latest
|
runs-on: windows-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -121,6 +128,7 @@ jobs:
|
|||||||
runner-analyze-javascript-macos:
|
runner-analyze-javascript-macos:
|
||||||
name: Runner macos JS analyze
|
name: Runner macos JS analyze
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -145,6 +153,7 @@ jobs:
|
|||||||
runner-analyze-csharp-ubuntu:
|
runner-analyze-csharp-ubuntu:
|
||||||
name: Runner ubuntu C# analyze
|
name: Runner ubuntu C# analyze
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -184,6 +193,7 @@ jobs:
|
|||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
# Build tracing currently does not support Windows 2022, so use `windows-2019` instead of
|
# Build tracing currently does not support Windows 2022, so use `windows-2019` instead of
|
||||||
# `windows-latest`.
|
# `windows-latest`.
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: windows-2019
|
runs-on: windows-2019
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
@@ -228,6 +238,7 @@ jobs:
|
|||||||
|
|
||||||
runner-analyze-csharp-macos:
|
runner-analyze-csharp-macos:
|
||||||
name: Runner macos C# analyze
|
name: Runner macos C# analyze
|
||||||
|
timeout-minutes: 30
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
|
||||||
@@ -266,6 +277,7 @@ jobs:
|
|||||||
|
|
||||||
runner-analyze-csharp-autobuild-ubuntu:
|
runner-analyze-csharp-autobuild-ubuntu:
|
||||||
name: Runner ubuntu autobuild C# analyze
|
name: Runner ubuntu autobuild C# analyze
|
||||||
|
timeout-minutes: 30
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
|
||||||
@@ -301,6 +313,7 @@ jobs:
|
|||||||
TEST_MODE: true
|
TEST_MODE: true
|
||||||
|
|
||||||
runner-analyze-csharp-autobuild-windows:
|
runner-analyze-csharp-autobuild-windows:
|
||||||
|
timeout-minutes: 30
|
||||||
name: Runner windows autobuild C# analyze
|
name: Runner windows autobuild C# analyze
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
# Build tracing currently does not support Windows 2022, so use `windows-2019` instead of
|
# Build tracing currently does not support Windows 2022, so use `windows-2019` instead of
|
||||||
@@ -343,6 +356,7 @@ jobs:
|
|||||||
name: Runner macos autobuild C# analyze
|
name: Runner macos autobuild C# analyze
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
@@ -380,6 +394,7 @@ jobs:
|
|||||||
name: Runner upload sarif
|
name: Runner upload sarif
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id }}
|
if: ${{ github.event_name != 'pull_request' || github.event.pull_request.base.repo.id == github.event.pull_request.head.repo.id }}
|
||||||
|
|
||||||
@@ -402,6 +417,7 @@ jobs:
|
|||||||
name: Runner ubuntu extractor RAM and threads options
|
name: Runner ubuntu extractor RAM and threads options
|
||||||
needs: [check-js, check-node-modules]
|
needs: [check-js, check-node-modules]
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 30
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v2
|
- uses: actions/checkout@v2
|
||||||
|
|||||||
1
.github/workflows/python-deps.yml
vendored
1
.github/workflows/python-deps.yml
vendored
@@ -10,6 +10,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
test-setup-python-scripts:
|
test-setup-python-scripts:
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ${{ matrix.os }}
|
runs-on: ${{ matrix.os }}
|
||||||
strategy:
|
strategy:
|
||||||
fail-fast: false
|
fail-fast: false
|
||||||
|
|||||||
1
.github/workflows/release-runner.yml
vendored
1
.github/workflows/release-runner.yml
vendored
@@ -9,6 +9,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
release-runner:
|
release-runner:
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
env:
|
env:
|
||||||
RELEASE_TAG: "${{ github.event.inputs.bundle-tag }}"
|
RELEASE_TAG: "${{ github.event.inputs.bundle-tag }}"
|
||||||
|
|||||||
1
.github/workflows/split.yml
vendored
1
.github/workflows/split.yml
vendored
@@ -26,6 +26,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
|
timeout-minutes: 30
|
||||||
env:
|
env:
|
||||||
CLI_RELEASE: "${{ github.event.inputs.cli-release }}"
|
CLI_RELEASE: "${{ github.event.inputs.cli-release }}"
|
||||||
RELEASE_TAG: "${{ github.event.inputs.bundle-tag }}"
|
RELEASE_TAG: "${{ github.event.inputs.bundle-tag }}"
|
||||||
|
|||||||
1
.github/workflows/update-dependencies.yml
vendored
1
.github/workflows/update-dependencies.yml
vendored
@@ -6,6 +6,7 @@ on:
|
|||||||
jobs:
|
jobs:
|
||||||
update:
|
update:
|
||||||
name: Update dependencies
|
name: Update dependencies
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: macos-latest
|
runs-on: macos-latest
|
||||||
if: contains(github.event.pull_request.labels.*.name, 'Update dependencies') && (github.event.pull_request.head.repo.full_name == 'github/codeql-action')
|
if: contains(github.event.pull_request.labels.*.name, 'Update dependencies') && (github.event.pull_request.head.repo.full_name == 'github/codeql-action')
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
1
.github/workflows/update-release-branch.yml
vendored
1
.github/workflows/update-release-branch.yml
vendored
@@ -9,6 +9,7 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update:
|
update:
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: ${{ github.repository == 'github/codeql-action' }}
|
if: ${{ github.repository == 'github/codeql-action' }}
|
||||||
steps:
|
steps:
|
||||||
|
|||||||
@@ -6,6 +6,8 @@ on:
|
|||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
update-supported-enterprise-server-versions:
|
update-supported-enterprise-server-versions:
|
||||||
|
name: Update Supported Enterprise Server Versions
|
||||||
|
timeout-minutes: 30
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
if: ${{ github.repository == 'github/codeql-action' }}
|
if: ${{ github.repository == 'github/codeql-action' }}
|
||||||
|
|
||||||
|
|||||||
23
CHANGELOG.md
23
CHANGELOG.md
@@ -1,4 +1,25 @@
|
|||||||
# CodeQL Action and CodeQL Runner Changelog
|
# CodeQL Action Changelog
|
||||||
|
|
||||||
|
## 1.1.5 - 15 Mar 2022
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.8.3.
|
||||||
|
- The CodeQL runner is now deprecated and no longer being released. For more information, see [CodeQL runner deprecation](https://github.blog/changelog/2021-09-21-codeql-runner-deprecation/).
|
||||||
|
- Fix two bugs that cause action failures with GHES 3.3 or earlier. [#978](https://github.com/github/codeql-action/pull/978)
|
||||||
|
- Fix `not a permitted key` invalid requests with GHES 3.1 or earlier
|
||||||
|
- Fix `RUNNER_ARCH environment variable must be set` errors with GHES 3.3 or earlier
|
||||||
|
|
||||||
|
## 1.1.4 - 07 Mar 2022
|
||||||
|
|
||||||
|
- Update default CodeQL bundle version to 2.8.2. [#950](https://github.com/github/codeql-action/pull/950)
|
||||||
|
- Fix a bug where old results can be uploaded if the languages in a repository change when using a non-ephemeral self-hosted runner. [#955](https://github.com/github/codeql-action/pull/955)
|
||||||
|
|
||||||
|
## 1.1.3 - 23 Feb 2022
|
||||||
|
|
||||||
|
- Fix bug where the CLR traces can continue tracing even after tracing should be stopped. [#938](https://github.com/github/codeql-action/pull/938)
|
||||||
|
|
||||||
|
## 1.1.2 - 17 Feb 2022
|
||||||
|
|
||||||
|
- Due to potential issues for GHES 3.1–3.3 customers who are using recent versions of the CodeQL Action via GHES Connect, the CodeQL Action now uses Node.js v12 rather than Node.js v16. [#937](https://github.com/github/codeql-action/pull/937)
|
||||||
|
|
||||||
## 1.1.1 - 17 Feb 2022
|
## 1.1.1 - 17 Feb 2022
|
||||||
|
|
||||||
|
|||||||
@@ -72,6 +72,25 @@ Here are a few things you can do that will increase the likelihood of your pull
|
|||||||
|
|
||||||
Approve the mergeback PR and automerge it. Once the mergeback has been merged into main, the release is complete.
|
Approve the mergeback PR and automerge it. Once the mergeback has been merged into main, the release is complete.
|
||||||
|
|
||||||
|
## Keeping the PR checks up to date (admin access required)
|
||||||
|
|
||||||
|
Since the `codeql-action` runs most of its testing through individual Actions workflows, there are over two hundred jobs that need to pass in order for a PR to turn green. Managing these PR checks manually is time consuming and complex. Here is a semi-automated approach.
|
||||||
|
|
||||||
|
To regenerate the PR jobs for the action:
|
||||||
|
|
||||||
|
1. From a terminal, run the following commands (replace `SHA` with the sha of the commit whose checks you want to use, typically this should be the latest from `main`):
|
||||||
|
|
||||||
|
```sh
|
||||||
|
SHA= ####
|
||||||
|
CHECKS="$(gh api repos/github/codeql-action/commits/${SHA}/check-runs --paginate | jq --slurp --compact-output --raw-output '[.[].check_runs | .[].name | select(contains("https://") or . == "CodeQL" or . == "LGTM.com" or . == "Update dependencies" or . == "Update Supported Enterprise Server Versions" | not)]')"
|
||||||
|
echo "{\"contexts\": ${CHECKS}}" > checks.json
|
||||||
|
gh api -X "PATCH" repos/github/codeql-action/branches/main/protection/required_status_checks --input checks.json
|
||||||
|
gh api -X "PATCH" repos/github/codeql-action/branches/v1/protection/required_status_checks --input checks.json
|
||||||
|
````
|
||||||
|
|
||||||
|
2. Go to the [branch protection rules settings page](https://github.com/github/codeql-action/settings/branches) and validate that the rules have been updated.
|
||||||
|
|
||||||
|
|
||||||
## Resources
|
## Resources
|
||||||
|
|
||||||
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
|
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
|
||||||
|
|||||||
@@ -146,4 +146,4 @@ The very first time code scanning is run and if it is on a pull request, you wil
|
|||||||
|
|
||||||
After code scanning has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the merge commit of the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows code scanning to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add code scanning to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the "Missing analysis for base commit SHA-HASH" message.
|
After code scanning has analyzed the code in a pull request, it needs to compare the analysis of the topic branch (the merge commit of the branch you used to create the pull request) with the analysis of the base branch (the branch into which you want to merge the pull request). This allows code scanning to compute which alerts are newly introduced by the pull request, which alerts were already present in the base branch, and whether any existing alerts are fixed by the changes in the pull request. Initially, if you use a pull request to add code scanning to a repository, the base branch has not yet been analyzed, so it's not possible to compute these details. In this case, when you click through from the results check on the pull request you will see the "Missing analysis for base commit SHA-HASH" message.
|
||||||
|
|
||||||
For more information and other causes of this message, see [Reasons for the "missing analysis" message](https://docs.github.com/en/code-security/secure-coding/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#reasons-for-the-missing-analysis-message)
|
For more information and other causes of this message, see [Reasons for the "Analysis not found" message](https://docs.github.com/en/code-security/code-scanning/automatically-scanning-your-code-for-vulnerabilities-and-errors/setting-up-code-scanning-for-a-repository#reasons-for-the-analysis-not-found-message)
|
||||||
|
|||||||
@@ -72,5 +72,5 @@ outputs:
|
|||||||
sarif-id:
|
sarif-id:
|
||||||
description: The ID of the uploaded SARIF file.
|
description: The ID of the uploaded SARIF file.
|
||||||
runs:
|
runs:
|
||||||
using: "node16"
|
using: "node12"
|
||||||
main: "../lib/analyze-action.js"
|
main: "../lib/analyze-action.js"
|
||||||
|
|||||||
@@ -7,5 +7,5 @@ inputs:
|
|||||||
matrix:
|
matrix:
|
||||||
default: ${{ toJson(matrix) }}
|
default: ${{ toJson(matrix) }}
|
||||||
runs:
|
runs:
|
||||||
using: 'node16'
|
using: 'node12'
|
||||||
main: '../lib/autobuild-action.js'
|
main: '../lib/autobuild-action.js'
|
||||||
@@ -73,5 +73,5 @@ 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: 'node16'
|
using: 'node12'
|
||||||
main: '../lib/init-action.js'
|
main: '../lib/init-action.js'
|
||||||
|
|||||||
34
lib/actions-util.js
generated
34
lib/actions-util.js
generated
@@ -19,8 +19,9 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.sanitizeArifactName = exports.isAnalyzingDefaultBranch = exports.getRelativeScriptPath = exports.isRunningLocalAction = exports.sendStatusReport = exports.createStatusReportBase = exports.getRef = exports.computeAutomationID = exports.getAutomationID = exports.getAnalysisKey = exports.getWorkflowRunID = exports.getWorkflow = exports.formatWorkflowCause = exports.formatWorkflowErrors = exports.validateWorkflow = exports.getWorkflowErrors = exports.WorkflowErrors = exports.patternIsSuperset = exports.determineMergeBaseCommitOid = exports.getCommitOid = exports.getToolCacheDirectory = exports.getTemporaryDirectory = exports.getOptionalInput = exports.getRequiredInput = void 0;
|
exports.sanitizeArifactName = exports.isAnalyzingDefaultBranch = exports.getRelativeScriptPath = exports.isRunningLocalAction = exports.sendStatusReport = exports.createStatusReportBase = exports.getActionsStatus = exports.getRef = exports.computeAutomationID = exports.getAutomationID = exports.getAnalysisKey = exports.getWorkflowRunID = exports.getWorkflow = exports.formatWorkflowCause = exports.formatWorkflowErrors = exports.validateWorkflow = exports.getWorkflowErrors = exports.WorkflowErrors = exports.patternIsSuperset = exports.determineMergeBaseCommitOid = exports.getCommitOid = exports.getToolCacheDirectory = exports.getTemporaryDirectory = exports.getOptionalInput = exports.getRequiredInput = void 0;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
|
const os = __importStar(require("os"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
|
const toolrunner = __importStar(require("@actions/exec/lib/toolrunner"));
|
||||||
@@ -464,6 +465,15 @@ async function getRef() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.getRef = getRef;
|
exports.getRef = getRef;
|
||||||
|
function getActionsStatus(error, otherFailureCause) {
|
||||||
|
if (error || otherFailureCause) {
|
||||||
|
return error instanceof util_1.UserError ? "user-error" : "failure";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
return "success";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.getActionsStatus = getActionsStatus;
|
||||||
/**
|
/**
|
||||||
* Compose a StatusReport.
|
* Compose a StatusReport.
|
||||||
*
|
*
|
||||||
@@ -489,6 +499,7 @@ async function createStatusReportBase(actionName, status, actionStartedAt, cause
|
|||||||
workflowStartedAt = actionStartedAt.toISOString();
|
workflowStartedAt = actionStartedAt.toISOString();
|
||||||
core.exportVariable(sharedEnv.CODEQL_WORKFLOW_STARTED_AT, workflowStartedAt);
|
core.exportVariable(sharedEnv.CODEQL_WORKFLOW_STARTED_AT, workflowStartedAt);
|
||||||
}
|
}
|
||||||
|
const runnerOs = (0, util_1.getRequiredEnvParam)("RUNNER_OS");
|
||||||
// If running locally then the GITHUB_ACTION_REF cannot be trusted as it may be for the previous action
|
// If running locally then the GITHUB_ACTION_REF cannot be trusted as it may be for the previous action
|
||||||
// See https://github.com/actions/runner/issues/803
|
// See https://github.com/actions/runner/issues/803
|
||||||
const actionRef = isRunningLocalAction()
|
const actionRef = isRunningLocalAction()
|
||||||
@@ -507,6 +518,7 @@ async function createStatusReportBase(actionName, status, actionStartedAt, cause
|
|||||||
started_at: workflowStartedAt,
|
started_at: workflowStartedAt,
|
||||||
action_started_at: actionStartedAt.toISOString(),
|
action_started_at: actionStartedAt.toISOString(),
|
||||||
status,
|
status,
|
||||||
|
runner_os: runnerOs,
|
||||||
};
|
};
|
||||||
// Add optional parameters
|
// Add optional parameters
|
||||||
if (cause) {
|
if (cause) {
|
||||||
@@ -515,13 +527,24 @@ async function createStatusReportBase(actionName, status, actionStartedAt, cause
|
|||||||
if (exception) {
|
if (exception) {
|
||||||
statusReport.exception = exception;
|
statusReport.exception = exception;
|
||||||
}
|
}
|
||||||
if (status === "success" || status === "failure" || status === "aborted") {
|
if (status === "success" ||
|
||||||
|
status === "failure" ||
|
||||||
|
status === "aborted" ||
|
||||||
|
status === "user-error") {
|
||||||
statusReport.completed_at = new Date().toISOString();
|
statusReport.completed_at = new Date().toISOString();
|
||||||
}
|
}
|
||||||
const matrix = getRequiredInput("matrix");
|
const matrix = getRequiredInput("matrix");
|
||||||
if (matrix) {
|
if (matrix) {
|
||||||
statusReport.matrix_vars = matrix;
|
statusReport.matrix_vars = matrix;
|
||||||
}
|
}
|
||||||
|
if ("RUNNER_ARCH" in process.env) {
|
||||||
|
// RUNNER_ARCH is available only in GHES 3.4 and later
|
||||||
|
// Values other than X86, X64, ARM, or ARM64 are discarded server side
|
||||||
|
statusReport.runner_arch = process.env["RUNNER_ARCH"];
|
||||||
|
}
|
||||||
|
if (runnerOs === "Windows" || runnerOs === "macOS") {
|
||||||
|
statusReport.runner_os_release = os.release();
|
||||||
|
}
|
||||||
return statusReport;
|
return statusReport;
|
||||||
}
|
}
|
||||||
exports.createStatusReportBase = createStatusReportBase;
|
exports.createStatusReportBase = createStatusReportBase;
|
||||||
@@ -539,6 +562,13 @@ const INCOMPATIBLE_MSG = "CodeQL Action version is incompatible with the code sc
|
|||||||
* Returns whether sending the status report was successful of not.
|
* Returns whether sending the status report was successful of not.
|
||||||
*/
|
*/
|
||||||
async function sendStatusReport(statusReport) {
|
async function sendStatusReport(statusReport) {
|
||||||
|
const gitHubVersion = await api.getGitHubVersionActionsOnly();
|
||||||
|
if ((0, util_1.isGitHubGhesVersionBelow)(gitHubVersion, "3.2.0")) {
|
||||||
|
// GHES 3.1 and earlier versions reject unexpected properties, which means
|
||||||
|
// that they will reject status reports with newly added properties.
|
||||||
|
// Inhibiting status reporting for GHES < 3.2 avoids such failures.
|
||||||
|
return true;
|
||||||
|
}
|
||||||
const statusReportJSON = JSON.stringify(statusReport);
|
const statusReportJSON = JSON.stringify(statusReport);
|
||||||
core.debug(`Sending status report: ${statusReportJSON}`);
|
core.debug(`Sending status report: ${statusReportJSON}`);
|
||||||
// If in test mode we don't want to upload the results
|
// If in test mode we don't want to upload the results
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
4
lib/analyze-action.js
generated
4
lib/analyze-action.js
generated
@@ -37,9 +37,7 @@ const util_1 = require("./util");
|
|||||||
// eslint-disable-next-line import/no-commonjs
|
// eslint-disable-next-line import/no-commonjs
|
||||||
const pkg = require("../package.json");
|
const pkg = require("../package.json");
|
||||||
async function sendStatusReport(startedAt, config, stats, error) {
|
async function sendStatusReport(startedAt, config, stats, error) {
|
||||||
const status = (stats === null || stats === void 0 ? void 0 : stats.analyze_failure_language) !== undefined || error !== undefined
|
const status = actionsUtil.getActionsStatus(error, stats === null || stats === void 0 ? void 0 : stats.analyze_failure_language);
|
||||||
? "failure"
|
|
||||||
: "success";
|
|
||||||
const statusReportBase = await actionsUtil.createStatusReportBase("finish", status, startedAt, error === null || error === void 0 ? void 0 : error.message, error === null || error === void 0 ? void 0 : error.stack);
|
const statusReportBase = await actionsUtil.createStatusReportBase("finish", status, startedAt, error === null || error === void 0 ? void 0 : error.message, error === null || error === void 0 ? void 0 : error.stack);
|
||||||
const statusReport = {
|
const statusReport = {
|
||||||
...statusReportBase,
|
...statusReportBase,
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
23
lib/analyze.js
generated
23
lib/analyze.js
generated
@@ -29,6 +29,7 @@ const codeql_1 = require("./codeql");
|
|||||||
const count_loc_1 = require("./count-loc");
|
const count_loc_1 = require("./count-loc");
|
||||||
const languages_1 = require("./languages");
|
const languages_1 = require("./languages");
|
||||||
const sharedEnv = __importStar(require("./shared-environment"));
|
const sharedEnv = __importStar(require("./shared-environment"));
|
||||||
|
const tracer_config_1 = require("./tracer-config");
|
||||||
const util = __importStar(require("./util"));
|
const util = __importStar(require("./util"));
|
||||||
class CodeQLAnalysisError extends Error {
|
class CodeQLAnalysisError extends Error {
|
||||||
constructor(queriesStatusReport, message) {
|
constructor(queriesStatusReport, message) {
|
||||||
@@ -232,9 +233,29 @@ function packWithVersionToQuerySuiteEntry(pack) {
|
|||||||
return text;
|
return text;
|
||||||
}
|
}
|
||||||
async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger) {
|
async function runFinalize(outputDir, threadsFlag, memoryFlag, config, logger) {
|
||||||
|
const codeql = await (0, codeql_1.getCodeQL)(config.codeQLCmd);
|
||||||
|
if (await util.codeQlVersionAbove(codeql, codeql_1.CODEQL_VERSION_NEW_TRACING)) {
|
||||||
|
// Delete variables as specified by the end-tracing script
|
||||||
|
await (0, tracer_config_1.endTracingForCluster)(config);
|
||||||
|
}
|
||||||
|
else {
|
||||||
// Delete the tracer config env var to avoid tracing ourselves
|
// Delete the tracer config env var to avoid tracing ourselves
|
||||||
delete process.env[sharedEnv.ODASA_TRACER_CONFIGURATION];
|
delete process.env[sharedEnv.ODASA_TRACER_CONFIGURATION];
|
||||||
fs.mkdirSync(outputDir, { recursive: true });
|
}
|
||||||
|
// After switching to Node16, this entire block can be replaced with `await fs.promises.rm(outputDir, { recursive: true, force: true });`.
|
||||||
|
try {
|
||||||
|
await fs.promises.rmdir(outputDir, {
|
||||||
|
recursive: true,
|
||||||
|
maxRetries: 5,
|
||||||
|
retryDelay: 2000,
|
||||||
|
});
|
||||||
|
}
|
||||||
|
catch (error) {
|
||||||
|
if ((error === null || error === void 0 ? void 0 : error.code) !== "ENOENT") {
|
||||||
|
throw error;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
await fs.promises.mkdir(outputDir, { recursive: true });
|
||||||
await finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger);
|
await finalizeDatabaseCreation(config, threadsFlag, memoryFlag, logger);
|
||||||
}
|
}
|
||||||
exports.runFinalize = runFinalize;
|
exports.runFinalize = runFinalize;
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
34
lib/api-client.js
generated
34
lib/api-client.js
generated
@@ -22,12 +22,13 @@ 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.getActionsApiClient = exports.getApiClient = exports.DisallowedAPIVersionReason = void 0;
|
exports.getGitHubVersionActionsOnly = exports.getActionsApiClient = exports.getApiClient = exports.DisallowedAPIVersionReason = void 0;
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const githubUtils = __importStar(require("@actions/github/lib/utils"));
|
const githubUtils = __importStar(require("@actions/github/lib/utils"));
|
||||||
const retry = __importStar(require("@octokit/plugin-retry"));
|
const retry = __importStar(require("@octokit/plugin-retry"));
|
||||||
const console_log_level_1 = __importDefault(require("console-log-level"));
|
const console_log_level_1 = __importDefault(require("console-log-level"));
|
||||||
const actions_util_1 = require("./actions-util");
|
const actions_util_1 = require("./actions-util");
|
||||||
|
const util = __importStar(require("./util"));
|
||||||
const util_1 = require("./util");
|
const util_1 = require("./util");
|
||||||
// eslint-disable-next-line import/no-commonjs
|
// eslint-disable-next-line import/no-commonjs
|
||||||
const pkg = require("../package.json");
|
const pkg = require("../package.json");
|
||||||
@@ -57,15 +58,36 @@ function getApiUrl(githubUrl) {
|
|||||||
url.pathname = path.join(url.pathname, "api", "v3");
|
url.pathname = path.join(url.pathname, "api", "v3");
|
||||||
return url.toString();
|
return url.toString();
|
||||||
}
|
}
|
||||||
|
function getApiDetails() {
|
||||||
|
return {
|
||||||
|
auth: (0, actions_util_1.getRequiredInput)("token"),
|
||||||
|
url: (0, util_1.getRequiredEnvParam)("GITHUB_SERVER_URL"),
|
||||||
|
};
|
||||||
|
}
|
||||||
// Temporary function to aid in the transition to running on and off of github actions.
|
// Temporary function to aid in the transition to running on and off of github actions.
|
||||||
// Once all code has been converted this function should be removed or made canonical
|
// Once all code has been converted this function should be removed or made canonical
|
||||||
// and called only from the action entrypoints.
|
// and called only from the action entrypoints.
|
||||||
function getActionsApiClient() {
|
function getActionsApiClient() {
|
||||||
const apiDetails = {
|
return (0, exports.getApiClient)(getApiDetails());
|
||||||
auth: (0, actions_util_1.getRequiredInput)("token"),
|
|
||||||
url: (0, util_1.getRequiredEnvParam)("GITHUB_SERVER_URL"),
|
|
||||||
};
|
|
||||||
return (0, exports.getApiClient)(apiDetails);
|
|
||||||
}
|
}
|
||||||
exports.getActionsApiClient = getActionsApiClient;
|
exports.getActionsApiClient = getActionsApiClient;
|
||||||
|
let cachedGitHubVersion = undefined;
|
||||||
|
/**
|
||||||
|
* Report the GitHub server version. This is a wrapper around
|
||||||
|
* util.getGitHubVersion() that automatically supplies GitHub API details using
|
||||||
|
* GitHub Action inputs. If you need to get the GitHub server version from the
|
||||||
|
* Runner, please call util.getGitHubVersion() instead.
|
||||||
|
*
|
||||||
|
* @returns GitHub version
|
||||||
|
*/
|
||||||
|
async function getGitHubVersionActionsOnly() {
|
||||||
|
if (!util.isActions) {
|
||||||
|
throw new Error("This getGitHubVersion() function works only in an action");
|
||||||
|
}
|
||||||
|
if (cachedGitHubVersion === undefined) {
|
||||||
|
cachedGitHubVersion = await util.getGitHubVersion(getApiDetails());
|
||||||
|
}
|
||||||
|
return cachedGitHubVersion;
|
||||||
|
}
|
||||||
|
exports.getGitHubVersionActionsOnly = getGitHubVersionActionsOnly;
|
||||||
//# sourceMappingURL=api-client.js.map
|
//# sourceMappingURL=api-client.js.map
|
||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,uEAAyD;AACzD,6DAA+C;AAC/C,0EAAgD;AAEhD,iDAAkD;AAClD,iCAAsD;AAEtD,8CAA8C;AAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,+FAAc,CAAA;IACd,+FAAc,CAAA;AAChB,CAAC,EAHW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAGrC;AAeM,MAAM,YAAY,GAAG,UAC1B,UAAoC,EACpC,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,EAAE;IAE9B,MAAM,IAAI,GACR,CAAC,aAAa,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;IACpE,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO,IAAI,eAAe,CACxB,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE;QAClC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAClC,SAAS,EAAE,UAAU,IAAA,cAAO,GAAE,IAAI,GAAG,CAAC,OAAO,EAAE;QAC/C,GAAG,EAAE,IAAA,2BAAe,EAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;KACzC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB;AAEF,SAAS,SAAS,CAAC,SAAiB;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAE/B,uDAAuD;IACvD,0CAA0C;IAC1C,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,EAAE;QACtE,OAAO,wBAAwB,CAAC;KACjC;IAED,6BAA6B;IAC7B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,uFAAuF;AACvF,qFAAqF;AACrF,+CAA+C;AAC/C,SAAgB,mBAAmB;IACjC,MAAM,UAAU,GAAG;QACjB,IAAI,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC;QAC/B,GAAG,EAAE,IAAA,0BAAmB,EAAC,mBAAmB,CAAC;KAC9C,CAAC;IAEF,OAAO,IAAA,oBAAY,EAAC,UAAU,CAAC,CAAC;AAClC,CAAC;AAPD,kDAOC"}
|
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA6B;AAE7B,uEAAyD;AACzD,6DAA+C;AAC/C,0EAAgD;AAEhD,iDAAkD;AAClD,6CAA+B;AAC/B,iCAAqE;AAErE,8CAA8C;AAC9C,MAAM,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;AAEvC,IAAY,0BAGX;AAHD,WAAY,0BAA0B;IACpC,+FAAc,CAAA;IACd,+FAAc,CAAA;AAChB,CAAC,EAHW,0BAA0B,GAA1B,kCAA0B,KAA1B,kCAA0B,QAGrC;AAeM,MAAM,YAAY,GAAG,UAC1B,UAAoC,EACpC,EAAE,aAAa,GAAG,KAAK,EAAE,GAAG,EAAE;IAE9B,MAAM,IAAI,GACR,CAAC,aAAa,IAAI,UAAU,CAAC,gBAAgB,CAAC,IAAI,UAAU,CAAC,IAAI,CAAC;IACpE,MAAM,eAAe,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;IAC/D,OAAO,IAAI,eAAe,CACxB,WAAW,CAAC,iBAAiB,CAAC,IAAI,EAAE;QAClC,OAAO,EAAE,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAClC,SAAS,EAAE,UAAU,IAAA,cAAO,GAAE,IAAI,GAAG,CAAC,OAAO,EAAE;QAC/C,GAAG,EAAE,IAAA,2BAAe,EAAC,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;KACzC,CAAC,CACH,CAAC;AACJ,CAAC,CAAC;AAdW,QAAA,YAAY,gBAcvB;AAEF,SAAS,SAAS,CAAC,SAAiB;IAClC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,CAAC;IAE/B,uDAAuD;IACvD,0CAA0C;IAC1C,IAAI,GAAG,CAAC,QAAQ,KAAK,YAAY,IAAI,GAAG,CAAC,QAAQ,KAAK,gBAAgB,EAAE;QACtE,OAAO,wBAAwB,CAAC;KACjC;IAED,6BAA6B;IAC7B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACpD,OAAO,GAAG,CAAC,QAAQ,EAAE,CAAC;AACxB,CAAC;AAED,SAAS,aAAa;IACpB,OAAO;QACL,IAAI,EAAE,IAAA,+BAAgB,EAAC,OAAO,CAAC;QAC/B,GAAG,EAAE,IAAA,0BAAmB,EAAC,mBAAmB,CAAC;KAC9C,CAAC;AACJ,CAAC;AAED,uFAAuF;AACvF,qFAAqF;AACrF,+CAA+C;AAC/C,SAAgB,mBAAmB;IACjC,OAAO,IAAA,oBAAY,EAAC,aAAa,EAAE,CAAC,CAAC;AACvC,CAAC;AAFD,kDAEC;AAED,IAAI,mBAAmB,GAA8B,SAAS,CAAC;AAE/D;;;;;;;GAOG;AACI,KAAK,UAAU,2BAA2B;IAC/C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE;QACnB,MAAM,IAAI,KAAK,CAAC,0DAA0D,CAAC,CAAC;KAC7E;IACD,IAAI,mBAAmB,KAAK,SAAS,EAAE;QACrC,mBAAmB,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,CAAC,CAAC;KACpE;IACD,OAAO,mBAAmB,CAAC;AAC7B,CAAC;AARD,kEAQC"}
|
||||||
4
lib/autobuild-action.js
generated
4
lib/autobuild-action.js
generated
@@ -29,9 +29,7 @@ const util_1 = require("./util");
|
|||||||
const pkg = require("../package.json");
|
const pkg = require("../package.json");
|
||||||
async function sendCompletedStatusReport(startedAt, allLanguages, failingLanguage, cause) {
|
async function sendCompletedStatusReport(startedAt, allLanguages, failingLanguage, cause) {
|
||||||
(0, util_1.initializeEnvironment)(util_1.Mode.actions, pkg.version);
|
(0, util_1.initializeEnvironment)(util_1.Mode.actions, pkg.version);
|
||||||
const status = failingLanguage !== undefined || cause !== undefined
|
const status = (0, actions_util_1.getActionsStatus)(cause, failingLanguage);
|
||||||
? "failure"
|
|
||||||
: "success";
|
|
||||||
const statusReportBase = await (0, actions_util_1.createStatusReportBase)("autobuild", status, startedAt, cause === null || cause === void 0 ? void 0 : cause.message, cause === null || cause === void 0 ? void 0 : cause.stack);
|
const statusReportBase = await (0, actions_util_1.createStatusReportBase)("autobuild", status, startedAt, cause === null || cause === void 0 ? void 0 : cause.message, cause === null || cause === void 0 ? void 0 : cause.stack);
|
||||||
const statusReport = {
|
const statusReport = {
|
||||||
...statusReportBase,
|
...statusReportBase,
|
||||||
|
|||||||
@@ -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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"}
|
||||||
2
lib/codeql.js
generated
2
lib/codeql.js
generated
@@ -76,7 +76,7 @@ const CODEQL_VERSION_GROUP_RULES = "2.5.5";
|
|||||||
const CODEQL_VERSION_SARIF_GROUP = "2.5.3";
|
const CODEQL_VERSION_SARIF_GROUP = "2.5.3";
|
||||||
exports.CODEQL_VERSION_COUNTS_LINES = "2.6.2";
|
exports.CODEQL_VERSION_COUNTS_LINES = "2.6.2";
|
||||||
const CODEQL_VERSION_CUSTOM_QUERY_HELP = "2.7.1";
|
const CODEQL_VERSION_CUSTOM_QUERY_HELP = "2.7.1";
|
||||||
const CODEQL_VERSION_CONFIG_FILES = "2.7.3";
|
const CODEQL_VERSION_CONFIG_FILES = "2.8.2"; // Versions before 2.8.2 weren't tolerant to unknown properties
|
||||||
exports.CODEQL_VERSION_ML_POWERED_QUERIES = "2.7.5";
|
exports.CODEQL_VERSION_ML_POWERED_QUERIES = "2.7.5";
|
||||||
/**
|
/**
|
||||||
* This variable controls using the new style of tracing from the CodeQL
|
* This variable controls using the new style of tracing from the CodeQL
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
4
lib/config-utils.test.js
generated
4
lib/config-utils.test.js
generated
@@ -914,7 +914,7 @@ const mlPoweredQueriesMacro = ava_1.default.macro({
|
|||||||
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.4", true, undefined, "security-extended", undefined);
|
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.4", true, undefined, "security-extended", undefined);
|
||||||
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", false, undefined, "security-extended", undefined);
|
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", false, undefined, "security-extended", undefined);
|
||||||
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", true, undefined, undefined, undefined);
|
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", true, undefined, undefined, undefined);
|
||||||
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", true, undefined, "security-extended", "~0.0.2");
|
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", true, undefined, "security-extended", "~0.1.0");
|
||||||
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", true, undefined, "security-and-quality", "~0.0.2");
|
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", true, undefined, "security-and-quality", "~0.1.0");
|
||||||
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", true, "codeql/javascript-experimental-atm-queries@0.0.1", "security-and-quality", "0.0.1");
|
(0, ava_1.default)(mlPoweredQueriesMacro, "2.7.5", true, "codeql/javascript-experimental-atm-queries@0.0.1", "security-and-quality", "0.0.1");
|
||||||
//# sourceMappingURL=config-utils.test.js.map
|
//# sourceMappingURL=config-utils.test.js.map
|
||||||
@@ -1,3 +1,3 @@
|
|||||||
{
|
{
|
||||||
"bundleVersion": "codeql-bundle-20220214"
|
"bundleVersion": "codeql-bundle-20220311"
|
||||||
}
|
}
|
||||||
|
|||||||
9
lib/init-action.js
generated
9
lib/init-action.js
generated
@@ -22,6 +22,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const actions_util_1 = require("./actions-util");
|
const actions_util_1 = require("./actions-util");
|
||||||
|
const api_client_1 = require("./api-client");
|
||||||
const codeql_1 = require("./codeql");
|
const codeql_1 = require("./codeql");
|
||||||
const feature_flags_1 = require("./feature-flags");
|
const feature_flags_1 = require("./feature-flags");
|
||||||
const init_1 = require("./init");
|
const init_1 = require("./init");
|
||||||
@@ -78,7 +79,7 @@ async function run() {
|
|||||||
externalRepoAuth: (0, actions_util_1.getOptionalInput)("external-repository-token"),
|
externalRepoAuth: (0, actions_util_1.getOptionalInput)("external-repository-token"),
|
||||||
url: (0, util_1.getRequiredEnvParam)("GITHUB_SERVER_URL"),
|
url: (0, util_1.getRequiredEnvParam)("GITHUB_SERVER_URL"),
|
||||||
};
|
};
|
||||||
const gitHubVersion = await (0, util_1.getGitHubVersion)(apiDetails);
|
const gitHubVersion = await (0, api_client_1.getGitHubVersionActionsOnly)();
|
||||||
(0, util_1.checkGitHubVersionInRange)(gitHubVersion, logger, util_1.Mode.actions);
|
(0, util_1.checkGitHubVersionInRange)(gitHubVersion, logger, util_1.Mode.actions);
|
||||||
const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY"));
|
const repositoryNwo = (0, repository_1.parseRepositoryNwo)((0, util_1.getRequiredEnvParam)("GITHUB_REPOSITORY"));
|
||||||
const featureFlags = new feature_flags_1.GitHubFeatureFlags(gitHubVersion, apiDetails, repositoryNwo, logger);
|
const featureFlags = new feature_flags_1.GitHubFeatureFlags(gitHubVersion, apiDetails, repositoryNwo, logger);
|
||||||
@@ -92,10 +93,6 @@ async function run() {
|
|||||||
toolsVersion = initCodeQLResult.toolsVersion;
|
toolsVersion = initCodeQLResult.toolsVersion;
|
||||||
await (0, util_1.enrichEnvironment)(util_1.Mode.actions, codeql);
|
await (0, util_1.enrichEnvironment)(util_1.Mode.actions, codeql);
|
||||||
config = await (0, init_1.initConfig)((0, actions_util_1.getOptionalInput)("languages"), (0, actions_util_1.getOptionalInput)("queries"), (0, actions_util_1.getOptionalInput)("packs"), (0, actions_util_1.getOptionalInput)("config-file"), (0, actions_util_1.getOptionalInput)("db-location"), (0, actions_util_1.getOptionalInput)("debug") === "true", (0, actions_util_1.getOptionalInput)("debug-artifact-name") || util_1.DEFAULT_DEBUG_ARTIFACT_NAME, (0, actions_util_1.getOptionalInput)("debug-database-name") || util_1.DEFAULT_DEBUG_DATABASE_NAME, repositoryNwo, (0, actions_util_1.getTemporaryDirectory)(), (0, util_1.getRequiredEnvParam)("RUNNER_TOOL_CACHE"), codeql, (0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE"), gitHubVersion, apiDetails, featureFlags, logger);
|
config = await (0, init_1.initConfig)((0, actions_util_1.getOptionalInput)("languages"), (0, actions_util_1.getOptionalInput)("queries"), (0, actions_util_1.getOptionalInput)("packs"), (0, actions_util_1.getOptionalInput)("config-file"), (0, actions_util_1.getOptionalInput)("db-location"), (0, actions_util_1.getOptionalInput)("debug") === "true", (0, actions_util_1.getOptionalInput)("debug-artifact-name") || util_1.DEFAULT_DEBUG_ARTIFACT_NAME, (0, actions_util_1.getOptionalInput)("debug-database-name") || util_1.DEFAULT_DEBUG_DATABASE_NAME, repositoryNwo, (0, actions_util_1.getTemporaryDirectory)(), (0, util_1.getRequiredEnvParam)("RUNNER_TOOL_CACHE"), codeql, (0, util_1.getRequiredEnvParam)("GITHUB_WORKSPACE"), gitHubVersion, apiDetails, featureFlags, logger);
|
||||||
if (config.languages.some(languages_1.isTracedLanguage)) {
|
|
||||||
// We currently do not support tracing on Windows 11 and Windows Server 2022
|
|
||||||
(0, util_1.checkNotWindows11)();
|
|
||||||
}
|
|
||||||
if (config.languages.includes(languages_1.Language.python) &&
|
if (config.languages.includes(languages_1.Language.python) &&
|
||||||
(0, actions_util_1.getRequiredInput)("setup-python-dependencies") === "true") {
|
(0, actions_util_1.getRequiredInput)("setup-python-dependencies") === "true") {
|
||||||
try {
|
try {
|
||||||
@@ -145,7 +142,7 @@ async function run() {
|
|||||||
catch (error) {
|
catch (error) {
|
||||||
core.setFailed(String(error));
|
core.setFailed(String(error));
|
||||||
console.log(error);
|
console.log(error);
|
||||||
await (0, actions_util_1.sendStatusReport)(await (0, actions_util_1.createStatusReportBase)("init", "failure", startedAt, String(error), error instanceof Error ? error.stack : undefined));
|
await (0, actions_util_1.sendStatusReport)(await (0, actions_util_1.createStatusReportBase)("init", (0, actions_util_1.getActionsStatus)(error), startedAt, String(error), error instanceof Error ? error.stack : undefined));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await sendSuccessStatusReport(startedAt, config, toolsVersion);
|
await sendSuccessStatusReport(startedAt, config, toolsVersion);
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
8
lib/init.js
generated
8
lib/init.js
generated
@@ -47,7 +47,7 @@ async function initConfig(languagesInput, queriesInput, packsInput, configFile,
|
|||||||
}
|
}
|
||||||
exports.initConfig = initConfig;
|
exports.initConfig = initConfig;
|
||||||
async function runInit(codeql, config, sourceRoot, processName, processLevel) {
|
async function runInit(codeql, config, sourceRoot, processName, processLevel) {
|
||||||
var _a;
|
var _a, _b;
|
||||||
fs.mkdirSync(config.dbLocation, { recursive: true });
|
fs.mkdirSync(config.dbLocation, { recursive: true });
|
||||||
try {
|
try {
|
||||||
if (await (0, util_1.codeQlVersionAbove)(codeql, codeql_1.CODEQL_VERSION_NEW_TRACING)) {
|
if (await (0, util_1.codeQlVersionAbove)(codeql, codeql_1.CODEQL_VERSION_NEW_TRACING)) {
|
||||||
@@ -67,7 +67,11 @@ async function runInit(codeql, config, sourceRoot, processName, processLevel) {
|
|||||||
if (e instanceof Error &&
|
if (e instanceof Error &&
|
||||||
((_a = e.message) === null || _a === void 0 ? void 0 : _a.includes("Refusing to create databases")) &&
|
((_a = e.message) === null || _a === void 0 ? void 0 : _a.includes("Refusing to create databases")) &&
|
||||||
e.message.includes("exists and is not an empty directory.")) {
|
e.message.includes("exists and is not an empty directory.")) {
|
||||||
throw new Error(`Is the "init" action called twice in the same job? ${e.message}`);
|
throw new util.UserError(`Is the "init" action called twice in the same job? ${e.message}`);
|
||||||
|
}
|
||||||
|
else if (e instanceof Error &&
|
||||||
|
((_b = e.message) === null || _b === void 0 ? void 0 : _b.includes("is not compatible with this CodeQL CLI"))) {
|
||||||
|
throw new util.UserError(e.message);
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
throw e;
|
throw e;
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
||||||
26
lib/tracer-config.js
generated
26
lib/tracer-config.js
generated
@@ -19,7 +19,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
exports.getCombinedTracerConfig = exports.concatTracerConfigs = exports.getTracerConfigForLanguage = exports.getTracerConfigForCluster = void 0;
|
exports.getCombinedTracerConfig = exports.concatTracerConfigs = exports.getTracerConfigForLanguage = exports.getTracerConfigForCluster = exports.endTracingForCluster = void 0;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
const codeql_1 = require("./codeql");
|
const codeql_1 = require("./codeql");
|
||||||
@@ -33,6 +33,30 @@ const CRITICAL_TRACER_VARS = new Set([
|
|||||||
"SEMMLE_DEPTRACE_SOCKET",
|
"SEMMLE_DEPTRACE_SOCKET",
|
||||||
"SEMMLE_JAVA_TOOL_OPTIONS",
|
"SEMMLE_JAVA_TOOL_OPTIONS",
|
||||||
]);
|
]);
|
||||||
|
async function endTracingForCluster(config) {
|
||||||
|
// If there are no traced languages, we don't need to do anything.
|
||||||
|
if (!config.languages.some(languages_1.isTracedLanguage))
|
||||||
|
return;
|
||||||
|
const envVariablesFile = path.resolve(config.dbLocation, "temp/tracingEnvironment/end-tracing.json");
|
||||||
|
if (!fs.existsSync(envVariablesFile)) {
|
||||||
|
throw new Error(`Environment file for ending tracing not found: ${envVariablesFile}`);
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
const endTracingEnvVariables = JSON.parse(fs.readFileSync(envVariablesFile, "utf8"));
|
||||||
|
for (const [key, value] of Object.entries(endTracingEnvVariables)) {
|
||||||
|
if (value !== null) {
|
||||||
|
process.env[key] = value;
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
delete process.env[key];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch (e) {
|
||||||
|
throw new Error(`Failed to parse file containing end tracing environment variables: ${e}`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.endTracingForCluster = endTracingForCluster;
|
||||||
async function getTracerConfigForCluster(config) {
|
async function getTracerConfigForCluster(config) {
|
||||||
const tracingEnvVariables = JSON.parse(fs.readFileSync(path.resolve(config.dbLocation, "temp/tracingEnvironment/start-tracing.json"), "utf8"));
|
const tracingEnvVariables = JSON.parse(fs.readFileSync(path.resolve(config.dbLocation, "temp/tracingEnvironment/start-tracing.json"), "utf8"));
|
||||||
return {
|
return {
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
5
lib/upload-sarif-action.js
generated
5
lib/upload-sarif-action.js
generated
@@ -21,6 +21,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const actionsUtil = __importStar(require("./actions-util"));
|
const actionsUtil = __importStar(require("./actions-util"));
|
||||||
|
const api_client_1 = require("./api-client");
|
||||||
const logging_1 = require("./logging");
|
const logging_1 = require("./logging");
|
||||||
const repository_1 = require("./repository");
|
const repository_1 = require("./repository");
|
||||||
const upload_lib = __importStar(require("./upload-lib"));
|
const upload_lib = __importStar(require("./upload-lib"));
|
||||||
@@ -46,7 +47,7 @@ async function run() {
|
|||||||
auth: actionsUtil.getRequiredInput("token"),
|
auth: actionsUtil.getRequiredInput("token"),
|
||||||
url: (0, util_1.getRequiredEnvParam)("GITHUB_SERVER_URL"),
|
url: (0, util_1.getRequiredEnvParam)("GITHUB_SERVER_URL"),
|
||||||
};
|
};
|
||||||
const gitHubVersion = await (0, util_1.getGitHubVersion)(apiDetails);
|
const gitHubVersion = await (0, api_client_1.getGitHubVersionActionsOnly)();
|
||||||
const uploadResult = await upload_lib.uploadFromActions(actionsUtil.getRequiredInput("sarif_file"), gitHubVersion, apiDetails, (0, logging_1.getActionsLogger)());
|
const uploadResult = await upload_lib.uploadFromActions(actionsUtil.getRequiredInput("sarif_file"), gitHubVersion, apiDetails, (0, logging_1.getActionsLogger)());
|
||||||
core.setOutput("sarif-id", uploadResult.sarifID);
|
core.setOutput("sarif-id", uploadResult.sarifID);
|
||||||
if (actionsUtil.getRequiredInput("wait-for-processing") === "true") {
|
if (actionsUtil.getRequiredInput("wait-for-processing") === "true") {
|
||||||
@@ -59,7 +60,7 @@ async function run() {
|
|||||||
const stack = error instanceof Error ? error.stack : String(error);
|
const stack = error instanceof Error ? error.stack : String(error);
|
||||||
core.setFailed(message);
|
core.setFailed(message);
|
||||||
console.log(error);
|
console.log(error);
|
||||||
await actionsUtil.sendStatusReport(await actionsUtil.createStatusReportBase("upload-sarif", "failure", startedAt, message, stack));
|
await actionsUtil.sendStatusReport(await actionsUtil.createStatusReportBase("upload-sarif", actionsUtil.getActionsStatus(error), startedAt, message, stack));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"upload-sarif-action.js","sourceRoot":"","sources":["../src/upload-sarif-action.ts"],"names":[],"mappings":"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"}
|
{"version":3,"file":"upload-sarif-action.js","sourceRoot":"","sources":["../src/upload-sarif-action.ts"],"names":[],"mappings":"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"}
|
||||||
25
lib/util.js
generated
25
lib/util.js
generated
@@ -22,7 +22,7 @@ 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.getMlPoweredJsQueriesStatus = exports.ML_POWERED_JS_QUERIES_PACK = exports.checkNotWindows11 = exports.isGoodVersion = exports.delay = exports.bundleDb = exports.codeQlVersionAbove = exports.isHTTPError = exports.HTTPError = exports.getRequiredEnvParam = exports.isActions = exports.getMode = exports.enrichEnvironment = exports.initializeEnvironment = exports.Mode = exports.assertNever = exports.getGitHubAuth = exports.apiVersionInRange = exports.DisallowedAPIVersionReason = exports.checkGitHubVersionInRange = exports.getGitHubVersion = exports.GitHubVariant = exports.parseGitHubUrl = exports.getCodeQLDatabasePath = exports.getThreadsFlag = exports.getThreadsFlagValue = exports.getAddSnippetsFlag = exports.getMemoryFlag = exports.getMemoryFlagValue = exports.withTmpDir = exports.getToolNames = exports.getExtraOptionsEnvParam = exports.DEFAULT_DEBUG_DATABASE_NAME = exports.DEFAULT_DEBUG_ARTIFACT_NAME = exports.GITHUB_DOTCOM_URL = void 0;
|
exports.getMlPoweredJsQueriesStatus = exports.ML_POWERED_JS_QUERIES_PACK = exports.isGoodVersion = exports.delay = exports.bundleDb = exports.codeQlVersionAbove = exports.isGitHubGhesVersionBelow = exports.isHTTPError = exports.UserError = exports.HTTPError = exports.getRequiredEnvParam = exports.isActions = exports.getMode = exports.enrichEnvironment = exports.initializeEnvironment = exports.Mode = exports.assertNever = exports.getGitHubAuth = exports.apiVersionInRange = exports.DisallowedAPIVersionReason = exports.checkGitHubVersionInRange = exports.getGitHubVersion = exports.GitHubVariant = exports.parseGitHubUrl = exports.getCodeQLDatabasePath = exports.getThreadsFlag = exports.getThreadsFlagValue = exports.getAddSnippetsFlag = exports.getMemoryFlag = exports.getMemoryFlagValue = exports.withTmpDir = exports.getToolNames = exports.getExtraOptionsEnvParam = exports.DEFAULT_DEBUG_DATABASE_NAME = exports.DEFAULT_DEBUG_ARTIFACT_NAME = exports.GITHUB_DOTCOM_URL = void 0;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const os = __importStar(require("os"));
|
const os = __importStar(require("os"));
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
@@ -486,10 +486,25 @@ class HTTPError extends Error {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
exports.HTTPError = HTTPError;
|
exports.HTTPError = HTTPError;
|
||||||
|
/**
|
||||||
|
* An Error class that indicates an error that occurred due to
|
||||||
|
* a misconfiguration of the action or the CodeQL CLI.
|
||||||
|
*/
|
||||||
|
class UserError extends Error {
|
||||||
|
constructor(message) {
|
||||||
|
super(message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.UserError = UserError;
|
||||||
function isHTTPError(arg) {
|
function isHTTPError(arg) {
|
||||||
return (arg === null || arg === void 0 ? void 0 : arg.status) !== undefined && Number.isInteger(arg.status);
|
return (arg === null || arg === void 0 ? void 0 : arg.status) !== undefined && Number.isInteger(arg.status);
|
||||||
}
|
}
|
||||||
exports.isHTTPError = isHTTPError;
|
exports.isHTTPError = isHTTPError;
|
||||||
|
function isGitHubGhesVersionBelow(gitHubVersion, expectedVersion) {
|
||||||
|
return (gitHubVersion.type === GitHubVariant.GHES &&
|
||||||
|
semver.lt(gitHubVersion.version, expectedVersion));
|
||||||
|
}
|
||||||
|
exports.isGitHubGhesVersionBelow = isGitHubGhesVersionBelow;
|
||||||
async function codeQlVersionAbove(codeql, requiredVersion) {
|
async function codeQlVersionAbove(codeql, requiredVersion) {
|
||||||
return semver.gte(await codeql.getVersion(), requiredVersion);
|
return semver.gte(await codeql.getVersion(), requiredVersion);
|
||||||
}
|
}
|
||||||
@@ -518,19 +533,13 @@ function isGoodVersion(versionSpec) {
|
|||||||
return !BROKEN_VERSIONS.includes(versionSpec);
|
return !BROKEN_VERSIONS.includes(versionSpec);
|
||||||
}
|
}
|
||||||
exports.isGoodVersion = isGoodVersion;
|
exports.isGoodVersion = isGoodVersion;
|
||||||
function checkNotWindows11() {
|
|
||||||
if (os.platform() === "win32" && semver.gte(os.release(), "10.0.20348")) {
|
|
||||||
throw new Error("Tracing builds with CodeQL is currently not supported on Windows 11 and Windows Server 2022. Please modify your Actions workflow to use an earlier version of Windows for this job, for example by setting `runs-on: windows-2019`.");
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.checkNotWindows11 = checkNotWindows11;
|
|
||||||
/**
|
/**
|
||||||
* The ML-powered JS query pack to add to the analysis if a repo is opted into the ML-powered
|
* The ML-powered JS query pack to add to the analysis if a repo is opted into the ML-powered
|
||||||
* queries beta.
|
* queries beta.
|
||||||
*/
|
*/
|
||||||
exports.ML_POWERED_JS_QUERIES_PACK = {
|
exports.ML_POWERED_JS_QUERIES_PACK = {
|
||||||
packName: "codeql/javascript-experimental-atm-queries",
|
packName: "codeql/javascript-experimental-atm-queries",
|
||||||
version: "~0.0.2",
|
version: "~0.1.0",
|
||||||
};
|
};
|
||||||
/**
|
/**
|
||||||
* Get information about ML-powered JS queries to populate status reports with.
|
* Get information about ML-powered JS queries to populate status reports with.
|
||||||
|
|||||||
File diff suppressed because one or more lines are too long
7
lib/util.test.js
generated
7
lib/util.test.js
generated
@@ -262,4 +262,11 @@ for (const [packs, expectedStatus] of ML_POWERED_JS_STATUS_TESTS) {
|
|||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
(0, ava_1.default)("isGitHubGhesVersionBelow", async (t) => {
|
||||||
|
t.falsy(util.isGitHubGhesVersionBelow({ type: util.GitHubVariant.DOTCOM }, "3.2.0"));
|
||||||
|
t.falsy(util.isGitHubGhesVersionBelow({ type: util.GitHubVariant.GHAE }, "3.2.0"));
|
||||||
|
t.falsy(util.isGitHubGhesVersionBelow({ type: util.GitHubVariant.GHES, version: "3.3.0" }, "3.2.0"));
|
||||||
|
t.falsy(util.isGitHubGhesVersionBelow({ type: util.GitHubVariant.GHES, version: "3.2.0" }, "3.2.0"));
|
||||||
|
t.true(util.isGitHubGhesVersionBelow({ type: util.GitHubVariant.GHES, version: "3.1.2" }, "3.2.0"));
|
||||||
|
});
|
||||||
//# sourceMappingURL=util.test.js.map
|
//# sourceMappingURL=util.test.js.map
|
||||||
File diff suppressed because one or more lines are too long
54
node_modules/.package-lock.json
generated
vendored
54
node_modules/.package-lock.json
generated
vendored
@@ -1,19 +1,18 @@
|
|||||||
{
|
{
|
||||||
"name": "codeql",
|
"name": "codeql",
|
||||||
"version": "1.1.1",
|
"version": "1.1.5",
|
||||||
"lockfileVersion": 2,
|
"lockfileVersion": 2,
|
||||||
"requires": true,
|
"requires": true,
|
||||||
"packages": {
|
"packages": {
|
||||||
"node_modules/@actions/artifact": {
|
"node_modules/@actions/artifact": {
|
||||||
"version": "0.5.2",
|
"version": "1.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-0.5.2.tgz",
|
"resolved": "https://registry.npmjs.org/@actions/artifact/-/artifact-1.0.0.tgz",
|
||||||
"integrity": "sha512-q/r8WSqyxBJ0ffLCRrtjCBTGnAYqP+ID4yG7f7YSlhrQ4thNg/d+Tq9f1YkLPKX46ZR97OWtGDY+oU/nxcqvLw==",
|
"integrity": "sha512-oje+cCiM2maVwoiN+LT9kh2C6UqiTcS1tDKins+nRfckX+C8JJD2kAmzpD5fn/p5Dibjrqk1mtwreAzgNxHrDg==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.2.6",
|
"@actions/core": "^1.2.6",
|
||||||
"@actions/http-client": "^1.0.11",
|
"@actions/http-client": "^1.0.11",
|
||||||
"@types/tmp": "^0.1.0",
|
"tmp": "^0.2.1",
|
||||||
"tmp": "^0.1.0",
|
"tmp-promise": "^3.0.2"
|
||||||
"tmp-promise": "^2.0.2"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@actions/core": {
|
"node_modules/@actions/core": {
|
||||||
@@ -482,9 +481,9 @@
|
|||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/@types/node": {
|
"node_modules/@types/node": {
|
||||||
"version": "16.11.22",
|
"version": "12.12.70",
|
||||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-16.11.22.tgz",
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.70.tgz",
|
||||||
"integrity": "sha512-DYNtJWauMQ9RNpesl4aVothr97/tIJM8HbyOXJ0AYT1Z2bEjLHyfjOBPAQQVMLf8h3kSShYfNk8Wnto8B2zHUA=="
|
"integrity": "sha512-i5y7HTbvhonZQE+GnUM2rz1Bi8QkzxdQmEv1LKOv4nWyaQk/gdeiTApuQR3PDJHX7WomAbpx2wlWSEpxXGZ/UQ=="
|
||||||
},
|
},
|
||||||
"node_modules/@types/semver": {
|
"node_modules/@types/semver": {
|
||||||
"version": "7.3.8",
|
"version": "7.3.8",
|
||||||
@@ -501,10 +500,6 @@
|
|||||||
"@sinonjs/fake-timers": "^7.1.0"
|
"@sinonjs/fake-timers": "^7.1.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@types/tmp": {
|
|
||||||
"version": "0.1.0",
|
|
||||||
"integrity": "sha512-6IwZ9HzWbCq6XoQWhxLpDjuADodH/MKXRUIDFudvgjcVdjFknvmR+DNsoUeer4XPrEnrZs04Jj+kfV9pFsrhmA=="
|
|
||||||
},
|
|
||||||
"node_modules/@typescript-eslint/eslint-plugin": {
|
"node_modules/@typescript-eslint/eslint-plugin": {
|
||||||
"version": "4.28.5",
|
"version": "4.28.5",
|
||||||
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.5.tgz",
|
"resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.5.tgz",
|
||||||
@@ -4361,8 +4356,9 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/removeNPMAbsolutePaths": {
|
"node_modules/removeNPMAbsolutePaths": {
|
||||||
"version": "2.0.0",
|
"version": "3.0.0",
|
||||||
"integrity": "sha512-Hea7U6iJcD0NE/aqBqxBMPKeKaxjqMNyTTajmH2dH9hhafJ9Tem5r4UeJK8+BdE1MK9lqoOYqNM0Sq9rl1OIbQ==",
|
"resolved": "https://registry.npmjs.org/removeNPMAbsolutePaths/-/removeNPMAbsolutePaths-3.0.0.tgz",
|
||||||
|
"integrity": "sha512-g4DIbk+xI8YC1RafmVKaPyMcuQlKZ8N7RQMUvRv+YLHNw1PhyFtjsC6WBaiTCfDKFGQhBaRSc0b0qUjPeCdIdQ==",
|
||||||
"dev": true,
|
"dev": true,
|
||||||
"bin": {
|
"bin": {
|
||||||
"removeNPMAbsolutePaths": "bin/removeNPMAbsolutePaths"
|
"removeNPMAbsolutePaths": "bin/removeNPMAbsolutePaths"
|
||||||
@@ -4933,30 +4929,22 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tmp": {
|
"node_modules/tmp": {
|
||||||
"version": "0.1.0",
|
"version": "0.2.1",
|
||||||
"integrity": "sha512-J7Z2K08jbGcdA1kkQpJSqLF6T0tdQqpR2pnSUXsIchbPdTI9v3e85cLW0d6WDhwuAleOV71j2xWs8qMPfK7nKw==",
|
"resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz",
|
||||||
|
"integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"rimraf": "^2.6.3"
|
"rimraf": "^3.0.0"
|
||||||
},
|
},
|
||||||
"engines": {
|
"engines": {
|
||||||
"node": ">=6"
|
"node": ">=8.17.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/tmp-promise": {
|
"node_modules/tmp-promise": {
|
||||||
"version": "2.1.1",
|
"version": "3.0.3",
|
||||||
"integrity": "sha512-Z048AOz/w9b6lCbJUpevIJpRpUztENl8zdv1bmAKVHimfqRFl92ROkmT9rp7TVBnrEw2gtMTol/2Cp2S2kJa4Q==",
|
"resolved": "https://registry.npmjs.org/tmp-promise/-/tmp-promise-3.0.3.tgz",
|
||||||
|
"integrity": "sha512-RwM7MoPojPxsOBYnyd2hy0bxtIlVrihNs9pj5SUvY8Zz1sQcQG2tG1hSr8PDxfgEB8RNKDhqbIlroIarSNDNsQ==",
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"tmp": "0.1.0"
|
"tmp": "^0.2.0"
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/tmp/node_modules/rimraf": {
|
|
||||||
"version": "2.7.1",
|
|
||||||
"integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==",
|
|
||||||
"dependencies": {
|
|
||||||
"glob": "^7.1.3"
|
|
||||||
},
|
|
||||||
"bin": {
|
|
||||||
"rimraf": "bin.js"
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/to-regex-range": {
|
"node_modules/to-regex-range": {
|
||||||
|
|||||||
1
node_modules/@actions/artifact/lib/artifact-client.js
generated
vendored
1
node_modules/@actions/artifact/lib/artifact-client.js
generated
vendored
@@ -1,5 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.create = void 0;
|
||||||
const artifact_client_1 = require("./internal/artifact-client");
|
const artifact_client_1 = require("./internal/artifact-client");
|
||||||
/**
|
/**
|
||||||
* Constructs an ArtifactClient
|
* Constructs an ArtifactClient
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/artifact-client.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/artifact-client.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"artifact-client.js","sourceRoot":"","sources":["../src/artifact-client.ts"],"names":[],"mappings":";;AAIA,gEAAgF;AAUhF;;GAEG;AACH,SAAgB,MAAM;IACpB,OAAO,uCAAqB,CAAC,MAAM,EAAE,CAAA;AACvC,CAAC;AAFD,wBAEC"}
|
{"version":3,"file":"artifact-client.js","sourceRoot":"","sources":["../src/artifact-client.ts"],"names":[],"mappings":";;;AAIA,gEAAgF;AAUhF;;GAEG;AACH,SAAgB,MAAM;IACpB,OAAO,uCAAqB,CAAC,MAAM,EAAE,CAAA;AACvC,CAAC;AAFD,wBAEC"}
|
||||||
47
node_modules/@actions/artifact/lib/internal/artifact-client.js
generated
vendored
47
node_modules/@actions/artifact/lib/internal/artifact-client.js
generated
vendored
@@ -1,4 +1,23 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
||||||
|
}) : (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
o[k2] = m[k];
|
||||||
|
}));
|
||||||
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||||
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||||
|
}) : function(o, v) {
|
||||||
|
o["default"] = v;
|
||||||
|
});
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||||
|
__setModuleDefault(result, mod);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
@@ -8,18 +27,13 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
||||||
result["default"] = mod;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.DefaultArtifactClient = void 0;
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const upload_specification_1 = require("./upload-specification");
|
const upload_specification_1 = require("./upload-specification");
|
||||||
const upload_http_client_1 = require("./upload-http-client");
|
const upload_http_client_1 = require("./upload-http-client");
|
||||||
const utils_1 = require("./utils");
|
const utils_1 = require("./utils");
|
||||||
|
const path_and_artifact_name_validation_1 = require("./path-and-artifact-name-validation");
|
||||||
const download_http_client_1 = require("./download-http-client");
|
const download_http_client_1 = require("./download-http-client");
|
||||||
const download_specification_1 = require("./download-specification");
|
const download_specification_1 = require("./download-specification");
|
||||||
const config_variables_1 = require("./config-variables");
|
const config_variables_1 = require("./config-variables");
|
||||||
@@ -36,7 +50,9 @@ class DefaultArtifactClient {
|
|||||||
*/
|
*/
|
||||||
uploadArtifact(name, files, rootDirectory, options) {
|
uploadArtifact(name, files, rootDirectory, options) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
utils_1.checkArtifactName(name);
|
core.info(`Starting artifact upload
|
||||||
|
For more detailed logs during the artifact upload process, enable step-debugging: https://docs.github.com/actions/monitoring-and-troubleshooting-workflows/enabling-debug-logging#enabling-step-debug-logging`);
|
||||||
|
path_and_artifact_name_validation_1.checkArtifactName(name);
|
||||||
// Get specification for the files being uploaded
|
// Get specification for the files being uploaded
|
||||||
const uploadSpecification = upload_specification_1.getUploadSpecification(name, rootDirectory, files);
|
const uploadSpecification = upload_specification_1.getUploadSpecification(name, rootDirectory, files);
|
||||||
const uploadResponse = {
|
const uploadResponse = {
|
||||||
@@ -57,12 +73,24 @@ class DefaultArtifactClient {
|
|||||||
throw new Error('No URL provided by the Artifact Service to upload an artifact to');
|
throw new Error('No URL provided by the Artifact Service to upload an artifact to');
|
||||||
}
|
}
|
||||||
core.debug(`Upload Resource URL: ${response.fileContainerResourceUrl}`);
|
core.debug(`Upload Resource URL: ${response.fileContainerResourceUrl}`);
|
||||||
|
core.info(`Container for artifact "${name}" successfully created. Starting upload of file(s)`);
|
||||||
// Upload each of the files that were found concurrently
|
// Upload each of the files that were found concurrently
|
||||||
const uploadResult = yield uploadHttpClient.uploadArtifactToFileContainer(response.fileContainerResourceUrl, uploadSpecification, options);
|
const uploadResult = yield uploadHttpClient.uploadArtifactToFileContainer(response.fileContainerResourceUrl, uploadSpecification, options);
|
||||||
// Update the size of the artifact to indicate we are done uploading
|
// Update the size of the artifact to indicate we are done uploading
|
||||||
// The uncompressed size is used for display when downloading a zip of the artifact from the UI
|
// The uncompressed size is used for display when downloading a zip of the artifact from the UI
|
||||||
|
core.info(`File upload process has finished. Finalizing the artifact upload`);
|
||||||
yield uploadHttpClient.patchArtifactSize(uploadResult.totalSize, name);
|
yield uploadHttpClient.patchArtifactSize(uploadResult.totalSize, name);
|
||||||
core.info(`Finished uploading artifact ${name}. Reported size is ${uploadResult.uploadSize} bytes. There were ${uploadResult.failedItems.length} items that failed to upload`);
|
if (uploadResult.failedItems.length > 0) {
|
||||||
|
core.info(`Upload finished. There were ${uploadResult.failedItems.length} items that failed to upload`);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
core.info(`Artifact has been finalized. All files have been successfully uploaded!`);
|
||||||
|
}
|
||||||
|
core.info(`
|
||||||
|
The raw size of all the files that were specified for upload is ${uploadResult.totalSize} bytes
|
||||||
|
The size of all the files that were uploaded is ${uploadResult.uploadSize} bytes. This takes into account any gzip compression used to reduce the upload size, time and storage
|
||||||
|
|
||||||
|
Note: The size of downloaded zips can differ significantly from the reported size. For more information see: https://github.com/actions/upload-artifact#zipped-artifact-downloads \r\n`);
|
||||||
uploadResponse.artifactItems = uploadSpecification.map(item => item.absoluteFilePath);
|
uploadResponse.artifactItems = uploadSpecification.map(item => item.absoluteFilePath);
|
||||||
uploadResponse.size = uploadResult.uploadSize;
|
uploadResponse.size = uploadResult.uploadSize;
|
||||||
uploadResponse.failedItems = uploadResult.failedItems;
|
uploadResponse.failedItems = uploadResult.failedItems;
|
||||||
@@ -125,6 +153,7 @@ class DefaultArtifactClient {
|
|||||||
while (downloadedArtifacts < artifacts.count) {
|
while (downloadedArtifacts < artifacts.count) {
|
||||||
const currentArtifactToDownload = artifacts.value[downloadedArtifacts];
|
const currentArtifactToDownload = artifacts.value[downloadedArtifacts];
|
||||||
downloadedArtifacts += 1;
|
downloadedArtifacts += 1;
|
||||||
|
core.info(`starting download of artifact ${currentArtifactToDownload.name} : ${downloadedArtifacts}/${artifacts.count}`);
|
||||||
// Get container entries for the specific artifact
|
// Get container entries for the specific artifact
|
||||||
const items = yield downloadHttpClient.getContainerItems(currentArtifactToDownload.name, currentArtifactToDownload.fileContainerResourceUrl);
|
const items = yield downloadHttpClient.getContainerItems(currentArtifactToDownload.name, currentArtifactToDownload.fileContainerResourceUrl);
|
||||||
const downloadSpecification = download_specification_1.getDownloadSpecification(currentArtifactToDownload.name, items.value, path, true);
|
const downloadSpecification = download_specification_1.getDownloadSpecification(currentArtifactToDownload.name, items.value, path, true);
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/artifact-client.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/artifact-client.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"artifact-client.js","sourceRoot":"","sources":["../../src/internal/artifact-client.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,oDAAqC;AACrC,iEAG+B;AAC/B,6DAAqD;AAKrD,mCAIgB;AAChB,iEAAyD;AACzD,qEAAiE;AACjE,yDAAwD;AACxD,+BAAuC;AAuCvC,MAAa,qBAAqB;IAChC;;OAEG;IACH,MAAM,CAAC,MAAM;QACX,OAAO,IAAI,qBAAqB,EAAE,CAAA;IACpC,CAAC;IAED;;OAEG;IACG,cAAc,CAClB,IAAY,EACZ,KAAe,EACf,aAAqB,EACrB,OAAmC;;YAEnC,yBAAiB,CAAC,IAAI,CAAC,CAAA;YAEvB,iDAAiD;YACjD,MAAM,mBAAmB,GAA0B,6CAAsB,CACvE,IAAI,EACJ,aAAa,EACb,KAAK,CACN,CAAA;YACD,MAAM,cAAc,GAAmB;gBACrC,YAAY,EAAE,IAAI;gBAClB,aAAa,EAAE,EAAE;gBACjB,IAAI,EAAE,CAAC;gBACP,WAAW,EAAE,EAAE;aAChB,CAAA;YAED,MAAM,gBAAgB,GAAG,IAAI,qCAAgB,EAAE,CAAA;YAE/C,IAAI,mBAAmB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACpC,IAAI,CAAC,OAAO,CAAC,qCAAqC,CAAC,CAAA;aACpD;iBAAM;gBACL,yDAAyD;gBACzD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,6BAA6B,CACnE,IAAI,EACJ,OAAO,CACR,CAAA;gBACD,IAAI,CAAC,QAAQ,CAAC,wBAAwB,EAAE;oBACtC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,CAAA;oBAC/B,MAAM,IAAI,KAAK,CACb,kEAAkE,CACnE,CAAA;iBACF;gBACD,IAAI,CAAC,KAAK,CAAC,wBAAwB,QAAQ,CAAC,wBAAwB,EAAE,CAAC,CAAA;gBAEvE,wDAAwD;gBACxD,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,6BAA6B,CACvE,QAAQ,CAAC,wBAAwB,EACjC,mBAAmB,EACnB,OAAO,CACR,CAAA;gBAED,oEAAoE;gBACpE,+FAA+F;gBAC/F,MAAM,gBAAgB,CAAC,iBAAiB,CAAC,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,CAAA;gBAEtE,IAAI,CAAC,IAAI,CACP,+BAA+B,IAAI,sBAAsB,YAAY,CAAC,UAAU,sBAAsB,YAAY,CAAC,WAAW,CAAC,MAAM,8BAA8B,CACpK,CAAA;gBAED,cAAc,CAAC,aAAa,GAAG,mBAAmB,CAAC,GAAG,CACpD,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,gBAAgB,CAC9B,CAAA;gBACD,cAAc,CAAC,IAAI,GAAG,YAAY,CAAC,UAAU,CAAA;gBAC7C,cAAc,CAAC,WAAW,GAAG,YAAY,CAAC,WAAW,CAAA;aACtD;YACD,OAAO,cAAc,CAAA;QACvB,CAAC;KAAA;IAEK,gBAAgB,CACpB,IAAY,EACZ,IAAyB,EACzB,OAAqC;;YAErC,MAAM,kBAAkB,GAAG,IAAI,yCAAkB,EAAE,CAAA;YAEnD,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,CAAA;YAC1D,IAAI,SAAS,CAAC,KAAK,KAAK,CAAC,EAAE;gBACzB,MAAM,IAAI,KAAK,CACb,0DAA0D,CAC3D,CAAA;aACF;YAED,MAAM,kBAAkB,GAAG,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;gBACzD,OAAO,QAAQ,CAAC,IAAI,KAAK,IAAI,CAAA;YAC/B,CAAC,CAAC,CAAA;YACF,IAAI,CAAC,kBAAkB,EAAE;gBACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,IAAI,EAAE,CAAC,CAAA;aACrE;YAED,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,CACtD,kBAAkB,CAAC,IAAI,EACvB,kBAAkB,CAAC,wBAAwB,CAC5C,CAAA;YAED,IAAI,CAAC,IAAI,EAAE;gBACT,IAAI,GAAG,wCAAqB,EAAE,CAAA;aAC/B;YACD,IAAI,GAAG,gBAAS,CAAC,IAAI,CAAC,CAAA;YACtB,IAAI,GAAG,cAAO,CAAC,IAAI,CAAC,CAAA;YAEpB,4IAA4I;YAC5I,MAAM,qBAAqB,GAAG,iDAAwB,CACpD,IAAI,EACJ,KAAK,CAAC,KAAK,EACX,IAAI,EACJ,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,oBAAoB,KAAI,KAAK,CACvC,CAAA;YAED,IAAI,qBAAqB,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;gBACtD,IAAI,CAAC,IAAI,CACP,sDAAsD,kBAAkB,CAAC,IAAI,EAAE,CAChF,CAAA;aACF;iBAAM;gBACL,4EAA4E;gBAC5E,MAAM,oCAA4B,CAChC,qBAAqB,CAAC,kBAAkB,CACzC,CAAA;gBACD,IAAI,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAA;gBAChE,MAAM,mCAA2B,CAC/B,qBAAqB,CAAC,kBAAkB,CACzC,CAAA;gBACD,MAAM,kBAAkB,CAAC,sBAAsB,CAC7C,qBAAqB,CAAC,eAAe,CACtC,CAAA;aACF;YAED,OAAO;gBACL,YAAY,EAAE,IAAI;gBAClB,YAAY,EAAE,qBAAqB,CAAC,oBAAoB;aACzD,CAAA;QACH,CAAC;KAAA;IAEK,oBAAoB,CACxB,IAAyB;;YAEzB,MAAM,kBAAkB,GAAG,IAAI,yCAAkB,EAAE,CAAA;YAEnD,MAAM,QAAQ,GAAuB,EAAE,CAAA;YACvC,MAAM,SAAS,GAAG,MAAM,kBAAkB,CAAC,aAAa,EAAE,CAAA;YAC1D,IAAI,SAAS,CAAC,KAAK,KAAK,CAAC,EAAE;gBACzB,IAAI,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAA;gBACrE,OAAO,QAAQ,CAAA;aAChB;YAED,IAAI,CAAC,IAAI,EAAE;gBACT,IAAI,GAAG,wCAAqB,EAAE,CAAA;aAC/B;YACD,IAAI,GAAG,gBAAS,CAAC,IAAI,CAAC,CAAA;YACtB,IAAI,GAAG,cAAO,CAAC,IAAI,CAAC,CAAA;YAEpB,IAAI,mBAAmB,GAAG,CAAC,CAAA;YAC3B,OAAO,mBAAmB,GAAG,SAAS,CAAC,KAAK,EAAE;gBAC5C,MAAM,yBAAyB,GAAG,SAAS,CAAC,KAAK,CAAC,mBAAmB,CAAC,CAAA;gBACtE,mBAAmB,IAAI,CAAC,CAAA;gBAExB,kDAAkD;gBAClD,MAAM,KAAK,GAAG,MAAM,kBAAkB,CAAC,iBAAiB,CACtD,yBAAyB,CAAC,IAAI,EAC9B,yBAAyB,CAAC,wBAAwB,CACnD,CAAA;gBAED,MAAM,qBAAqB,GAAG,iDAAwB,CACpD,yBAAyB,CAAC,IAAI,EAC9B,KAAK,CAAC,KAAK,EACX,IAAI,EACJ,IAAI,CACL,CAAA;gBACD,IAAI,qBAAqB,CAAC,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE;oBACtD,IAAI,CAAC,IAAI,CACP,qDAAqD,yBAAyB,CAAC,IAAI,EAAE,CACtF,CAAA;iBACF;qBAAM;oBACL,MAAM,oCAA4B,CAChC,qBAAqB,CAAC,kBAAkB,CACzC,CAAA;oBACD,MAAM,mCAA2B,CAC/B,qBAAqB,CAAC,kBAAkB,CACzC,CAAA;oBACD,MAAM,kBAAkB,CAAC,sBAAsB,CAC7C,qBAAqB,CAAC,eAAe,CACtC,CAAA;iBACF;gBAED,QAAQ,CAAC,IAAI,CAAC;oBACZ,YAAY,EAAE,yBAAyB,CAAC,IAAI;oBAC5C,YAAY,EAAE,qBAAqB,CAAC,oBAAoB;iBACzD,CAAC,CAAA;aACH;YACD,OAAO,QAAQ,CAAA;QACjB,CAAC;KAAA;CACF;AApMD,sDAoMC"}
|
{"version":3,"file":"artifact-client.js","sourceRoot":"","sources":["../../src/internal/artifact-client.ts"],"names":[],"mappings":"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"}
|
||||||
1
node_modules/@actions/artifact/lib/internal/config-variables.js
generated
vendored
1
node_modules/@actions/artifact/lib/internal/config-variables.js
generated
vendored
@@ -1,5 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.getRetentionDays = exports.getWorkSpaceDirectory = exports.getWorkFlowRunId = exports.getRuntimeUrl = exports.getRuntimeToken = exports.getDownloadFileConcurrency = exports.getInitialRetryIntervalInMilliseconds = exports.getRetryMultiplier = exports.getRetryLimit = exports.getUploadChunkSize = exports.getUploadFileConcurrency = void 0;
|
||||||
// The number of concurrent uploads that happens at the same time
|
// The number of concurrent uploads that happens at the same time
|
||||||
function getUploadFileConcurrency() {
|
function getUploadFileConcurrency() {
|
||||||
return 2;
|
return 2;
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/config-variables.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/config-variables.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"config-variables.js","sourceRoot":"","sources":["../../src/internal/config-variables.ts"],"names":[],"mappings":";;AAAA,iEAAiE;AACjE,SAAgB,wBAAwB;IACtC,OAAO,CAAC,CAAA;AACV,CAAC;AAFD,4DAEC;AAED,2FAA2F;AAC3F,4CAA4C;AAC5C,SAAgB,kBAAkB;IAChC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,cAAc;AACvC,CAAC;AAFD,gDAEC;AAED,yFAAyF;AACzF,SAAgB,aAAa;IAC3B,OAAO,CAAC,CAAA;AACV,CAAC;AAFD,sCAEC;AAED,wGAAwG;AACxG,0GAA0G;AAC1G,SAAgB,kBAAkB;IAChC,OAAO,GAAG,CAAA;AACZ,CAAC;AAFD,gDAEC;AAED,yGAAyG;AACzG,SAAgB,qCAAqC;IACnD,OAAO,IAAI,CAAA;AACb,CAAC;AAFD,sFAEC;AAED,mEAAmE;AACnE,SAAgB,0BAA0B;IACxC,OAAO,CAAC,CAAA;AACV,CAAC;AAFD,gEAEC;AAED,SAAgB,eAAe;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAND,0CAMC;AAED,SAAgB,aAAa;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACrD,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;KAClE;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAND,sCAMC;AAED,SAAgB,gBAAgB;IAC9B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAClD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAND,4CAMC;AAED,SAAgB,qBAAqB;IACnC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAC1D,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;KAC/D;IACD,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAND,sDAMC;AAED,SAAgB,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AAC7C,CAAC;AAFD,4CAEC"}
|
{"version":3,"file":"config-variables.js","sourceRoot":"","sources":["../../src/internal/config-variables.ts"],"names":[],"mappings":";;;AAAA,iEAAiE;AACjE,SAAgB,wBAAwB;IACtC,OAAO,CAAC,CAAA;AACV,CAAC;AAFD,4DAEC;AAED,2FAA2F;AAC3F,4CAA4C;AAC5C,SAAgB,kBAAkB;IAChC,OAAO,CAAC,GAAG,IAAI,GAAG,IAAI,CAAA,CAAC,cAAc;AACvC,CAAC;AAFD,gDAEC;AAED,yFAAyF;AACzF,SAAgB,aAAa;IAC3B,OAAO,CAAC,CAAA;AACV,CAAC;AAFD,sCAEC;AAED,wGAAwG;AACxG,0GAA0G;AAC1G,SAAgB,kBAAkB;IAChC,OAAO,GAAG,CAAA;AACZ,CAAC;AAFD,gDAEC;AAED,yGAAyG;AACzG,SAAgB,qCAAqC;IACnD,OAAO,IAAI,CAAA;AACb,CAAC;AAFD,sFAEC;AAED,mEAAmE;AACnE,SAAgB,0BAA0B;IACxC,OAAO,CAAC,CAAA;AACV,CAAC;AAFD,gEAEC;AAED,SAAgB,eAAe;IAC7B,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;IAClD,IAAI,CAAC,KAAK,EAAE;QACV,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAA;KACpE;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAND,0CAMC;AAED,SAAgB,aAAa;IAC3B,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;IACrD,IAAI,CAAC,UAAU,EAAE;QACf,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAA;KAClE;IACD,OAAO,UAAU,CAAA;AACnB,CAAC;AAND,sCAMC;AAED,SAAgB,gBAAgB;IAC9B,MAAM,aAAa,GAAG,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAA;IAClD,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAA;KAC5D;IACD,OAAO,aAAa,CAAA;AACtB,CAAC;AAND,4CAMC;AAED,SAAgB,qBAAqB;IACnC,MAAM,kBAAkB,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAA;IAC1D,IAAI,CAAC,kBAAkB,EAAE;QACvB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAA;KAC/D;IACD,OAAO,kBAAkB,CAAA;AAC3B,CAAC;AAND,sDAMC;AAED,SAAgB,gBAAgB;IAC9B,OAAO,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAA;AAC7C,CAAC;AAFD,4CAEC"}
|
||||||
10
node_modules/@actions/artifact/lib/internal/contracts.d.ts
generated
vendored
10
node_modules/@actions/artifact/lib/internal/contracts.d.ts
generated
vendored
@@ -25,8 +25,18 @@ export interface PatchArtifactSizeSuccessResponse {
|
|||||||
uploadUrl: string;
|
uploadUrl: string;
|
||||||
}
|
}
|
||||||
export interface UploadResults {
|
export interface UploadResults {
|
||||||
|
/**
|
||||||
|
* The size in bytes of data that was transferred during the upload process to the actions backend service. This takes into account possible
|
||||||
|
* gzip compression to reduce the amount of data that needs to be transferred
|
||||||
|
*/
|
||||||
uploadSize: number;
|
uploadSize: number;
|
||||||
|
/**
|
||||||
|
* The raw size of the files that were specified for upload
|
||||||
|
*/
|
||||||
totalSize: number;
|
totalSize: number;
|
||||||
|
/**
|
||||||
|
* An array of files that failed to upload
|
||||||
|
*/
|
||||||
failedItems: string[];
|
failedItems: string[];
|
||||||
}
|
}
|
||||||
export interface ListArtifactsResponse {
|
export interface ListArtifactsResponse {
|
||||||
|
|||||||
30
node_modules/@actions/artifact/lib/internal/download-http-client.js
generated
vendored
30
node_modules/@actions/artifact/lib/internal/download-http-client.js
generated
vendored
@@ -1,4 +1,23 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
||||||
|
}) : (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
o[k2] = m[k];
|
||||||
|
}));
|
||||||
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||||
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||||
|
}) : function(o, v) {
|
||||||
|
o["default"] = v;
|
||||||
|
});
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||||
|
__setModuleDefault(result, mod);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
@@ -8,14 +27,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
||||||
result["default"] = mod;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.DownloadHttpClient = void 0;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const zlib = __importStar(require("zlib"));
|
const zlib = __importStar(require("zlib"));
|
||||||
@@ -167,9 +180,6 @@ class DownloadHttpClient {
|
|||||||
let response;
|
let response;
|
||||||
try {
|
try {
|
||||||
response = yield makeDownloadRequest();
|
response = yield makeDownloadRequest();
|
||||||
if (core.isDebug()) {
|
|
||||||
utils_1.displayHttpDiagnostics(response);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
catch (error) {
|
catch (error) {
|
||||||
// if an error is caught, it is usually indicative of a timeout so retry the download
|
// if an error is caught, it is usually indicative of a timeout so retry the download
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/download-http-client.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/download-http-client.js.map
generated
vendored
File diff suppressed because one or more lines are too long
17
node_modules/@actions/artifact/lib/internal/download-specification.js
generated
vendored
17
node_modules/@actions/artifact/lib/internal/download-specification.js
generated
vendored
@@ -1,12 +1,25 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
||||||
|
}) : (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
o[k2] = m[k];
|
||||||
|
}));
|
||||||
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||||
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||||
|
}) : function(o, v) {
|
||||||
|
o["default"] = v;
|
||||||
|
});
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
if (mod && mod.__esModule) return mod;
|
if (mod && mod.__esModule) return mod;
|
||||||
var result = {};
|
var result = {};
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||||
result["default"] = mod;
|
__setModuleDefault(result, mod);
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.getDownloadSpecification = void 0;
|
||||||
const path = __importStar(require("path"));
|
const path = __importStar(require("path"));
|
||||||
/**
|
/**
|
||||||
* Creates a specification for a set of files that will be downloaded
|
* Creates a specification for a set of files that will be downloaded
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/download-specification.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/download-specification.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"download-specification.js","sourceRoot":"","sources":["../../src/internal/download-specification.ts"],"names":[],"mappings":";;;;;;;;;AAAA,2CAA4B;AAyB5B;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,YAAoB,EACpB,eAAiC,EACjC,YAAoB,EACpB,oBAA6B;IAE7B,oEAAoE;IACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IAErC,MAAM,cAAc,GAA0B;QAC5C,oBAAoB,EAAE,oBAAoB;YACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;YACvC,CAAC,CAAC,YAAY;QAChB,kBAAkB,EAAE,EAAE;QACtB,kBAAkB,EAAE,EAAE;QACtB,eAAe,EAAE,EAAE;KACpB,CAAA;IAED,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE;QACnC,wEAAwE;QACxE,IACE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,YAAY,IAAI,CAAC,EAC1C;YACA,2CAA2C;YAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACtD,oIAAoI;YACpI,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,YAAY,EACZ,oBAAoB;gBAClB,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAClD,CAAA;YAED,2GAA2G;YAC3G,6FAA6F;YAC7F,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE;gBAC7B,wFAAwF;gBACxF,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACvC,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE;oBAC1B,kGAAkG;oBAClG,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;iBACjD;qBAAM;oBACL,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC;wBAClC,cAAc,EAAE,KAAK,CAAC,eAAe;wBACrC,UAAU,EAAE,QAAQ;qBACrB,CAAC,CAAA;iBACH;aACF;SACF;KACF;IAED,cAAc,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3D,OAAO,cAAc,CAAA;AACvB,CAAC;AAtDD,4DAsDC"}
|
{"version":3,"file":"download-specification.js","sourceRoot":"","sources":["../../src/internal/download-specification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,2CAA4B;AAyB5B;;;;;;GAMG;AACH,SAAgB,wBAAwB,CACtC,YAAoB,EACpB,eAAiC,EACjC,YAAoB,EACpB,oBAA6B;IAE7B,oEAAoE;IACpE,MAAM,WAAW,GAAG,IAAI,GAAG,EAAU,CAAA;IAErC,MAAM,cAAc,GAA0B;QAC5C,oBAAoB,EAAE,oBAAoB;YACxC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,YAAY,CAAC;YACvC,CAAC,CAAC,YAAY;QAChB,kBAAkB,EAAE,EAAE;QACtB,kBAAkB,EAAE,EAAE;QACtB,eAAe,EAAE,EAAE;KACpB,CAAA;IAED,KAAK,MAAM,KAAK,IAAI,eAAe,EAAE;QACnC,wEAAwE;QACxE,IACE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,YAAY,GAAG,CAAC;YACzC,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,YAAY,IAAI,CAAC,EAC1C;YACA,2CAA2C;YAC3C,MAAM,mBAAmB,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;YACtD,oIAAoI;YACpI,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CACxB,YAAY,EACZ,oBAAoB;gBAClB,CAAC,CAAC,mBAAmB;gBACrB,CAAC,CAAC,mBAAmB,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAClD,CAAA;YAED,2GAA2G;YAC3G,6FAA6F;YAC7F,IAAI,KAAK,CAAC,QAAQ,KAAK,MAAM,EAAE;gBAC7B,wFAAwF;gBACxF,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;gBACvC,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE;oBAC1B,kGAAkG;oBAClG,cAAc,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;iBACjD;qBAAM;oBACL,cAAc,CAAC,eAAe,CAAC,IAAI,CAAC;wBAClC,cAAc,EAAE,KAAK,CAAC,eAAe;wBACrC,UAAU,EAAE,QAAQ;qBACrB,CAAC,CAAA;iBACH;aACF;SACF;KACF;IAED,cAAc,CAAC,kBAAkB,GAAG,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAA;IAC3D,OAAO,cAAc,CAAA;AACvB,CAAC;AAtDD,4DAsDC"}
|
||||||
1
node_modules/@actions/artifact/lib/internal/http-manager.js
generated
vendored
1
node_modules/@actions/artifact/lib/internal/http-manager.js
generated
vendored
@@ -1,5 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.HttpManager = void 0;
|
||||||
const utils_1 = require("./utils");
|
const utils_1 = require("./utils");
|
||||||
/**
|
/**
|
||||||
* Used for managing http clients during either upload or download
|
* Used for managing http clients during either upload or download
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/http-manager.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/http-manager.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"http-manager.js","sourceRoot":"","sources":["../../src/internal/http-manager.ts"],"names":[],"mappings":";;AACA,mCAAwC;AAExC;;GAEG;AACH,MAAa,WAAW;IAItB,YAAY,WAAmB,EAAE,SAAiB;QAChD,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;SACrD;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,wBAAgB,CAAC,SAAS,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,mGAAmG;IACnG,+HAA+H;IAC/H,uBAAuB,CAAC,KAAa;QACnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,wBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;IAED,2BAA2B;QACzB,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;YAC5C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;SACpC;IACH,CAAC;CACF;AA5BD,kCA4BC"}
|
{"version":3,"file":"http-manager.js","sourceRoot":"","sources":["../../src/internal/http-manager.ts"],"names":[],"mappings":";;;AACA,mCAAwC;AAExC;;GAEG;AACH,MAAa,WAAW;IAItB,YAAY,WAAmB,EAAE,SAAiB;QAChD,IAAI,WAAW,GAAG,CAAC,EAAE;YACnB,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAA;SACrD;QACD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAA;QAC1B,IAAI,CAAC,OAAO,GAAG,IAAI,KAAK,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,wBAAgB,CAAC,SAAS,CAAC,CAAC,CAAA;IACzE,CAAC;IAED,SAAS,CAAC,KAAa;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;IAED,mGAAmG;IACnG,+HAA+H;IAC/H,uBAAuB,CAAC,KAAa;QACnC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAA;QAC7B,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,wBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAA;IACxD,CAAC;IAED,2BAA2B;QACzB,KAAK,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;YAC5C,IAAI,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAA;SACpC;IACH,CAAC;CACF;AA5BD,kCA4BC"}
|
||||||
8
node_modules/@actions/artifact/lib/internal/path-and-artifact-name-validation.d.ts
generated
vendored
Normal file
8
node_modules/@actions/artifact/lib/internal/path-and-artifact-name-validation.d.ts
generated
vendored
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
/**
|
||||||
|
* Scans the name of the artifact to make sure there are no illegal characters
|
||||||
|
*/
|
||||||
|
export declare function checkArtifactName(name: string): void;
|
||||||
|
/**
|
||||||
|
* Scans the name of the filePath used to make sure there are no illegal characters
|
||||||
|
*/
|
||||||
|
export declare function checkArtifactFilePath(path: string): void;
|
||||||
67
node_modules/@actions/artifact/lib/internal/path-and-artifact-name-validation.js
generated
vendored
Normal file
67
node_modules/@actions/artifact/lib/internal/path-and-artifact-name-validation.js
generated
vendored
Normal file
@@ -0,0 +1,67 @@
|
|||||||
|
"use strict";
|
||||||
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.checkArtifactFilePath = exports.checkArtifactName = void 0;
|
||||||
|
const core_1 = require("@actions/core");
|
||||||
|
/**
|
||||||
|
* Invalid characters that cannot be in the artifact name or an uploaded file. Will be rejected
|
||||||
|
* from the server if attempted to be sent over. These characters are not allowed due to limitations with certain
|
||||||
|
* file systems such as NTFS. To maintain platform-agnostic behavior, all characters that are not supported by an
|
||||||
|
* individual filesystem/platform will not be supported on all fileSystems/platforms
|
||||||
|
*
|
||||||
|
* FilePaths can include characters such as \ and / which are not permitted in the artifact name alone
|
||||||
|
*/
|
||||||
|
const invalidArtifactFilePathCharacters = new Map([
|
||||||
|
['"', ' Double quote "'],
|
||||||
|
[':', ' Colon :'],
|
||||||
|
['<', ' Less than <'],
|
||||||
|
['>', ' Greater than >'],
|
||||||
|
['|', ' Vertical bar |'],
|
||||||
|
['*', ' Asterisk *'],
|
||||||
|
['?', ' Question mark ?'],
|
||||||
|
['\r', ' Carriage return \\r'],
|
||||||
|
['\n', ' Line feed \\n']
|
||||||
|
]);
|
||||||
|
const invalidArtifactNameCharacters = new Map([
|
||||||
|
...invalidArtifactFilePathCharacters,
|
||||||
|
['\\', ' Backslash \\'],
|
||||||
|
['/', ' Forward slash /']
|
||||||
|
]);
|
||||||
|
/**
|
||||||
|
* Scans the name of the artifact to make sure there are no illegal characters
|
||||||
|
*/
|
||||||
|
function checkArtifactName(name) {
|
||||||
|
if (!name) {
|
||||||
|
throw new Error(`Artifact name: ${name}, is incorrectly provided`);
|
||||||
|
}
|
||||||
|
for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactNameCharacters) {
|
||||||
|
if (name.includes(invalidCharacterKey)) {
|
||||||
|
throw new Error(`Artifact name is not valid: ${name}. Contains the following character: ${errorMessageForCharacter}
|
||||||
|
|
||||||
|
Invalid characters include: ${Array.from(invalidArtifactNameCharacters.values()).toString()}
|
||||||
|
|
||||||
|
These characters are not allowed in the artifact name due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
core_1.info(`Artifact name is valid!`);
|
||||||
|
}
|
||||||
|
exports.checkArtifactName = checkArtifactName;
|
||||||
|
/**
|
||||||
|
* Scans the name of the filePath used to make sure there are no illegal characters
|
||||||
|
*/
|
||||||
|
function checkArtifactFilePath(path) {
|
||||||
|
if (!path) {
|
||||||
|
throw new Error(`Artifact path: ${path}, is incorrectly provided`);
|
||||||
|
}
|
||||||
|
for (const [invalidCharacterKey, errorMessageForCharacter] of invalidArtifactFilePathCharacters) {
|
||||||
|
if (path.includes(invalidCharacterKey)) {
|
||||||
|
throw new Error(`Artifact path is not valid: ${path}. Contains the following character: ${errorMessageForCharacter}
|
||||||
|
|
||||||
|
Invalid characters include: ${Array.from(invalidArtifactFilePathCharacters.values()).toString()}
|
||||||
|
|
||||||
|
The following characters are not allowed in files that are uploaded due to limitations with certain file systems such as NTFS. To maintain file system agnostic behavior, these characters are intentionally not allowed to prevent potential problems with downloads on different file systems.
|
||||||
|
`);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
exports.checkArtifactFilePath = checkArtifactFilePath;
|
||||||
|
//# sourceMappingURL=path-and-artifact-name-validation.js.map
|
||||||
1
node_modules/@actions/artifact/lib/internal/path-and-artifact-name-validation.js.map
generated
vendored
Normal file
1
node_modules/@actions/artifact/lib/internal/path-and-artifact-name-validation.js.map
generated
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"version":3,"file":"path-and-artifact-name-validation.js","sourceRoot":"","sources":["../../src/internal/path-and-artifact-name-validation.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAElC;;;;;;;GAOG;AACH,MAAM,iCAAiC,GAAG,IAAI,GAAG,CAAiB;IAChE,CAAC,GAAG,EAAE,iBAAiB,CAAC;IACxB,CAAC,GAAG,EAAE,UAAU,CAAC;IACjB,CAAC,GAAG,EAAE,cAAc,CAAC;IACrB,CAAC,GAAG,EAAE,iBAAiB,CAAC;IACxB,CAAC,GAAG,EAAE,iBAAiB,CAAC;IACxB,CAAC,GAAG,EAAE,aAAa,CAAC;IACpB,CAAC,GAAG,EAAE,kBAAkB,CAAC;IACzB,CAAC,IAAI,EAAE,sBAAsB,CAAC;IAC9B,CAAC,IAAI,EAAE,gBAAgB,CAAC;CACzB,CAAC,CAAA;AAEF,MAAM,6BAA6B,GAAG,IAAI,GAAG,CAAiB;IAC5D,GAAG,iCAAiC;IACpC,CAAC,IAAI,EAAE,eAAe,CAAC;IACvB,CAAC,GAAG,EAAE,kBAAkB,CAAC;CAC1B,CAAC,CAAA;AAEF;;GAEG;AACH,SAAgB,iBAAiB,CAAC,IAAY;IAC5C,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,2BAA2B,CAAC,CAAA;KACnE;IAED,KAAK,MAAM,CACT,mBAAmB,EACnB,wBAAwB,CACzB,IAAI,6BAA6B,EAAE;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACtC,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,uCAAuC,wBAAwB;;8BAE5E,KAAK,CAAC,IAAI,CAC9B,6BAA6B,CAAC,MAAM,EAAE,CACvC,CAAC,QAAQ,EAAE;;mRAE+P,CAC5Q,CAAA;SACF;KACF;IAED,WAAI,CAAC,yBAAyB,CAAC,CAAA;AACjC,CAAC;AAvBD,8CAuBC;AAED;;GAEG;AACH,SAAgB,qBAAqB,CAAC,IAAY;IAChD,IAAI,CAAC,IAAI,EAAE;QACT,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,2BAA2B,CAAC,CAAA;KACnE;IAED,KAAK,MAAM,CACT,mBAAmB,EACnB,wBAAwB,CACzB,IAAI,iCAAiC,EAAE;QACtC,IAAI,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;YACtC,MAAM,IAAI,KAAK,CACb,+BAA+B,IAAI,uCAAuC,wBAAwB;;8BAE5E,KAAK,CAAC,IAAI,CAC9B,iCAAiC,CAAC,MAAM,EAAE,CAC3C,CAAC,QAAQ,EAAE;;;WAGT,CACJ,CAAA;SACF;KACF;AACH,CAAC;AAtBD,sDAsBC"}
|
||||||
27
node_modules/@actions/artifact/lib/internal/requestUtils.js
generated
vendored
27
node_modules/@actions/artifact/lib/internal/requestUtils.js
generated
vendored
@@ -1,4 +1,23 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
||||||
|
}) : (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
o[k2] = m[k];
|
||||||
|
}));
|
||||||
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||||
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||||
|
}) : function(o, v) {
|
||||||
|
o["default"] = v;
|
||||||
|
});
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||||
|
__setModuleDefault(result, mod);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
@@ -8,14 +27,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
||||||
result["default"] = mod;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.retryHttpClientRequest = exports.retry = void 0;
|
||||||
const utils_1 = require("./utils");
|
const utils_1 = require("./utils");
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const config_variables_1 = require("./config-variables");
|
const config_variables_1 = require("./config-variables");
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/requestUtils.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/requestUtils.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/internal/requestUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AACA,mCAMgB;AAChB,oDAAqC;AACrC,yDAAgD;AAEhD,SAAsB,KAAK,CACzB,IAAY,EACZ,SAA6C,EAC7C,mBAAwC,EACxC,WAAmB;;QAEnB,IAAI,QAAQ,GAAoC,SAAS,CAAA;QACzD,IAAI,UAAU,GAAuB,SAAS,CAAA;QAC9C,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,IAAI,YAAY,GAAG,EAAE,CAAA;QACrB,IAAI,sBAAsB,GAAuB,SAAS,CAAA;QAC1D,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,OAAO,OAAO,IAAI,WAAW,EAAE;YAC7B,IAAI;gBACF,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAA;gBAC5B,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;gBAExC,IAAI,2BAAmB,CAAC,UAAU,CAAC,EAAE;oBACnC,OAAO,QAAQ,CAAA;iBAChB;gBAED,uFAAuF;gBACvF,IAAI,UAAU,EAAE;oBACd,sBAAsB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;iBAC7D;gBAED,WAAW,GAAG,6BAAqB,CAAC,UAAU,CAAC,CAAA;gBAC/C,YAAY,GAAG,mCAAmC,UAAU,EAAE,CAAA;aAC/D;YAAC,OAAO,KAAK,EAAE;gBACd,WAAW,GAAG,IAAI,CAAA;gBAClB,YAAY,GAAG,KAAK,CAAC,OAAO,CAAA;aAC7B;YAED,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAA;gBAC7C,IAAI,QAAQ,EAAE;oBACZ,8BAAsB,CAAC,QAAQ,CAAC,CAAA;iBACjC;gBACD,MAAK;aACN;YAED,IAAI,CAAC,IAAI,CACP,GAAG,IAAI,cAAc,OAAO,OAAO,WAAW,uBAAuB,YAAY,EAAE,CACpF,CAAA;YAED,MAAM,aAAK,CAAC,6CAAqC,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3D,OAAO,EAAE,CAAA;SACV;QAED,IAAI,QAAQ,EAAE;YACZ,8BAAsB,CAAC,QAAQ,CAAC,CAAA;SACjC;QAED,IAAI,sBAAsB,EAAE;YAC1B,MAAM,KAAK,CAAC,GAAG,IAAI,YAAY,sBAAsB,EAAE,CAAC,CAAA;SACzD;QACD,MAAM,KAAK,CAAC,GAAG,IAAI,YAAY,YAAY,EAAE,CAAC,CAAA;IAChD,CAAC;CAAA;AA1DD,sBA0DC;AAED,SAAsB,sBAAsB,CAC1C,IAAY,EACZ,MAA0C,EAC1C,sBAA2C,IAAI,GAAG,EAAE,EACpD,WAAW,GAAG,gCAAa,EAAE;;QAE7B,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAA;IACpE,CAAC;CAAA;AAPD,wDAOC"}
|
{"version":3,"file":"requestUtils.js","sourceRoot":"","sources":["../../src/internal/requestUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,mCAMgB;AAChB,oDAAqC;AACrC,yDAAgD;AAEhD,SAAsB,KAAK,CACzB,IAAY,EACZ,SAA6C,EAC7C,mBAAwC,EACxC,WAAmB;;QAEnB,IAAI,QAAQ,GAAoC,SAAS,CAAA;QACzD,IAAI,UAAU,GAAuB,SAAS,CAAA;QAC9C,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,IAAI,YAAY,GAAG,EAAE,CAAA;QACrB,IAAI,sBAAsB,GAAuB,SAAS,CAAA;QAC1D,IAAI,OAAO,GAAG,CAAC,CAAA;QAEf,OAAO,OAAO,IAAI,WAAW,EAAE;YAC7B,IAAI;gBACF,QAAQ,GAAG,MAAM,SAAS,EAAE,CAAA;gBAC5B,UAAU,GAAG,QAAQ,CAAC,OAAO,CAAC,UAAU,CAAA;gBAExC,IAAI,2BAAmB,CAAC,UAAU,CAAC,EAAE;oBACnC,OAAO,QAAQ,CAAA;iBAChB;gBAED,uFAAuF;gBACvF,IAAI,UAAU,EAAE;oBACd,sBAAsB,GAAG,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAA;iBAC7D;gBAED,WAAW,GAAG,6BAAqB,CAAC,UAAU,CAAC,CAAA;gBAC/C,YAAY,GAAG,mCAAmC,UAAU,EAAE,CAAA;aAC/D;YAAC,OAAO,KAAK,EAAE;gBACd,WAAW,GAAG,IAAI,CAAA;gBAClB,YAAY,GAAG,KAAK,CAAC,OAAO,CAAA;aAC7B;YAED,IAAI,CAAC,WAAW,EAAE;gBAChB,IAAI,CAAC,IAAI,CAAC,GAAG,IAAI,2BAA2B,CAAC,CAAA;gBAC7C,IAAI,QAAQ,EAAE;oBACZ,8BAAsB,CAAC,QAAQ,CAAC,CAAA;iBACjC;gBACD,MAAK;aACN;YAED,IAAI,CAAC,IAAI,CACP,GAAG,IAAI,cAAc,OAAO,OAAO,WAAW,uBAAuB,YAAY,EAAE,CACpF,CAAA;YAED,MAAM,aAAK,CAAC,6CAAqC,CAAC,OAAO,CAAC,CAAC,CAAA;YAC3D,OAAO,EAAE,CAAA;SACV;QAED,IAAI,QAAQ,EAAE;YACZ,8BAAsB,CAAC,QAAQ,CAAC,CAAA;SACjC;QAED,IAAI,sBAAsB,EAAE;YAC1B,MAAM,KAAK,CAAC,GAAG,IAAI,YAAY,sBAAsB,EAAE,CAAC,CAAA;SACzD;QACD,MAAM,KAAK,CAAC,GAAG,IAAI,YAAY,YAAY,EAAE,CAAC,CAAA;IAChD,CAAC;CAAA;AA1DD,sBA0DC;AAED,SAAsB,sBAAsB,CAC1C,IAAY,EACZ,MAA0C,EAC1C,sBAA2C,IAAI,GAAG,EAAE,EACpD,WAAW,GAAG,gCAAa,EAAE;;QAE7B,OAAO,MAAM,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,mBAAmB,EAAE,WAAW,CAAC,CAAA;IACpE,CAAC;CAAA;AAPD,wDAOC"}
|
||||||
3
node_modules/@actions/artifact/lib/internal/status-reporter.d.ts
generated
vendored
3
node_modules/@actions/artifact/lib/internal/status-reporter.d.ts
generated
vendored
@@ -11,11 +11,10 @@ export declare class StatusReporter {
|
|||||||
private displayFrequencyInMilliseconds;
|
private displayFrequencyInMilliseconds;
|
||||||
private largeFiles;
|
private largeFiles;
|
||||||
private totalFileStatus;
|
private totalFileStatus;
|
||||||
private largeFileStatus;
|
|
||||||
constructor(displayFrequencyInMilliseconds: number);
|
constructor(displayFrequencyInMilliseconds: number);
|
||||||
setTotalNumberOfFilesToProcess(fileTotal: number): void;
|
setTotalNumberOfFilesToProcess(fileTotal: number): void;
|
||||||
start(): void;
|
start(): void;
|
||||||
updateLargeFileStatus(fileName: string, numerator: number, denominator: number): void;
|
updateLargeFileStatus(fileName: string, chunkStartIndex: number, chunkEndIndex: number, totalUploadFileSize: number): void;
|
||||||
stop(): void;
|
stop(): void;
|
||||||
incrementProcessedCount(): void;
|
incrementProcessedCount(): void;
|
||||||
private formatPercentage;
|
private formatPercentage;
|
||||||
|
|||||||
22
node_modules/@actions/artifact/lib/internal/status-reporter.js
generated
vendored
22
node_modules/@actions/artifact/lib/internal/status-reporter.js
generated
vendored
@@ -1,5 +1,6 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.StatusReporter = void 0;
|
||||||
const core_1 = require("@actions/core");
|
const core_1 = require("@actions/core");
|
||||||
/**
|
/**
|
||||||
* Status Reporter that displays information about the progress/status of an artifact that is being uploaded or downloaded
|
* Status Reporter that displays information about the progress/status of an artifact that is being uploaded or downloaded
|
||||||
@@ -14,11 +15,11 @@ class StatusReporter {
|
|||||||
this.processedCount = 0;
|
this.processedCount = 0;
|
||||||
this.largeFiles = new Map();
|
this.largeFiles = new Map();
|
||||||
this.totalFileStatus = undefined;
|
this.totalFileStatus = undefined;
|
||||||
this.largeFileStatus = undefined;
|
|
||||||
this.displayFrequencyInMilliseconds = displayFrequencyInMilliseconds;
|
this.displayFrequencyInMilliseconds = displayFrequencyInMilliseconds;
|
||||||
}
|
}
|
||||||
setTotalNumberOfFilesToProcess(fileTotal) {
|
setTotalNumberOfFilesToProcess(fileTotal) {
|
||||||
this.totalNumberOfFilesToProcess = fileTotal;
|
this.totalNumberOfFilesToProcess = fileTotal;
|
||||||
|
this.processedCount = 0;
|
||||||
}
|
}
|
||||||
start() {
|
start() {
|
||||||
// displays information about the total upload/download status
|
// displays information about the total upload/download status
|
||||||
@@ -27,30 +28,17 @@ class StatusReporter {
|
|||||||
const percentage = this.formatPercentage(this.processedCount, this.totalNumberOfFilesToProcess);
|
const percentage = this.formatPercentage(this.processedCount, this.totalNumberOfFilesToProcess);
|
||||||
core_1.info(`Total file count: ${this.totalNumberOfFilesToProcess} ---- Processed file #${this.processedCount} (${percentage.slice(0, percentage.indexOf('.') + 2)}%)`);
|
core_1.info(`Total file count: ${this.totalNumberOfFilesToProcess} ---- Processed file #${this.processedCount} (${percentage.slice(0, percentage.indexOf('.') + 2)}%)`);
|
||||||
}, this.displayFrequencyInMilliseconds);
|
}, this.displayFrequencyInMilliseconds);
|
||||||
// displays extra information about any large files that take a significant amount of time to upload or download every 1 second
|
|
||||||
this.largeFileStatus = setInterval(() => {
|
|
||||||
for (const value of Array.from(this.largeFiles.values())) {
|
|
||||||
core_1.info(value);
|
|
||||||
}
|
|
||||||
// delete all entries in the map after displaying the information so it will not be displayed again unless explicitly added
|
|
||||||
this.largeFiles.clear();
|
|
||||||
}, 1000);
|
|
||||||
}
|
}
|
||||||
// if there is a large file that is being uploaded in chunks, this is used to display extra information about the status of the upload
|
// if there is a large file that is being uploaded in chunks, this is used to display extra information about the status of the upload
|
||||||
updateLargeFileStatus(fileName, numerator, denominator) {
|
updateLargeFileStatus(fileName, chunkStartIndex, chunkEndIndex, totalUploadFileSize) {
|
||||||
// display 1 decimal place without any rounding
|
// display 1 decimal place without any rounding
|
||||||
const percentage = this.formatPercentage(numerator, denominator);
|
const percentage = this.formatPercentage(chunkEndIndex, totalUploadFileSize);
|
||||||
const displayInformation = `Uploading ${fileName} (${percentage.slice(0, percentage.indexOf('.') + 2)}%)`;
|
core_1.info(`Uploaded ${fileName} (${percentage.slice(0, percentage.indexOf('.') + 2)}%) bytes ${chunkStartIndex}:${chunkEndIndex}`);
|
||||||
// any previously added display information should be overwritten for the specific large file because a map is being used
|
|
||||||
this.largeFiles.set(fileName, displayInformation);
|
|
||||||
}
|
}
|
||||||
stop() {
|
stop() {
|
||||||
if (this.totalFileStatus) {
|
if (this.totalFileStatus) {
|
||||||
clearInterval(this.totalFileStatus);
|
clearInterval(this.totalFileStatus);
|
||||||
}
|
}
|
||||||
if (this.largeFileStatus) {
|
|
||||||
clearInterval(this.largeFileStatus);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
incrementProcessedCount() {
|
incrementProcessedCount() {
|
||||||
this.processedCount++;
|
this.processedCount++;
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/status-reporter.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/status-reporter.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"status-reporter.js","sourceRoot":"","sources":["../../src/internal/status-reporter.ts"],"names":[],"mappings":";;AAAA,wCAAkC;AAElC;;;;;;GAMG;AAEH,MAAa,cAAc;IAQzB,YAAY,8BAAsC;QAP1C,gCAA2B,GAAG,CAAC,CAAA;QAC/B,mBAAc,GAAG,CAAC,CAAA;QAElB,eAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;QAK5C,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,IAAI,CAAC,8BAA8B,GAAG,8BAA8B,CAAA;IACtE,CAAC;IAED,8BAA8B,CAAC,SAAiB;QAC9C,IAAI,CAAC,2BAA2B,GAAG,SAAS,CAAA;IAC9C,CAAC;IAED,KAAK;QACH,8DAA8D;QAC9D,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,+CAA+C;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACtC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,2BAA2B,CACjC,CAAA;YACD,WAAI,CACF,qBACE,IAAI,CAAC,2BACP,yBAAyB,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC,KAAK,CAC/D,CAAC,EACD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAC5B,IAAI,CACN,CAAA;QACH,CAAC,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAA;QAEvC,+HAA+H;QAC/H,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,KAAK,MAAM,KAAK,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE;gBACxD,WAAI,CAAC,KAAK,CAAC,CAAA;aACZ;YACD,2HAA2H;YAC3H,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAA;QACzB,CAAC,EAAE,IAAI,CAAC,CAAA;IACV,CAAC;IAED,sIAAsI;IACtI,qBAAqB,CACnB,QAAgB,EAChB,SAAiB,EACjB,WAAmB;QAEnB,+CAA+C;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAA;QAChE,MAAM,kBAAkB,GAAG,aAAa,QAAQ,KAAK,UAAU,CAAC,KAAK,CACnE,CAAC,EACD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAC5B,IAAI,CAAA;QAEL,yHAAyH;QACzH,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,QAAQ,EAAE,kBAAkB,CAAC,CAAA;IACnD,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;SACpC;QAED,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;SACpC;IACH,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,cAAc,EAAE,CAAA;IACvB,CAAC;IAEO,gBAAgB,CAAC,SAAiB,EAAE,WAAmB;QAC7D,0HAA0H;QAC1H,OAAO,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAChE,CAAC;CACF;AAjFD,wCAiFC"}
|
{"version":3,"file":"status-reporter.js","sourceRoot":"","sources":["../../src/internal/status-reporter.ts"],"names":[],"mappings":";;;AAAA,wCAAkC;AAElC;;;;;;GAMG;AAEH,MAAa,cAAc;IAOzB,YAAY,8BAAsC;QAN1C,gCAA2B,GAAG,CAAC,CAAA;QAC/B,mBAAc,GAAG,CAAC,CAAA;QAElB,eAAU,GAAG,IAAI,GAAG,EAAkB,CAAA;QAI5C,IAAI,CAAC,eAAe,GAAG,SAAS,CAAA;QAChC,IAAI,CAAC,8BAA8B,GAAG,8BAA8B,CAAA;IACtE,CAAC;IAED,8BAA8B,CAAC,SAAiB;QAC9C,IAAI,CAAC,2BAA2B,GAAG,SAAS,CAAA;QAC5C,IAAI,CAAC,cAAc,GAAG,CAAC,CAAA;IACzB,CAAC;IAED,KAAK;QACH,8DAA8D;QAC9D,IAAI,CAAC,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;YACtC,+CAA+C;YAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CACtC,IAAI,CAAC,cAAc,EACnB,IAAI,CAAC,2BAA2B,CACjC,CAAA;YACD,WAAI,CACF,qBACE,IAAI,CAAC,2BACP,yBAAyB,IAAI,CAAC,cAAc,KAAK,UAAU,CAAC,KAAK,CAC/D,CAAC,EACD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAC5B,IAAI,CACN,CAAA;QACH,CAAC,EAAE,IAAI,CAAC,8BAA8B,CAAC,CAAA;IACzC,CAAC;IAED,sIAAsI;IACtI,qBAAqB,CACnB,QAAgB,EAChB,eAAuB,EACvB,aAAqB,EACrB,mBAA2B;QAE3B,+CAA+C;QAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,EAAE,mBAAmB,CAAC,CAAA;QAC5E,WAAI,CACF,YAAY,QAAQ,KAAK,UAAU,CAAC,KAAK,CACvC,CAAC,EACD,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAC5B,YAAY,eAAe,IAAI,aAAa,EAAE,CAChD,CAAA;IACH,CAAC;IAED,IAAI;QACF,IAAI,IAAI,CAAC,eAAe,EAAE;YACxB,aAAa,CAAC,IAAI,CAAC,eAAe,CAAC,CAAA;SACpC;IACH,CAAC;IAED,uBAAuB;QACrB,IAAI,CAAC,cAAc,EAAE,CAAA;IACvB,CAAC;IAEO,gBAAgB,CAAC,SAAiB,EAAE,WAAmB;QAC7D,0HAA0H;QAC1H,OAAO,CAAC,CAAC,SAAS,GAAG,WAAW,CAAC,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;IAChE,CAAC;CACF;AAnED,wCAmEC"}
|
||||||
46
node_modules/@actions/artifact/lib/internal/upload-gzip.js
generated
vendored
46
node_modules/@actions/artifact/lib/internal/upload-gzip.js
generated
vendored
@@ -1,4 +1,23 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
||||||
|
}) : (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
o[k2] = m[k];
|
||||||
|
}));
|
||||||
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||||
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||||
|
}) : function(o, v) {
|
||||||
|
o["default"] = v;
|
||||||
|
});
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||||
|
__setModuleDefault(result, mod);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
@@ -15,18 +34,25 @@ var __asyncValues = (this && this.__asyncValues) || function (o) {
|
|||||||
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }
|
||||||
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }
|
||||||
};
|
};
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
||||||
result["default"] = mod;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.createGZipFileInBuffer = exports.createGZipFileOnDisk = void 0;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const zlib = __importStar(require("zlib"));
|
const zlib = __importStar(require("zlib"));
|
||||||
const util_1 = require("util");
|
const util_1 = require("util");
|
||||||
const stat = util_1.promisify(fs.stat);
|
const stat = util_1.promisify(fs.stat);
|
||||||
|
/**
|
||||||
|
* GZipping certain files that are already compressed will likely not yield further size reductions. Creating large temporary gzip
|
||||||
|
* files then will just waste a lot of time before ultimately being discarded (especially for very large files).
|
||||||
|
* If any of these types of files are encountered then on-disk gzip creation will be skipped and the original file will be uploaded as-is
|
||||||
|
*/
|
||||||
|
const gzipExemptFileExtensions = [
|
||||||
|
'.gzip',
|
||||||
|
'.zip',
|
||||||
|
'.tar.lz',
|
||||||
|
'.tar.gz',
|
||||||
|
'.tar.bz2',
|
||||||
|
'.7z'
|
||||||
|
];
|
||||||
/**
|
/**
|
||||||
* Creates a Gzip compressed file of an original file at the provided temporary filepath location
|
* Creates a Gzip compressed file of an original file at the provided temporary filepath location
|
||||||
* @param {string} originalFilePath filepath of whatever will be compressed. The original file will be unmodified
|
* @param {string} originalFilePath filepath of whatever will be compressed. The original file will be unmodified
|
||||||
@@ -35,6 +61,12 @@ const stat = util_1.promisify(fs.stat);
|
|||||||
*/
|
*/
|
||||||
function createGZipFileOnDisk(originalFilePath, tempFilePath) {
|
function createGZipFileOnDisk(originalFilePath, tempFilePath) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
|
for (const gzipExemptExtension of gzipExemptFileExtensions) {
|
||||||
|
if (originalFilePath.endsWith(gzipExemptExtension)) {
|
||||||
|
// return a really large number so that the original file gets uploaded
|
||||||
|
return Number.MAX_SAFE_INTEGER;
|
||||||
|
}
|
||||||
|
}
|
||||||
return new Promise((resolve, reject) => {
|
return new Promise((resolve, reject) => {
|
||||||
const inputStream = fs.createReadStream(originalFilePath);
|
const inputStream = fs.createReadStream(originalFilePath);
|
||||||
const gzip = zlib.createGzip();
|
const gzip = zlib.createGzip();
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/upload-gzip.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/upload-gzip.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"upload-gzip.js","sourceRoot":"","sources":["../../src/internal/upload-gzip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAC5B,+BAA8B;AAC9B,MAAM,IAAI,GAAG,gBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;AAE/B;;;;;GAKG;AACH,SAAsB,oBAAoB,CACxC,gBAAwB,EACxB,YAAoB;;QAEpB,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YAC9B,MAAM,YAAY,GAAG,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;YACvD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACzC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAS,EAAE;gBACnC,qIAAqI;gBACrI,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,CAAA,CAAC,CAAA;YACF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBAC/B,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAM,CAAA;YACR,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AApBD,oDAoBC;AAED;;;;GAIG;AACH,SAAsB,sBAAsB,CAC1C,gBAAwB;;QAExB,OAAO,IAAI,OAAO,CAAC,CAAM,OAAO,EAAC,EAAE;;YACjC,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtB,8IAA8I;YAC9I,MAAM,MAAM,GAAG,EAAE,CAAA;;gBACjB,KAA0B,IAAA,SAAA,cAAA,IAAI,CAAA,UAAA;oBAAnB,MAAM,KAAK,iBAAA,CAAA;oBACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;iBACnB;;;;;;;;;YACD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAChC,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;CAAA;AAdD,wDAcC"}
|
{"version":3,"file":"upload-gzip.js","sourceRoot":"","sources":["../../src/internal/upload-gzip.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,2CAA4B;AAC5B,+BAA8B;AAC9B,MAAM,IAAI,GAAG,gBAAS,CAAC,EAAE,CAAC,IAAI,CAAC,CAAA;AAE/B;;;;GAIG;AACH,MAAM,wBAAwB,GAAG;IAC/B,OAAO;IACP,MAAM;IACN,SAAS;IACT,SAAS;IACT,UAAU;IACV,KAAK;CACN,CAAA;AAED;;;;;GAKG;AACH,SAAsB,oBAAoB,CACxC,gBAAwB,EACxB,YAAoB;;QAEpB,KAAK,MAAM,mBAAmB,IAAI,wBAAwB,EAAE;YAC1D,IAAI,gBAAgB,CAAC,QAAQ,CAAC,mBAAmB,CAAC,EAAE;gBAClD,uEAAuE;gBACvE,OAAO,MAAM,CAAC,gBAAgB,CAAA;aAC/B;SACF;QAED,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YAC9B,MAAM,YAAY,GAAG,EAAE,CAAC,iBAAiB,CAAC,YAAY,CAAC,CAAA;YACvD,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,CAAA;YACzC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAS,EAAE;gBACnC,qIAAqI;gBACrI,MAAM,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAA;gBAC5C,OAAO,CAAC,IAAI,CAAC,CAAA;YACf,CAAC,CAAA,CAAC,CAAA;YACF,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE;gBAC/B,sCAAsC;gBACtC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;gBAClB,MAAM,CAAA;YACR,CAAC,CAAC,CAAA;QACJ,CAAC,CAAC,CAAA;IACJ,CAAC;CAAA;AA3BD,oDA2BC;AAED;;;;GAIG;AACH,SAAsB,sBAAsB,CAC1C,gBAAwB;;QAExB,OAAO,IAAI,OAAO,CAAC,CAAM,OAAO,EAAC,EAAE;;YACjC,MAAM,WAAW,GAAG,EAAE,CAAC,gBAAgB,CAAC,gBAAgB,CAAC,CAAA;YACzD,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,EAAE,CAAA;YAC9B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;YACtB,8IAA8I;YAC9I,MAAM,MAAM,GAAG,EAAE,CAAA;;gBACjB,KAA0B,IAAA,SAAA,cAAA,IAAI,CAAA,UAAA;oBAAnB,MAAM,KAAK,iBAAA,CAAA;oBACpB,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;iBACnB;;;;;;;;;YACD,OAAO,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAA;QAChC,CAAC,CAAA,CAAC,CAAA;IACJ,CAAC;CAAA;AAdD,wDAcC"}
|
||||||
70
node_modules/@actions/artifact/lib/internal/upload-http-client.js
generated
vendored
70
node_modules/@actions/artifact/lib/internal/upload-http-client.js
generated
vendored
@@ -1,4 +1,23 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
||||||
|
}) : (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
o[k2] = m[k];
|
||||||
|
}));
|
||||||
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||||
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||||
|
}) : function(o, v) {
|
||||||
|
o["default"] = v;
|
||||||
|
});
|
||||||
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
|
if (mod && mod.__esModule) return mod;
|
||||||
|
var result = {};
|
||||||
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||||
|
__setModuleDefault(result, mod);
|
||||||
|
return result;
|
||||||
|
};
|
||||||
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
||||||
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
||||||
return new (P || (P = Promise))(function (resolve, reject) {
|
return new (P || (P = Promise))(function (resolve, reject) {
|
||||||
@@ -8,14 +27,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|||||||
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
|
||||||
if (mod && mod.__esModule) return mod;
|
|
||||||
var result = {};
|
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
|
||||||
result["default"] = mod;
|
|
||||||
return result;
|
|
||||||
};
|
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.UploadHttpClient = void 0;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const core = __importStar(require("@actions/core"));
|
const core = __importStar(require("@actions/core"));
|
||||||
const tmp = __importStar(require("tmp-promise"));
|
const tmp = __importStar(require("tmp-promise"));
|
||||||
@@ -161,27 +174,33 @@ class UploadHttpClient {
|
|||||||
*/
|
*/
|
||||||
uploadFileAsync(httpClientIndex, parameters) {
|
uploadFileAsync(httpClientIndex, parameters) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
const totalFileSize = (yield stat(parameters.file)).size;
|
const fileStat = yield stat(parameters.file);
|
||||||
|
const totalFileSize = fileStat.size;
|
||||||
|
const isFIFO = fileStat.isFIFO();
|
||||||
let offset = 0;
|
let offset = 0;
|
||||||
let isUploadSuccessful = true;
|
let isUploadSuccessful = true;
|
||||||
let failedChunkSizes = 0;
|
let failedChunkSizes = 0;
|
||||||
let uploadFileSize = 0;
|
let uploadFileSize = 0;
|
||||||
let isGzip = true;
|
let isGzip = true;
|
||||||
// the file that is being uploaded is less than 64k in size, to increase throughput and to minimize disk I/O
|
// the file that is being uploaded is less than 64k in size to increase throughput and to minimize disk I/O
|
||||||
// for creating a new GZip file, an in-memory buffer is used for compression
|
// for creating a new GZip file, an in-memory buffer is used for compression
|
||||||
if (totalFileSize < 65536) {
|
// with named pipes the file size is reported as zero in that case don't read the file in memory
|
||||||
|
if (!isFIFO && totalFileSize < 65536) {
|
||||||
|
core.debug(`${parameters.file} is less than 64k in size. Creating a gzip file in-memory to potentially reduce the upload size`);
|
||||||
const buffer = yield upload_gzip_1.createGZipFileInBuffer(parameters.file);
|
const buffer = yield upload_gzip_1.createGZipFileInBuffer(parameters.file);
|
||||||
//An open stream is needed in the event of a failure and we need to retry. If a NodeJS.ReadableStream is directly passed in,
|
// An open stream is needed in the event of a failure and we need to retry. If a NodeJS.ReadableStream is directly passed in,
|
||||||
// it will not properly get reset to the start of the stream if a chunk upload needs to be retried
|
// it will not properly get reset to the start of the stream if a chunk upload needs to be retried
|
||||||
let openUploadStream;
|
let openUploadStream;
|
||||||
if (totalFileSize < buffer.byteLength) {
|
if (totalFileSize < buffer.byteLength) {
|
||||||
// compression did not help with reducing the size, use a readable stream from the original file for upload
|
// compression did not help with reducing the size, use a readable stream from the original file for upload
|
||||||
|
core.debug(`The gzip file created for ${parameters.file} did not help with reducing the size of the file. The original file will be uploaded as-is`);
|
||||||
openUploadStream = () => fs.createReadStream(parameters.file);
|
openUploadStream = () => fs.createReadStream(parameters.file);
|
||||||
isGzip = false;
|
isGzip = false;
|
||||||
uploadFileSize = totalFileSize;
|
uploadFileSize = totalFileSize;
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
// create a readable stream using a PassThrough stream that is both readable and writable
|
// create a readable stream using a PassThrough stream that is both readable and writable
|
||||||
|
core.debug(`A gzip file created for ${parameters.file} helped with reducing the size of the original file. The file will be uploaded using gzip.`);
|
||||||
openUploadStream = () => {
|
openUploadStream = () => {
|
||||||
const passThrough = new stream.PassThrough();
|
const passThrough = new stream.PassThrough();
|
||||||
passThrough.end(buffer);
|
passThrough.end(buffer);
|
||||||
@@ -206,25 +225,27 @@ class UploadHttpClient {
|
|||||||
// the file that is being uploaded is greater than 64k in size, a temporary file gets created on disk using the
|
// the file that is being uploaded is greater than 64k in size, a temporary file gets created on disk using the
|
||||||
// npm tmp-promise package and this file gets used to create a GZipped file
|
// npm tmp-promise package and this file gets used to create a GZipped file
|
||||||
const tempFile = yield tmp.file();
|
const tempFile = yield tmp.file();
|
||||||
|
core.debug(`${parameters.file} is greater than 64k in size. Creating a gzip file on-disk ${tempFile.path} to potentially reduce the upload size`);
|
||||||
// create a GZip file of the original file being uploaded, the original file should not be modified in any way
|
// create a GZip file of the original file being uploaded, the original file should not be modified in any way
|
||||||
uploadFileSize = yield upload_gzip_1.createGZipFileOnDisk(parameters.file, tempFile.path);
|
uploadFileSize = yield upload_gzip_1.createGZipFileOnDisk(parameters.file, tempFile.path);
|
||||||
let uploadFilePath = tempFile.path;
|
let uploadFilePath = tempFile.path;
|
||||||
// compression did not help with size reduction, use the original file for upload and delete the temp GZip file
|
// compression did not help with size reduction, use the original file for upload and delete the temp GZip file
|
||||||
if (totalFileSize < uploadFileSize) {
|
// for named pipes totalFileSize is zero, this assumes compression did help
|
||||||
|
if (!isFIFO && totalFileSize < uploadFileSize) {
|
||||||
|
core.debug(`The gzip file created for ${parameters.file} did not help with reducing the size of the file. The original file will be uploaded as-is`);
|
||||||
uploadFileSize = totalFileSize;
|
uploadFileSize = totalFileSize;
|
||||||
uploadFilePath = parameters.file;
|
uploadFilePath = parameters.file;
|
||||||
isGzip = false;
|
isGzip = false;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
core.debug(`The gzip file created for ${parameters.file} is smaller than the original file. The file will be uploaded using gzip.`);
|
||||||
|
}
|
||||||
let abortFileUpload = false;
|
let abortFileUpload = false;
|
||||||
// upload only a single chunk at a time
|
// upload only a single chunk at a time
|
||||||
while (offset < uploadFileSize) {
|
while (offset < uploadFileSize) {
|
||||||
const chunkSize = Math.min(uploadFileSize - offset, parameters.maxChunkSize);
|
const chunkSize = Math.min(uploadFileSize - offset, parameters.maxChunkSize);
|
||||||
// if an individual file is greater than 100MB (1024*1024*100) in size, display extra information about the upload status
|
const startChunkIndex = offset;
|
||||||
if (uploadFileSize > 104857600) {
|
const endChunkIndex = offset + chunkSize - 1;
|
||||||
this.statusReporter.updateLargeFileStatus(parameters.file, offset, uploadFileSize);
|
|
||||||
}
|
|
||||||
const start = offset;
|
|
||||||
const end = offset + chunkSize - 1;
|
|
||||||
offset += parameters.maxChunkSize;
|
offset += parameters.maxChunkSize;
|
||||||
if (abortFileUpload) {
|
if (abortFileUpload) {
|
||||||
// if we don't want to continue in the event of an error, any pending upload chunks will be marked as failed
|
// if we don't want to continue in the event of an error, any pending upload chunks will be marked as failed
|
||||||
@@ -232,10 +253,10 @@ class UploadHttpClient {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
const result = yield this.uploadChunk(httpClientIndex, parameters.resourceUrl, () => fs.createReadStream(uploadFilePath, {
|
const result = yield this.uploadChunk(httpClientIndex, parameters.resourceUrl, () => fs.createReadStream(uploadFilePath, {
|
||||||
start,
|
start: startChunkIndex,
|
||||||
end,
|
end: endChunkIndex,
|
||||||
autoClose: false
|
autoClose: false
|
||||||
}), start, end, uploadFileSize, isGzip, totalFileSize);
|
}), startChunkIndex, endChunkIndex, uploadFileSize, isGzip, totalFileSize);
|
||||||
if (!result) {
|
if (!result) {
|
||||||
// Chunk failed to upload, report as failed and do not continue uploading any more chunks for the file. It is possible that part of a chunk was
|
// Chunk failed to upload, report as failed and do not continue uploading any more chunks for the file. It is possible that part of a chunk was
|
||||||
// successfully uploaded so the server may report a different size for what was uploaded
|
// successfully uploaded so the server may report a different size for what was uploaded
|
||||||
@@ -244,9 +265,16 @@ class UploadHttpClient {
|
|||||||
core.warning(`Aborting upload for ${parameters.file} due to failure`);
|
core.warning(`Aborting upload for ${parameters.file} due to failure`);
|
||||||
abortFileUpload = true;
|
abortFileUpload = true;
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
// if an individual file is greater than 8MB (1024*1024*8) in size, display extra information about the upload status
|
||||||
|
if (uploadFileSize > 8388608) {
|
||||||
|
this.statusReporter.updateLargeFileStatus(parameters.file, startChunkIndex, endChunkIndex, uploadFileSize);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// Delete the temporary file that was created as part of the upload. If the temp file does not get manually deleted by
|
// Delete the temporary file that was created as part of the upload. If the temp file does not get manually deleted by
|
||||||
// calling cleanup, it gets removed when the node process exits. For more info see: https://www.npmjs.com/package/tmp-promise#about
|
// calling cleanup, it gets removed when the node process exits. For more info see: https://www.npmjs.com/package/tmp-promise#about
|
||||||
|
core.debug(`deleting temporary gzip file ${tempFile.path}`);
|
||||||
yield tempFile.cleanup();
|
yield tempFile.cleanup();
|
||||||
return {
|
return {
|
||||||
isSuccess: isUploadSuccessful,
|
isSuccess: isUploadSuccessful,
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/upload-http-client.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/upload-http-client.js.map
generated
vendored
File diff suppressed because one or more lines are too long
23
node_modules/@actions/artifact/lib/internal/upload-specification.js
generated
vendored
23
node_modules/@actions/artifact/lib/internal/upload-specification.js
generated
vendored
@@ -1,16 +1,29 @@
|
|||||||
"use strict";
|
"use strict";
|
||||||
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
||||||
|
}) : (function(o, m, k, k2) {
|
||||||
|
if (k2 === undefined) k2 = k;
|
||||||
|
o[k2] = m[k];
|
||||||
|
}));
|
||||||
|
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||||
|
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||||
|
}) : function(o, v) {
|
||||||
|
o["default"] = v;
|
||||||
|
});
|
||||||
var __importStar = (this && this.__importStar) || function (mod) {
|
var __importStar = (this && this.__importStar) || function (mod) {
|
||||||
if (mod && mod.__esModule) return mod;
|
if (mod && mod.__esModule) return mod;
|
||||||
var result = {};
|
var result = {};
|
||||||
if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];
|
if (mod != null) for (var k in mod) if (k !== "default" && Object.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
||||||
result["default"] = mod;
|
__setModuleDefault(result, mod);
|
||||||
return result;
|
return result;
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.getUploadSpecification = void 0;
|
||||||
const fs = __importStar(require("fs"));
|
const fs = __importStar(require("fs"));
|
||||||
const core_1 = require("@actions/core");
|
const core_1 = require("@actions/core");
|
||||||
const path_1 = require("path");
|
const path_1 = require("path");
|
||||||
const utils_1 = require("./utils");
|
const path_and_artifact_name_validation_1 = require("./path-and-artifact-name-validation");
|
||||||
/**
|
/**
|
||||||
* Creates a specification that describes how each file that is part of the artifact will be uploaded
|
* Creates a specification that describes how each file that is part of the artifact will be uploaded
|
||||||
* @param artifactName the name of the artifact being uploaded. Used during upload to denote where the artifact is stored on the server
|
* @param artifactName the name of the artifact being uploaded. Used during upload to denote where the artifact is stored on the server
|
||||||
@@ -18,7 +31,7 @@ const utils_1 = require("./utils");
|
|||||||
* @param artifactFiles a list of absolute file paths that denote what should be uploaded as part of the artifact
|
* @param artifactFiles a list of absolute file paths that denote what should be uploaded as part of the artifact
|
||||||
*/
|
*/
|
||||||
function getUploadSpecification(artifactName, rootDirectory, artifactFiles) {
|
function getUploadSpecification(artifactName, rootDirectory, artifactFiles) {
|
||||||
utils_1.checkArtifactName(artifactName);
|
// artifact name was checked earlier on, no need to check again
|
||||||
const specifications = [];
|
const specifications = [];
|
||||||
if (!fs.existsSync(rootDirectory)) {
|
if (!fs.existsSync(rootDirectory)) {
|
||||||
throw new Error(`Provided rootDirectory ${rootDirectory} does not exist`);
|
throw new Error(`Provided rootDirectory ${rootDirectory} does not exist`);
|
||||||
@@ -61,7 +74,7 @@ function getUploadSpecification(artifactName, rootDirectory, artifactFiles) {
|
|||||||
}
|
}
|
||||||
// Check for forbidden characters in file paths that will be rejected during upload
|
// Check for forbidden characters in file paths that will be rejected during upload
|
||||||
const uploadPath = file.replace(rootDirectory, '');
|
const uploadPath = file.replace(rootDirectory, '');
|
||||||
utils_1.checkArtifactFilePath(uploadPath);
|
path_and_artifact_name_validation_1.checkArtifactFilePath(uploadPath);
|
||||||
/*
|
/*
|
||||||
uploadFilePath denotes where the file will be uploaded in the file container on the server. During a run, if multiple artifacts are uploaded, they will all
|
uploadFilePath denotes where the file will be uploaded in the file container on the server. During a run, if multiple artifacts are uploaded, they will all
|
||||||
be saved in the same container. The artifact name is used as the root directory in the container to separate and distinguish uploaded artifacts
|
be saved in the same container. The artifact name is used as the root directory in the container to separate and distinguish uploaded artifacts
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/upload-specification.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/upload-specification.js.map
generated
vendored
@@ -1 +1 @@
|
|||||||
{"version":3,"file":"upload-specification.js","sourceRoot":"","sources":["../../src/internal/upload-specification.ts"],"names":[],"mappings":";;;;;;;;;AAAA,uCAAwB;AACxB,wCAAmC;AACnC,+BAA6C;AAC7C,mCAAgE;AAOhE;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,YAAoB,EACpB,aAAqB,EACrB,aAAuB;IAEvB,yBAAiB,CAAC,YAAY,CAAC,CAAA;IAE/B,MAAM,cAAc,GAA0B,EAAE,CAAA;IAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,iBAAiB,CAAC,CAAA;KAC1E;IACD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,EAAE;QAC9C,MAAM,IAAI,KAAK,CACb,0BAA0B,aAAa,2BAA2B,CACnE,CAAA;KACF;IACD,sFAAsF;IACtF,aAAa,GAAG,gBAAS,CAAC,aAAa,CAAC,CAAA;IACxC,aAAa,GAAG,cAAO,CAAC,aAAa,CAAC,CAAA;IAEtC;;;;;;;;;;;;;;;;;;MAkBE;IACF,KAAK,IAAI,IAAI,IAAI,aAAa,EAAE;QAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAA;SAC/C;QACD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YACrC,sFAAsF;YACtF,IAAI,GAAG,gBAAS,CAAC,IAAI,CAAC,CAAA;YACtB,IAAI,GAAG,cAAO,CAAC,IAAI,CAAC,CAAA;YACpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;gBACnC,MAAM,IAAI,KAAK,CACb,sBAAsB,aAAa,2CAA2C,IAAI,EAAE,CACrF,CAAA;aACF;YAED,mFAAmF;YACnF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;YAClD,6BAAqB,CAAC,UAAU,CAAC,CAAA;YAEjC;;;;;;;;;cASE;YACF,cAAc,CAAC,IAAI,CAAC;gBAClB,gBAAgB,EAAE,IAAI;gBACtB,cAAc,EAAE,WAAI,CAAC,YAAY,EAAE,UAAU,CAAC;aAC/C,CAAC,CAAA;SACH;aAAM;YACL,uDAAuD;YACvD,YAAK,CAAC,YAAY,IAAI,kDAAkD,CAAC,CAAA;SAC1E;KACF;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AA9ED,wDA8EC"}
|
{"version":3,"file":"upload-specification.js","sourceRoot":"","sources":["../../src/internal/upload-specification.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAwB;AACxB,wCAAmC;AACnC,+BAA6C;AAC7C,2FAAyE;AAOzE;;;;;GAKG;AACH,SAAgB,sBAAsB,CACpC,YAAoB,EACpB,aAAqB,EACrB,aAAuB;IAEvB,+DAA+D;IAC/D,MAAM,cAAc,GAA0B,EAAE,CAAA;IAEhD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,iBAAiB,CAAC,CAAA;KAC1E;IACD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,EAAE;QAC9C,MAAM,IAAI,KAAK,CACb,0BAA0B,aAAa,2BAA2B,CACnE,CAAA;KACF;IACD,sFAAsF;IACtF,aAAa,GAAG,gBAAS,CAAC,aAAa,CAAC,CAAA;IACxC,aAAa,GAAG,cAAO,CAAC,aAAa,CAAC,CAAA;IAEtC;;;;;;;;;;;;;;;;;;MAkBE;IACF,KAAK,IAAI,IAAI,IAAI,aAAa,EAAE;QAC9B,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACxB,MAAM,IAAI,KAAK,CAAC,QAAQ,IAAI,iBAAiB,CAAC,CAAA;SAC/C;QACD,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,EAAE;YACrC,sFAAsF;YACtF,IAAI,GAAG,gBAAS,CAAC,IAAI,CAAC,CAAA;YACtB,IAAI,GAAG,cAAO,CAAC,IAAI,CAAC,CAAA;YACpB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE;gBACnC,MAAM,IAAI,KAAK,CACb,sBAAsB,aAAa,2CAA2C,IAAI,EAAE,CACrF,CAAA;aACF;YAED,mFAAmF;YACnF,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAA;YAClD,yDAAqB,CAAC,UAAU,CAAC,CAAA;YAEjC;;;;;;;;;cASE;YACF,cAAc,CAAC,IAAI,CAAC;gBAClB,gBAAgB,EAAE,IAAI;gBACtB,cAAc,EAAE,WAAI,CAAC,YAAY,EAAE,UAAU,CAAC;aAC/C,CAAC,CAAA;SACH;aAAM;YACL,uDAAuD;YACvD,YAAK,CAAC,YAAY,IAAI,kDAAkD,CAAC,CAAA;SAC1E;KACF;IACD,OAAO,cAAc,CAAA;AACvB,CAAC;AA7ED,wDA6EC"}
|
||||||
8
node_modules/@actions/artifact/lib/internal/utils.d.ts
generated
vendored
8
node_modules/@actions/artifact/lib/internal/utils.d.ts
generated
vendored
@@ -58,14 +58,6 @@ export declare function getArtifactUrl(): string;
|
|||||||
* Other information such as the headers, the response code and message might be useful, so this is displayed.
|
* Other information such as the headers, the response code and message might be useful, so this is displayed.
|
||||||
*/
|
*/
|
||||||
export declare function displayHttpDiagnostics(response: IHttpClientResponse): void;
|
export declare function displayHttpDiagnostics(response: IHttpClientResponse): void;
|
||||||
/**
|
|
||||||
* Scans the name of the artifact to make sure there are no illegal characters
|
|
||||||
*/
|
|
||||||
export declare function checkArtifactName(name: string): void;
|
|
||||||
/**
|
|
||||||
* Scans the name of the filePath used to make sure there are no illegal characters
|
|
||||||
*/
|
|
||||||
export declare function checkArtifactFilePath(path: string): void;
|
|
||||||
export declare function createDirectoriesForArtifact(directories: string[]): Promise<void>;
|
export declare function createDirectoriesForArtifact(directories: string[]): Promise<void>;
|
||||||
export declare function createEmptyFilesForArtifact(emptyFilesToCreate: string[]): Promise<void>;
|
export declare function createEmptyFilesForArtifact(emptyFilesToCreate: string[]): Promise<void>;
|
||||||
export declare function getFileSize(filePath: string): Promise<number>;
|
export declare function getFileSize(filePath: string): Promise<number>;
|
||||||
|
|||||||
45
node_modules/@actions/artifact/lib/internal/utils.js
generated
vendored
45
node_modules/@actions/artifact/lib/internal/utils.js
generated
vendored
@@ -9,6 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|||||||
});
|
});
|
||||||
};
|
};
|
||||||
Object.defineProperty(exports, "__esModule", { value: true });
|
Object.defineProperty(exports, "__esModule", { value: true });
|
||||||
|
exports.sleep = exports.getProperRetention = exports.rmFile = exports.getFileSize = exports.createEmptyFilesForArtifact = exports.createDirectoriesForArtifact = exports.displayHttpDiagnostics = exports.getArtifactUrl = exports.createHttpClient = exports.getUploadHeaders = exports.getDownloadHeaders = exports.getContentRange = exports.tryGetRetryAfterValueTimeInMilliseconds = exports.isThrottledStatusCode = exports.isRetryableStatusCode = exports.isForbiddenStatusCode = exports.isSuccessStatusCode = exports.getApiVersion = exports.parseEnvNumber = exports.getExponentialRetryTimeInMilliseconds = void 0;
|
||||||
const core_1 = require("@actions/core");
|
const core_1 = require("@actions/core");
|
||||||
const fs_1 = require("fs");
|
const fs_1 = require("fs");
|
||||||
const http_client_1 = require("@actions/http-client");
|
const http_client_1 = require("@actions/http-client");
|
||||||
@@ -28,7 +29,7 @@ function getExponentialRetryTimeInMilliseconds(retryCount) {
|
|||||||
const minTime = config_variables_1.getInitialRetryIntervalInMilliseconds() * config_variables_1.getRetryMultiplier() * retryCount;
|
const minTime = config_variables_1.getInitialRetryIntervalInMilliseconds() * config_variables_1.getRetryMultiplier() * retryCount;
|
||||||
const maxTime = minTime * config_variables_1.getRetryMultiplier();
|
const maxTime = minTime * config_variables_1.getRetryMultiplier();
|
||||||
// returns a random number between the minTime (inclusive) and the maxTime (exclusive)
|
// returns a random number between the minTime (inclusive) and the maxTime (exclusive)
|
||||||
return Math.random() * (maxTime - minTime) + minTime;
|
return Math.trunc(Math.random() * (maxTime - minTime) + minTime);
|
||||||
}
|
}
|
||||||
exports.getExponentialRetryTimeInMilliseconds = getExponentialRetryTimeInMilliseconds;
|
exports.getExponentialRetryTimeInMilliseconds = getExponentialRetryTimeInMilliseconds;
|
||||||
/**
|
/**
|
||||||
@@ -207,48 +208,6 @@ Header Information: ${JSON.stringify(response.message.headers, undefined, 2)}
|
|||||||
###### End Diagnostic HTTP information ######`);
|
###### End Diagnostic HTTP information ######`);
|
||||||
}
|
}
|
||||||
exports.displayHttpDiagnostics = displayHttpDiagnostics;
|
exports.displayHttpDiagnostics = displayHttpDiagnostics;
|
||||||
/**
|
|
||||||
* Invalid characters that cannot be in the artifact name or an uploaded file. Will be rejected
|
|
||||||
* from the server if attempted to be sent over. These characters are not allowed due to limitations with certain
|
|
||||||
* file systems such as NTFS. To maintain platform-agnostic behavior, all characters that are not supported by an
|
|
||||||
* individual filesystem/platform will not be supported on all fileSystems/platforms
|
|
||||||
*
|
|
||||||
* FilePaths can include characters such as \ and / which are not permitted in the artifact name alone
|
|
||||||
*/
|
|
||||||
const invalidArtifactFilePathCharacters = ['"', ':', '<', '>', '|', '*', '?'];
|
|
||||||
const invalidArtifactNameCharacters = [
|
|
||||||
...invalidArtifactFilePathCharacters,
|
|
||||||
'\\',
|
|
||||||
'/'
|
|
||||||
];
|
|
||||||
/**
|
|
||||||
* Scans the name of the artifact to make sure there are no illegal characters
|
|
||||||
*/
|
|
||||||
function checkArtifactName(name) {
|
|
||||||
if (!name) {
|
|
||||||
throw new Error(`Artifact name: ${name}, is incorrectly provided`);
|
|
||||||
}
|
|
||||||
for (const invalidChar of invalidArtifactNameCharacters) {
|
|
||||||
if (name.includes(invalidChar)) {
|
|
||||||
throw new Error(`Artifact name is not valid: ${name}. Contains character: "${invalidChar}". Invalid artifact name characters include: ${invalidArtifactNameCharacters.toString()}.`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.checkArtifactName = checkArtifactName;
|
|
||||||
/**
|
|
||||||
* Scans the name of the filePath used to make sure there are no illegal characters
|
|
||||||
*/
|
|
||||||
function checkArtifactFilePath(path) {
|
|
||||||
if (!path) {
|
|
||||||
throw new Error(`Artifact path: ${path}, is incorrectly provided`);
|
|
||||||
}
|
|
||||||
for (const invalidChar of invalidArtifactFilePathCharacters) {
|
|
||||||
if (path.includes(invalidChar)) {
|
|
||||||
throw new Error(`Artifact path is not valid: ${path}. Contains character: "${invalidChar}". Invalid characters include: ${invalidArtifactFilePathCharacters.toString()}.`);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
exports.checkArtifactFilePath = checkArtifactFilePath;
|
|
||||||
function createDirectoriesForArtifact(directories) {
|
function createDirectoriesForArtifact(directories) {
|
||||||
return __awaiter(this, void 0, void 0, function* () {
|
return __awaiter(this, void 0, void 0, function* () {
|
||||||
for (const directory of directories) {
|
for (const directory of directories) {
|
||||||
|
|||||||
2
node_modules/@actions/artifact/lib/internal/utils.js.map
generated
vendored
2
node_modules/@actions/artifact/lib/internal/utils.js.map
generated
vendored
File diff suppressed because one or more lines are too long
8
node_modules/@actions/artifact/package.json
generated
vendored
8
node_modules/@actions/artifact/package.json
generated
vendored
@@ -1,6 +1,6 @@
|
|||||||
{
|
{
|
||||||
"name": "@actions/artifact",
|
"name": "@actions/artifact",
|
||||||
"version": "0.5.2",
|
"version": "1.0.0",
|
||||||
"preview": true,
|
"preview": true,
|
||||||
"description": "Actions artifact lib",
|
"description": "Actions artifact lib",
|
||||||
"keywords": [
|
"keywords": [
|
||||||
@@ -39,11 +39,11 @@
|
|||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@actions/core": "^1.2.6",
|
"@actions/core": "^1.2.6",
|
||||||
"@actions/http-client": "^1.0.11",
|
"@actions/http-client": "^1.0.11",
|
||||||
"@types/tmp": "^0.1.0",
|
"tmp": "^0.2.1",
|
||||||
"tmp": "^0.1.0",
|
"tmp-promise": "^3.0.2"
|
||||||
"tmp-promise": "^2.0.2"
|
|
||||||
},
|
},
|
||||||
"devDependencies": {
|
"devDependencies": {
|
||||||
|
"@types/tmp": "^0.2.1",
|
||||||
"typescript": "^3.8.3"
|
"typescript": "^3.8.3"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
0
node_modules/@types/node/LICENSE
generated
vendored
Executable file → Normal file
0
node_modules/@types/node/LICENSE
generated
vendored
Executable file → Normal file
10
node_modules/@types/node/README.md
generated
vendored
Executable file → Normal file
10
node_modules/@types/node/README.md
generated
vendored
Executable file → Normal file
@@ -2,15 +2,15 @@
|
|||||||
> `npm install --save @types/node`
|
> `npm install --save @types/node`
|
||||||
|
|
||||||
# Summary
|
# Summary
|
||||||
This package contains type definitions for Node.js (https://nodejs.org/).
|
This package contains type definitions for Node.js (http://nodejs.org/).
|
||||||
|
|
||||||
# Details
|
# Details
|
||||||
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node/v16.
|
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/node/v12.
|
||||||
|
|
||||||
### Additional Details
|
### Additional Details
|
||||||
* Last updated: Tue, 01 Feb 2022 08:31:30 GMT
|
* Last updated: Wed, 21 Oct 2020 17:47:46 GMT
|
||||||
* Dependencies: none
|
* Dependencies: none
|
||||||
* Global values: `AbortController`, `AbortSignal`, `__dirname`, `__filename`, `console`, `exports`, `gc`, `global`, `module`, `process`, `require`
|
* Global values: `Buffer`, `NodeJS`, `__dirname`, `__filename`, `clearImmediate`, `clearInterval`, `clearTimeout`, `console`, `exports`, `global`, `module`, `process`, `queueMicrotask`, `require`, `setImmediate`, `setInterval`, `setTimeout`
|
||||||
|
|
||||||
# Credits
|
# Credits
|
||||||
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).
|
These definitions were written by [Microsoft TypeScript](https://github.com/Microsoft), [DefinitelyTyped](https://github.com/DefinitelyTyped), [Alberto Schiabel](https://github.com/jkomyno), [Alexander T.](https://github.com/a-tarasyuk), [Alvis HT Tang](https://github.com/alvis), [Andrew Makarov](https://github.com/r3nya), [Benjamin Toueg](https://github.com/btoueg), [Bruno Scheufler](https://github.com/brunoscheufler), [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), [Flarna](https://github.com/Flarna), [Hannes Magnusson](https://github.com/Hannes-Magnusson-CK), [Hoàng Văn Khải](https://github.com/KSXGitHub), [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), [Simon Schick](https://github.com/SimonSchick), [Thomas den Hollander](https://github.com/ThomasdenH), [Wilco Bakker](https://github.com/WilcoBakker), [wwwy3y3](https://github.com/wwwy3y3), [Zane Hannan AU](https://github.com/ZaneHannanAU), [Samuel Ainsworth](https://github.com/samuela), [Kyle Uehlein](https://github.com/kuehlein), [Jordi Oliveras Rovira](https://github.com/j-oliveras), [Thanik Bhongbhibhat](https://github.com/bhongy), [Marcin Kopacz](https://github.com/chyzwar), [Trivikram Kamat](https://github.com/trivikr), [Minh Son Nguyen](https://github.com/nguymin4), [Junxiao Shi](https://github.com/yoursunny), [Ilia Baryshnikov](https://github.com/qwelias), [ExE Boss](https://github.com/ExE-Boss), and [Jason Kwok](https://github.com/JasonHK).
|
||||||
|
|||||||
963
node_modules/@types/node/assert.d.ts
generated
vendored
Executable file → Normal file
963
node_modules/@types/node/assert.d.ts
generated
vendored
Executable file → Normal file
@@ -1,912 +1,91 @@
|
|||||||
/**
|
|
||||||
* The `assert` module provides a set of assertion functions for verifying
|
|
||||||
* invariants.
|
|
||||||
* @see [source](https://github.com/nodejs/node/blob/v16.9.0/lib/assert.js)
|
|
||||||
*/
|
|
||||||
declare module 'assert' {
|
declare module 'assert' {
|
||||||
/**
|
function assert(value: any, message?: string | Error): asserts value;
|
||||||
* An alias of {@link ok}.
|
|
||||||
* @since v0.5.9
|
|
||||||
* @param value The input that is checked for being truthy.
|
|
||||||
*/
|
|
||||||
function assert(value: unknown, message?: string | Error): asserts value;
|
|
||||||
namespace assert {
|
namespace assert {
|
||||||
/**
|
class AssertionError implements Error {
|
||||||
* Indicates the failure of an assertion. All errors thrown by the `assert` module
|
name: string;
|
||||||
* will be instances of the `AssertionError` class.
|
message: string;
|
||||||
*/
|
actual: any;
|
||||||
class AssertionError extends Error {
|
expected: any;
|
||||||
actual: unknown;
|
|
||||||
expected: unknown;
|
|
||||||
operator: string;
|
operator: string;
|
||||||
generatedMessage: boolean;
|
generatedMessage: boolean;
|
||||||
code: 'ERR_ASSERTION';
|
code: 'ERR_ASSERTION';
|
||||||
|
|
||||||
constructor(options?: {
|
constructor(options?: {
|
||||||
/** If provided, the error message is set to this value. */
|
message?: string;
|
||||||
message?: string | undefined;
|
actual?: any;
|
||||||
/** The `actual` property on the error instance. */
|
expected?: any;
|
||||||
actual?: unknown | undefined;
|
operator?: string;
|
||||||
/** The `expected` property on the error instance. */
|
stackStartFn?: Function;
|
||||||
expected?: unknown | undefined;
|
|
||||||
/** The `operator` property on the error instance. */
|
|
||||||
operator?: string | undefined;
|
|
||||||
/** If provided, the generated stack trace omits frames before this function. */
|
|
||||||
// tslint:disable-next-line:ban-types
|
|
||||||
stackStartFn?: Function | undefined;
|
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
/**
|
|
||||||
* This feature is currently experimental and behavior might still change.
|
|
||||||
* @since v14.2.0, v12.19.0
|
|
||||||
* @experimental
|
|
||||||
*/
|
|
||||||
class CallTracker {
|
|
||||||
/**
|
|
||||||
* The wrapper function is expected to be called exactly `exact` times. If the
|
|
||||||
* function has not been called exactly `exact` times when `tracker.verify()` is called, then `tracker.verify()` will throw an
|
|
||||||
* error.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert';
|
|
||||||
*
|
|
||||||
* // Creates call tracker.
|
|
||||||
* const tracker = new assert.CallTracker();
|
|
||||||
*
|
|
||||||
* function func() {}
|
|
||||||
*
|
|
||||||
* // Returns a function that wraps func() that must be called exact times
|
|
||||||
* // before tracker.verify().
|
|
||||||
* const callsfunc = tracker.calls(func);
|
|
||||||
* ```
|
|
||||||
* @since v14.2.0, v12.19.0
|
|
||||||
* @param [fn='A no-op function']
|
|
||||||
* @param [exact=1]
|
|
||||||
* @return that wraps `fn`.
|
|
||||||
*/
|
|
||||||
calls(exact?: number): () => void;
|
|
||||||
calls<Func extends (...args: any[]) => any>(fn?: Func, exact?: number): Func;
|
|
||||||
/**
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert';
|
|
||||||
*
|
|
||||||
* // Creates call tracker.
|
|
||||||
* const tracker = new assert.CallTracker();
|
|
||||||
*
|
|
||||||
* function func() {}
|
|
||||||
*
|
|
||||||
* function foo() {}
|
|
||||||
*
|
|
||||||
* // Returns a function that wraps func() that must be called exact times
|
|
||||||
* // before tracker.verify().
|
|
||||||
* const callsfunc = tracker.calls(func, 2);
|
|
||||||
*
|
|
||||||
* // Returns an array containing information on callsfunc()
|
|
||||||
* tracker.report();
|
|
||||||
* // [
|
|
||||||
* // {
|
|
||||||
* // message: 'Expected the func function to be executed 2 time(s) but was
|
|
||||||
* // executed 0 time(s).',
|
|
||||||
* // actual: 0,
|
|
||||||
* // expected: 2,
|
|
||||||
* // operator: 'func',
|
|
||||||
* // stack: stack trace
|
|
||||||
* // }
|
|
||||||
* // ]
|
|
||||||
* ```
|
|
||||||
* @since v14.2.0, v12.19.0
|
|
||||||
* @return of objects containing information about the wrapper functions returned by `calls`.
|
|
||||||
*/
|
|
||||||
report(): CallTrackerReportInformation[];
|
|
||||||
/**
|
|
||||||
* 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.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert';
|
|
||||||
*
|
|
||||||
* // Creates call tracker.
|
|
||||||
* const tracker = new assert.CallTracker();
|
|
||||||
*
|
|
||||||
* function func() {}
|
|
||||||
*
|
|
||||||
* // Returns a function that wraps func() that must be called exact times
|
|
||||||
* // before tracker.verify().
|
|
||||||
* const callsfunc = tracker.calls(func, 2);
|
|
||||||
*
|
|
||||||
* callsfunc();
|
|
||||||
*
|
|
||||||
* // Will throw an error since callsfunc() was only called once.
|
|
||||||
* tracker.verify();
|
|
||||||
* ```
|
|
||||||
* @since v14.2.0, v12.19.0
|
|
||||||
*/
|
|
||||||
verify(): void;
|
|
||||||
}
|
|
||||||
interface CallTrackerReportInformation {
|
|
||||||
message: string;
|
|
||||||
/** The actual number of times the function was called. */
|
|
||||||
actual: number;
|
|
||||||
/** The number of times the function was expected to be called. */
|
|
||||||
expected: number;
|
|
||||||
/** The name of the function that is wrapped. */
|
|
||||||
operator: string;
|
|
||||||
/** A stack trace of the function. */
|
|
||||||
stack: object;
|
|
||||||
}
|
|
||||||
type AssertPredicate = RegExp | (new () => object) | ((thrown: unknown) => boolean) | object | Error;
|
|
||||||
/**
|
|
||||||
* Throws an `AssertionError` with the provided error message or a default
|
|
||||||
* error message. If the `message` parameter is an instance of an `Error` then
|
|
||||||
* it will be thrown instead of the `AssertionError`.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.fail();
|
|
||||||
* // AssertionError [ERR_ASSERTION]: Failed
|
|
||||||
*
|
|
||||||
* assert.fail('boom');
|
|
||||||
* // AssertionError [ERR_ASSERTION]: boom
|
|
||||||
*
|
|
||||||
* assert.fail(new TypeError('need array'));
|
|
||||||
* // TypeError: need array
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Using `assert.fail()` with more than two arguments is possible but deprecated.
|
|
||||||
* See below for further details.
|
|
||||||
* @since v0.1.21
|
|
||||||
* @param [message='Failed']
|
|
||||||
*/
|
|
||||||
function fail(message?: string | Error): never;
|
function fail(message?: string | Error): never;
|
||||||
/** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */
|
/** @deprecated since v10.0.0 - use fail([message]) or other assert functions instead. */
|
||||||
function fail(
|
function fail(
|
||||||
actual: unknown,
|
actual: any,
|
||||||
expected: unknown,
|
expected: any,
|
||||||
message?: string | Error,
|
message?: string | Error,
|
||||||
operator?: string,
|
operator?: string,
|
||||||
// tslint:disable-next-line:ban-types
|
stackStartFn?: Function,
|
||||||
stackStartFn?: Function
|
|
||||||
): never;
|
): never;
|
||||||
/**
|
function ok(value: any, message?: string | Error): asserts value;
|
||||||
* Tests if `value` is truthy. It is equivalent to`assert.equal(!!value, true, message)`.
|
/** @deprecated since v9.9.0 - use strictEqual() instead. */
|
||||||
*
|
function equal(actual: any, expected: any, message?: string | Error): void;
|
||||||
* If `value` is not truthy, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is `undefined`, a default
|
/** @deprecated since v9.9.0 - use notStrictEqual() instead. */
|
||||||
* error message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.
|
function notEqual(actual: any, expected: any, message?: string | Error): void;
|
||||||
* If no arguments are passed in at all `message` will be set to the string:`` 'No value argument passed to `assert.ok()`' ``.
|
/** @deprecated since v9.9.0 - use deepStrictEqual() instead. */
|
||||||
*
|
function deepEqual(actual: any, expected: any, message?: string | Error): void;
|
||||||
* Be aware that in the `repl` the error message will be different to the one
|
/** @deprecated since v9.9.0 - use notDeepStrictEqual() instead. */
|
||||||
* thrown in a file! See below for further details.
|
function notDeepEqual(actual: any, expected: any, message?: string | Error): void;
|
||||||
*
|
function strictEqual<T>(actual: any, expected: T, message?: string | Error): asserts actual is T;
|
||||||
* ```js
|
function notStrictEqual(actual: any, expected: any, message?: string | Error): void;
|
||||||
* import assert from 'assert/strict';
|
function deepStrictEqual<T>(actual: any, expected: T, message?: string | Error): asserts actual is T;
|
||||||
*
|
function notDeepStrictEqual(actual: any, expected: any, message?: string | Error): void;
|
||||||
* assert.ok(true);
|
|
||||||
* // OK
|
function throws(block: () => any, message?: string | Error): void;
|
||||||
* assert.ok(1);
|
function throws(block: () => any, error: RegExp | Function | Object | Error, message?: string | Error): void;
|
||||||
* // OK
|
function doesNotThrow(block: () => any, message?: string | Error): void;
|
||||||
*
|
function doesNotThrow(block: () => any, error: RegExp | Function, message?: string | Error): void;
|
||||||
* assert.ok();
|
|
||||||
* // AssertionError: No value argument passed to `assert.ok()`
|
function ifError(value: any): asserts value is null | undefined;
|
||||||
*
|
|
||||||
* assert.ok(false, 'it\'s false');
|
function rejects(block: (() => Promise<any>) | Promise<any>, message?: string | Error): Promise<void>;
|
||||||
* // AssertionError: it's false
|
function rejects(
|
||||||
*
|
block: (() => Promise<any>) | Promise<any>,
|
||||||
* // In the repl:
|
error: RegExp | Function | Object | Error,
|
||||||
* assert.ok(typeof 123 === 'string');
|
message?: string | Error,
|
||||||
* // AssertionError: false == true
|
): Promise<void>;
|
||||||
*
|
function doesNotReject(block: (() => Promise<any>) | Promise<any>, message?: string | Error): Promise<void>;
|
||||||
* // In a file (e.g. test.js):
|
function doesNotReject(
|
||||||
* assert.ok(typeof 123 === 'string');
|
block: (() => Promise<any>) | Promise<any>,
|
||||||
* // AssertionError: The expression evaluated to a falsy value:
|
error: RegExp | Function,
|
||||||
* //
|
message?: string | Error,
|
||||||
* // assert.ok(typeof 123 === 'string')
|
): Promise<void>;
|
||||||
*
|
|
||||||
* assert.ok(false);
|
const strict: Omit<
|
||||||
* // AssertionError: The expression evaluated to a falsy value:
|
typeof assert,
|
||||||
* //
|
| 'strict'
|
||||||
* // assert.ok(false)
|
| 'deepEqual'
|
||||||
*
|
| 'notDeepEqual'
|
||||||
* assert.ok(0);
|
| 'equal'
|
||||||
* // AssertionError: The expression evaluated to a falsy value:
|
| 'notEqual'
|
||||||
* //
|
| 'ok'
|
||||||
* // assert.ok(0)
|
| 'strictEqual'
|
||||||
* ```
|
| 'deepStrictEqual'
|
||||||
*
|
| 'ifError'
|
||||||
* ```js
|
> & {
|
||||||
* import assert from 'assert/strict';
|
(value: any, message?: string | Error): asserts value;
|
||||||
*
|
strict: typeof strict;
|
||||||
* // Using `assert()` works the same:
|
|
||||||
* assert(0);
|
|
||||||
* // AssertionError: The expression evaluated to a falsy value:
|
|
||||||
* //
|
|
||||||
* // assert(0)
|
|
||||||
* ```
|
|
||||||
* @since v0.1.21
|
|
||||||
*/
|
|
||||||
function ok(value: unknown, message?: string | Error): asserts value;
|
|
||||||
/**
|
|
||||||
* **Strict assertion mode**
|
|
||||||
*
|
|
||||||
* An alias of {@link strictEqual}.
|
|
||||||
*
|
|
||||||
* **Legacy assertion mode**
|
|
||||||
*
|
|
||||||
* > Stability: 3 - Legacy: Use {@link strictEqual} instead.
|
|
||||||
*
|
|
||||||
* Tests shallow, coercive equality between the `actual` and `expected` parameters
|
|
||||||
* using the [Abstract Equality Comparison](https://tc39.github.io/ecma262/#sec-abstract-equality-comparison) ( `==` ). `NaN` is special handled
|
|
||||||
* and treated as being identical in case both sides are `NaN`.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert';
|
|
||||||
*
|
|
||||||
* assert.equal(1, 1);
|
|
||||||
* // OK, 1 == 1
|
|
||||||
* assert.equal(1, '1');
|
|
||||||
* // OK, 1 == '1'
|
|
||||||
* assert.equal(NaN, NaN);
|
|
||||||
* // OK
|
|
||||||
*
|
|
||||||
* assert.equal(1, 2);
|
|
||||||
* // AssertionError: 1 == 2
|
|
||||||
* assert.equal({ a: { b: 1 } }, { a: { b: 1 } });
|
|
||||||
* // AssertionError: { a: { b: 1 } } == { a: { b: 1 } }
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* If the values are not equal, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is undefined, a default
|
|
||||||
* error message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.
|
|
||||||
* @since v0.1.21
|
|
||||||
*/
|
|
||||||
function equal(actual: unknown, expected: unknown, message?: string | Error): void;
|
|
||||||
/**
|
|
||||||
* **Strict assertion mode**
|
|
||||||
*
|
|
||||||
* An alias of {@link notStrictEqual}.
|
|
||||||
*
|
|
||||||
* **Legacy assertion mode**
|
|
||||||
*
|
|
||||||
* > Stability: 3 - Legacy: Use {@link notStrictEqual} instead.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
* being identical in case both
|
|
||||||
* sides are `NaN`.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert';
|
|
||||||
*
|
|
||||||
* assert.notEqual(1, 2);
|
|
||||||
* // OK
|
|
||||||
*
|
|
||||||
* assert.notEqual(1, 1);
|
|
||||||
* // AssertionError: 1 != 1
|
|
||||||
*
|
|
||||||
* assert.notEqual(1, '1');
|
|
||||||
* // AssertionError: 1 != '1'
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* If the values are equal, an `AssertionError` is thrown with a `message`property set equal to the value of the `message` parameter. If the `message`parameter is undefined, a default error
|
|
||||||
* message is assigned. If the `message`parameter is an instance of an `Error` then it will be thrown instead of the`AssertionError`.
|
|
||||||
* @since v0.1.21
|
|
||||||
*/
|
|
||||||
function notEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
|
||||||
/**
|
|
||||||
* **Strict assertion mode**
|
|
||||||
*
|
|
||||||
* An alias of {@link deepStrictEqual}.
|
|
||||||
*
|
|
||||||
* **Legacy assertion mode**
|
|
||||||
*
|
|
||||||
* > Stability: 3 - Legacy: Use {@link deepStrictEqual} instead.
|
|
||||||
*
|
|
||||||
* Tests for deep equality between the `actual` and `expected` parameters. Consider
|
|
||||||
* using {@link deepStrictEqual} instead. {@link deepEqual} can have
|
|
||||||
* surprising results.
|
|
||||||
*
|
|
||||||
* _Deep equality_ means that the enumerable "own" properties of child objects
|
|
||||||
* are also recursively evaluated by the following rules.
|
|
||||||
* @since v0.1.21
|
|
||||||
*/
|
|
||||||
function deepEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
|
||||||
/**
|
|
||||||
* **Strict assertion mode**
|
|
||||||
*
|
|
||||||
* An alias of {@link notDeepStrictEqual}.
|
|
||||||
*
|
|
||||||
* **Legacy assertion mode**
|
|
||||||
*
|
|
||||||
* > Stability: 3 - Legacy: Use {@link notDeepStrictEqual} instead.
|
|
||||||
*
|
|
||||||
* Tests for any deep inequality. Opposite of {@link deepEqual}.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert';
|
|
||||||
*
|
|
||||||
* const obj1 = {
|
|
||||||
* a: {
|
|
||||||
* b: 1
|
|
||||||
* }
|
|
||||||
* };
|
|
||||||
* const obj2 = {
|
|
||||||
* a: {
|
|
||||||
* b: 2
|
|
||||||
* }
|
|
||||||
* };
|
|
||||||
* const obj3 = {
|
|
||||||
* a: {
|
|
||||||
* b: 1
|
|
||||||
* }
|
|
||||||
* };
|
|
||||||
* const obj4 = Object.create(obj1);
|
|
||||||
*
|
|
||||||
* assert.notDeepEqual(obj1, obj1);
|
|
||||||
* // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }
|
|
||||||
*
|
|
||||||
* assert.notDeepEqual(obj1, obj2);
|
|
||||||
* // OK
|
|
||||||
*
|
|
||||||
* assert.notDeepEqual(obj1, obj3);
|
|
||||||
* // AssertionError: { a: { b: 1 } } notDeepEqual { a: { b: 1 } }
|
|
||||||
*
|
|
||||||
* assert.notDeepEqual(obj1, obj4);
|
|
||||||
* // OK
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* If the values are deeply equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a default
|
|
||||||
* error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown
|
|
||||||
* instead of the `AssertionError`.
|
|
||||||
* @since v0.1.21
|
|
||||||
*/
|
|
||||||
function notDeepEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
|
||||||
/**
|
|
||||||
* Tests strict equality between the `actual` and `expected` parameters as
|
|
||||||
* determined by the [SameValue Comparison](https://tc39.github.io/ecma262/#sec-samevalue).
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.strictEqual(1, 2);
|
|
||||||
* // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal:
|
|
||||||
* //
|
|
||||||
* // 1 !== 2
|
|
||||||
*
|
|
||||||
* assert.strictEqual(1, 1);
|
|
||||||
* // OK
|
|
||||||
*
|
|
||||||
* assert.strictEqual('Hello foobar', 'Hello World!');
|
|
||||||
* // AssertionError [ERR_ASSERTION]: Expected inputs to be strictly equal:
|
|
||||||
* // + actual - expected
|
|
||||||
* //
|
|
||||||
* // + 'Hello foobar'
|
|
||||||
* // - 'Hello World!'
|
|
||||||
* // ^
|
|
||||||
*
|
|
||||||
* const apples = 1;
|
|
||||||
* const oranges = 2;
|
|
||||||
* assert.strictEqual(apples, oranges, `apples ${apples} !== oranges ${oranges}`);
|
|
||||||
* // AssertionError [ERR_ASSERTION]: apples 1 !== oranges 2
|
|
||||||
*
|
|
||||||
* assert.strictEqual(1, '1', new TypeError('Inputs are not identical'));
|
|
||||||
* // TypeError: Inputs are not identical
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* If the values are not strictly equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a
|
|
||||||
* default error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown
|
|
||||||
* instead of the `AssertionError`.
|
|
||||||
* @since v0.1.21
|
|
||||||
*/
|
|
||||||
function strictEqual<T>(actual: unknown, expected: T, message?: string | Error): asserts actual is T;
|
|
||||||
/**
|
|
||||||
* Tests strict inequality between the `actual` and `expected` parameters as
|
|
||||||
* determined by the [SameValue Comparison](https://tc39.github.io/ecma262/#sec-samevalue).
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.notStrictEqual(1, 2);
|
|
||||||
* // OK
|
|
||||||
*
|
|
||||||
* assert.notStrictEqual(1, 1);
|
|
||||||
* // AssertionError [ERR_ASSERTION]: Expected "actual" to be strictly unequal to:
|
|
||||||
* //
|
|
||||||
* // 1
|
|
||||||
*
|
|
||||||
* assert.notStrictEqual(1, '1');
|
|
||||||
* // OK
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* If the values are strictly equal, an `AssertionError` is thrown with a`message` property set equal to the value of the `message` parameter. If the`message` parameter is undefined, a
|
|
||||||
* default error message is assigned. If the`message` parameter is an instance of an `Error` then it will be thrown
|
|
||||||
* instead of the `AssertionError`.
|
|
||||||
* @since v0.1.21
|
|
||||||
*/
|
|
||||||
function notStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
|
||||||
/**
|
|
||||||
* Tests for deep equality between the `actual` and `expected` parameters.
|
|
||||||
* "Deep" equality means that the enumerable "own" properties of child objects
|
|
||||||
* are recursively evaluated also by the following rules.
|
|
||||||
* @since v1.2.0
|
|
||||||
*/
|
|
||||||
function deepStrictEqual<T>(actual: unknown, expected: T, message?: string | Error): asserts actual is T;
|
|
||||||
/**
|
|
||||||
* Tests for deep strict inequality. Opposite of {@link deepStrictEqual}.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.notDeepStrictEqual({ a: 1 }, { a: '1' });
|
|
||||||
* // OK
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* If the values are deeply and strictly equal, an `AssertionError` is thrown
|
|
||||||
* with a `message` property set equal to the value of the `message` parameter. If
|
|
||||||
* the `message` parameter is undefined, a default error message is assigned. If
|
|
||||||
* the `message` parameter is an instance of an `Error` then it will be thrown
|
|
||||||
* instead of the `AssertionError`.
|
|
||||||
* @since v1.2.0
|
|
||||||
*/
|
|
||||||
function notDeepStrictEqual(actual: unknown, expected: unknown, message?: string | Error): void;
|
|
||||||
/**
|
|
||||||
* Expects the function `fn` to throw an error.
|
|
||||||
*
|
|
||||||
* 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), a validation function,
|
|
||||||
* a validation object where each property will be tested for strict deep equality,
|
|
||||||
* or an instance of error where each property will be tested for strict deep
|
|
||||||
* equality including the non-enumerable `message` and `name` properties. When
|
|
||||||
* using an object, it is also possible to use a regular expression, when
|
|
||||||
* validating against a string property. See below for examples.
|
|
||||||
*
|
|
||||||
* If specified, `message` will be appended to the message provided by the`AssertionError` if the `fn` call fails to throw or in case the error validation
|
|
||||||
* fails.
|
|
||||||
*
|
|
||||||
* Custom validation object/error instance:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* const err = new TypeError('Wrong value');
|
|
||||||
* err.code = 404;
|
|
||||||
* err.foo = 'bar';
|
|
||||||
* err.info = {
|
|
||||||
* nested: true,
|
|
||||||
* baz: 'text'
|
|
||||||
* };
|
|
||||||
* err.reg = /abc/i;
|
|
||||||
*
|
|
||||||
* assert.throws(
|
|
||||||
* () => {
|
|
||||||
* throw err;
|
|
||||||
* },
|
|
||||||
* {
|
|
||||||
* name: 'TypeError',
|
|
||||||
* message: 'Wrong value',
|
|
||||||
* info: {
|
|
||||||
* nested: true,
|
|
||||||
* baz: 'text'
|
|
||||||
* }
|
|
||||||
* // Only properties on the validation object will be tested for.
|
|
||||||
* // Using nested objects requires all properties to be present. Otherwise
|
|
||||||
* // the validation is going to fail.
|
|
||||||
* }
|
|
||||||
* );
|
|
||||||
*
|
|
||||||
* // Using regular expressions to validate error properties:
|
|
||||||
* throws(
|
|
||||||
* () => {
|
|
||||||
* throw err;
|
|
||||||
* },
|
|
||||||
* {
|
|
||||||
* // The `name` and `message` properties are strings and using regular
|
|
||||||
* // expressions on those will match against the string. If they fail, an
|
|
||||||
* // error is thrown.
|
|
||||||
* name: /^TypeError$/,
|
|
||||||
* message: /Wrong/,
|
|
||||||
* foo: 'bar',
|
|
||||||
* info: {
|
|
||||||
* nested: true,
|
|
||||||
* // It is not possible to use regular expressions for nested properties!
|
|
||||||
* baz: 'text'
|
|
||||||
* },
|
|
||||||
* // The `reg` property contains a regular expression and only if the
|
|
||||||
* // validation object contains an identical regular expression, it is going
|
|
||||||
* // to pass.
|
|
||||||
* reg: /abc/i
|
|
||||||
* }
|
|
||||||
* );
|
|
||||||
*
|
|
||||||
* // Fails due to the different `message` and `name` properties:
|
|
||||||
* throws(
|
|
||||||
* () => {
|
|
||||||
* const otherErr = new Error('Not found');
|
|
||||||
* // Copy all enumerable properties from `err` to `otherErr`.
|
|
||||||
* for (const [key, value] of Object.entries(err)) {
|
|
||||||
* otherErr[key] = value;
|
|
||||||
* }
|
|
||||||
* throw otherErr;
|
|
||||||
* },
|
|
||||||
* // The error's `message` and `name` properties will also be checked when using
|
|
||||||
* // an error as validation object.
|
|
||||||
* err
|
|
||||||
* );
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Validate instanceof using constructor:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.throws(
|
|
||||||
* () => {
|
|
||||||
* throw new Error('Wrong value');
|
|
||||||
* },
|
|
||||||
* Error
|
|
||||||
* );
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Validate error message using [`RegExp`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions):
|
|
||||||
*
|
|
||||||
* Using a regular expression runs `.toString` on the error object, and will
|
|
||||||
* therefore also include the error name.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.throws(
|
|
||||||
* () => {
|
|
||||||
* throw new Error('Wrong value');
|
|
||||||
* },
|
|
||||||
* /^Error: Wrong value$/
|
|
||||||
* );
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Custom error validation:
|
|
||||||
*
|
|
||||||
* The function must return `true` to indicate all internal validations passed.
|
|
||||||
* It will otherwise fail with an `AssertionError`.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.throws(
|
|
||||||
* () => {
|
|
||||||
* throw new Error('Wrong value');
|
|
||||||
* },
|
|
||||||
* (err) => {
|
|
||||||
* assert(err instanceof Error);
|
|
||||||
* assert(/value/.test(err));
|
|
||||||
* // Avoid returning anything from validation functions besides `true`.
|
|
||||||
* // Otherwise, it's not clear what part of the validation failed. Instead,
|
|
||||||
* // throw an error about the specific validation that failed (as done in this
|
|
||||||
* // example) and add as much helpful debugging information to that error as
|
|
||||||
* // possible.
|
|
||||||
* return true;
|
|
||||||
* },
|
|
||||||
* 'unexpected error'
|
|
||||||
* );
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* `error` cannot be a string. If a string is provided as the second
|
|
||||||
* argument, then `error` is assumed to be omitted and the string will be used for`message` instead. This can lead to easy-to-miss mistakes. Using the same
|
|
||||||
* message as the thrown error message is going to result in an`ERR_AMBIGUOUS_ARGUMENT` error. Please read the example below carefully if using
|
|
||||||
* a string as the second argument gets considered:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* function throwingFirst() {
|
|
||||||
* throw new Error('First');
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* function throwingSecond() {
|
|
||||||
* throw new Error('Second');
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* function notThrowing() {}
|
|
||||||
*
|
|
||||||
* // The second argument is a string and the input function threw an Error.
|
|
||||||
* // The first case will not throw as it does not match for the error message
|
|
||||||
* // thrown by the input function!
|
|
||||||
* assert.throws(throwingFirst, 'Second');
|
|
||||||
* // In the next example the message has no benefit over the message from the
|
|
||||||
* // error and since it is not clear if the user intended to actually match
|
|
||||||
* // against the error message, Node.js throws an `ERR_AMBIGUOUS_ARGUMENT` error.
|
|
||||||
* assert.throws(throwingSecond, 'Second');
|
|
||||||
* // TypeError [ERR_AMBIGUOUS_ARGUMENT]
|
|
||||||
*
|
|
||||||
* // The string is only used (as message) in case the function does not throw:
|
|
||||||
* assert.throws(notThrowing, 'Second');
|
|
||||||
* // AssertionError [ERR_ASSERTION]: Missing expected exception: Second
|
|
||||||
*
|
|
||||||
* // If it was intended to match for the error message do this instead:
|
|
||||||
* // It does not throw because the error messages match.
|
|
||||||
* assert.throws(throwingSecond, /Second$/);
|
|
||||||
*
|
|
||||||
* // If the error message does not match, an AssertionError is thrown.
|
|
||||||
* assert.throws(throwingFirst, /Second$/);
|
|
||||||
* // AssertionError [ERR_ASSERTION]
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Due to the confusing error-prone notation, avoid a string as the second
|
|
||||||
* argument.
|
|
||||||
* @since v0.1.21
|
|
||||||
*/
|
|
||||||
function throws(block: () => unknown, message?: string | Error): void;
|
|
||||||
function throws(block: () => unknown, error: AssertPredicate, message?: string | Error): void;
|
|
||||||
/**
|
|
||||||
* Asserts that the function `fn` does not throw an error.
|
|
||||||
*
|
|
||||||
* Using `assert.doesNotThrow()` is actually not useful because there
|
|
||||||
* is no benefit in catching an error and then rethrowing it. Instead, consider
|
|
||||||
* adding a comment next to the specific code path that should not throw and keep
|
|
||||||
* error messages as expressive as possible.
|
|
||||||
*
|
|
||||||
* When `assert.doesNotThrow()` is called, it will immediately call the `fn`function.
|
|
||||||
*
|
|
||||||
* If an error is thrown and it is the same type as that specified by the `error`parameter, then an `AssertionError` is thrown. If the error is of a
|
|
||||||
* different type, or if the `error` parameter is undefined, the error is
|
|
||||||
* propagated back to the caller.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
* function. See {@link throws} for more details.
|
|
||||||
*
|
|
||||||
* The following, for instance, will throw the `TypeError` because there is no
|
|
||||||
* matching error type in the assertion:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.doesNotThrow(
|
|
||||||
* () => {
|
|
||||||
* throw new TypeError('Wrong value');
|
|
||||||
* },
|
|
||||||
* SyntaxError
|
|
||||||
* );
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* However, the following will result in an `AssertionError` with the message
|
|
||||||
* 'Got unwanted exception...':
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.doesNotThrow(
|
|
||||||
* () => {
|
|
||||||
* throw new TypeError('Wrong value');
|
|
||||||
* },
|
|
||||||
* 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:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.doesNotThrow(
|
|
||||||
* () => {
|
|
||||||
* throw new TypeError('Wrong value');
|
|
||||||
* },
|
|
||||||
* /Wrong value/,
|
|
||||||
* 'Whoops'
|
|
||||||
* );
|
|
||||||
* // Throws: AssertionError: Got unwanted exception: Whoops
|
|
||||||
* ```
|
|
||||||
* @since v0.1.21
|
|
||||||
*/
|
|
||||||
function doesNotThrow(block: () => unknown, message?: string | Error): void;
|
|
||||||
function doesNotThrow(block: () => unknown, error: AssertPredicate, message?: string | Error): void;
|
|
||||||
/**
|
|
||||||
* Throws `value` if `value` is not `undefined` or `null`. This is useful when
|
|
||||||
* testing the `error` argument in callbacks. The stack trace contains all frames
|
|
||||||
* from the error passed to `ifError()` including the potential new frames for`ifError()` itself.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.ifError(null);
|
|
||||||
* // OK
|
|
||||||
* assert.ifError(0);
|
|
||||||
* // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: 0
|
|
||||||
* assert.ifError('error');
|
|
||||||
* // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: 'error'
|
|
||||||
* assert.ifError(new Error());
|
|
||||||
* // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: Error
|
|
||||||
*
|
|
||||||
* // Create some random error frames.
|
|
||||||
* let err;
|
|
||||||
* (function errorFrame() {
|
|
||||||
* err = new Error('test error');
|
|
||||||
* })();
|
|
||||||
*
|
|
||||||
* (function ifErrorFrame() {
|
|
||||||
* assert.ifError(err);
|
|
||||||
* })();
|
|
||||||
* // AssertionError [ERR_ASSERTION]: ifError got unwanted exception: test error
|
|
||||||
* // at ifErrorFrame
|
|
||||||
* // at errorFrame
|
|
||||||
* ```
|
|
||||||
* @since v0.1.97
|
|
||||||
*/
|
|
||||||
function ifError(value: unknown): asserts value is null | undefined;
|
|
||||||
/**
|
|
||||||
* Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately
|
|
||||||
* calls the function and awaits the returned promise to complete. It will then
|
|
||||||
* check that the promise is rejected.
|
|
||||||
*
|
|
||||||
* If `asyncFn` is a function and it throws an error synchronously,`assert.rejects()` will return a rejected `Promise` with that error. If the
|
|
||||||
* function does not return a promise, `assert.rejects()` will return a rejected`Promise` with an `ERR_INVALID_RETURN_VALUE` error. In both cases the error
|
|
||||||
* handler is skipped.
|
|
||||||
*
|
|
||||||
* Besides the async nature to await the completion behaves identically to {@link throws}.
|
|
||||||
*
|
|
||||||
* 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), a validation function,
|
|
||||||
* an object where each property will be tested for, or an instance of error where
|
|
||||||
* each property will be tested for including the non-enumerable `message` and`name` properties.
|
|
||||||
*
|
|
||||||
* If specified, `message` will be the message provided by the `AssertionError` if the `asyncFn` fails to reject.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* await assert.rejects(
|
|
||||||
* async () => {
|
|
||||||
* throw new TypeError('Wrong value');
|
|
||||||
* },
|
|
||||||
* {
|
|
||||||
* name: 'TypeError',
|
|
||||||
* message: 'Wrong value'
|
|
||||||
* }
|
|
||||||
* );
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* await assert.rejects(
|
|
||||||
* async () => {
|
|
||||||
* throw new TypeError('Wrong value');
|
|
||||||
* },
|
|
||||||
* (err) => {
|
|
||||||
* assert.strictEqual(err.name, 'TypeError');
|
|
||||||
* assert.strictEqual(err.message, 'Wrong value');
|
|
||||||
* return true;
|
|
||||||
* }
|
|
||||||
* );
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.rejects(
|
|
||||||
* Promise.reject(new Error('Wrong value')),
|
|
||||||
* Error
|
|
||||||
* ).then(() => {
|
|
||||||
* // ...
|
|
||||||
* });
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* `error` cannot be a string. If a string is provided as the second
|
|
||||||
* argument, then `error` is assumed to be omitted and the string will be used for`message` instead. This can lead to easy-to-miss mistakes. Please read the
|
|
||||||
* example in {@link throws} carefully if using a string as the second
|
|
||||||
* argument gets considered.
|
|
||||||
* @since v10.0.0
|
|
||||||
*/
|
|
||||||
function rejects(block: (() => Promise<unknown>) | Promise<unknown>, message?: string | Error): Promise<void>;
|
|
||||||
function rejects(block: (() => Promise<unknown>) | Promise<unknown>, error: AssertPredicate, message?: string | Error): Promise<void>;
|
|
||||||
/**
|
|
||||||
* Awaits the `asyncFn` promise or, if `asyncFn` is a function, immediately
|
|
||||||
* calls the function and awaits the returned promise to complete. It will then
|
|
||||||
* check that the promise is not rejected.
|
|
||||||
*
|
|
||||||
* If `asyncFn` is a function and it throws an error synchronously,`assert.doesNotReject()` will return a rejected `Promise` with that error. If
|
|
||||||
* the function does not return a promise, `assert.doesNotReject()` will return a
|
|
||||||
* rejected `Promise` with an `ERR_INVALID_RETURN_VALUE` error. In both cases
|
|
||||||
* the error handler is skipped.
|
|
||||||
*
|
|
||||||
* Using `assert.doesNotReject()` is actually not useful because there is little
|
|
||||||
* benefit in catching a rejection and then rejecting it again. Instead, consider
|
|
||||||
* adding a comment next to the specific code path that should not reject and keep
|
|
||||||
* error messages as expressive as possible.
|
|
||||||
*
|
|
||||||
* 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
|
|
||||||
* function. See {@link throws} for more details.
|
|
||||||
*
|
|
||||||
* Besides the async nature to await the completion behaves identically to {@link doesNotThrow}.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* await assert.doesNotReject(
|
|
||||||
* async () => {
|
|
||||||
* throw new TypeError('Wrong value');
|
|
||||||
* },
|
|
||||||
* SyntaxError
|
|
||||||
* );
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.doesNotReject(Promise.reject(new TypeError('Wrong value')))
|
|
||||||
* .then(() => {
|
|
||||||
* // ...
|
|
||||||
* });
|
|
||||||
* ```
|
|
||||||
* @since v10.0.0
|
|
||||||
*/
|
|
||||||
function doesNotReject(block: (() => Promise<unknown>) | Promise<unknown>, 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.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.match('I will fail', /pass/);
|
|
||||||
* // AssertionError [ERR_ASSERTION]: The input did not match the regular ...
|
|
||||||
*
|
|
||||||
* assert.match(123, /pass/);
|
|
||||||
* // AssertionError [ERR_ASSERTION]: The "string" argument must be of type string.
|
|
||||||
*
|
|
||||||
* assert.match('I will pass', /pass/);
|
|
||||||
* // OK
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* If the values do not match, or if the `string` argument is of another type than`string`, an `AssertionError` is thrown with a `message` property set equal
|
|
||||||
* to the value of the `message` parameter. If the `message` parameter is
|
|
||||||
* undefined, a default error message is assigned. If the `message` parameter is an
|
|
||||||
* instance of an `Error` then it will be thrown instead of the `AssertionError`.
|
|
||||||
* @since v13.6.0, v12.16.0
|
|
||||||
*/
|
|
||||||
function match(value: string, regExp: RegExp, message?: string | Error): void;
|
|
||||||
/**
|
|
||||||
* Expects the `string` input not to match the regular expression.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import assert from 'assert/strict';
|
|
||||||
*
|
|
||||||
* assert.doesNotMatch('I will fail', /fail/);
|
|
||||||
* // AssertionError [ERR_ASSERTION]: The input was expected to not match the ...
|
|
||||||
*
|
|
||||||
* assert.doesNotMatch(123, /pass/);
|
|
||||||
* // AssertionError [ERR_ASSERTION]: The "string" argument must be of type string.
|
|
||||||
*
|
|
||||||
* assert.doesNotMatch('I will pass', /different/);
|
|
||||||
* // OK
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* If the values do match, or if the `string` argument is of another type than`string`, an `AssertionError` is thrown with a `message` property set equal
|
|
||||||
* to the value of the `message` parameter. If the `message` parameter is
|
|
||||||
* undefined, a default error message is assigned. If the `message` parameter is an
|
|
||||||
* instance of an `Error` then it will be thrown instead of the `AssertionError`.
|
|
||||||
* @since v13.6.0, v12.16.0
|
|
||||||
*/
|
|
||||||
function doesNotMatch(value: string, regExp: RegExp, message?: string | Error): void;
|
|
||||||
const strict: Omit<typeof assert, 'equal' | 'notEqual' | 'deepEqual' | 'notDeepEqual' | 'ok' | 'strictEqual' | 'deepStrictEqual' | 'ifError' | 'strict'> & {
|
|
||||||
(value: unknown, message?: string | Error): asserts value;
|
|
||||||
equal: typeof strictEqual;
|
|
||||||
notEqual: typeof notStrictEqual;
|
|
||||||
deepEqual: typeof deepStrictEqual;
|
deepEqual: typeof deepStrictEqual;
|
||||||
notDeepEqual: typeof notDeepStrictEqual;
|
notDeepEqual: typeof notDeepStrictEqual;
|
||||||
// Mapped types and assertion functions are incompatible?
|
equal: typeof strictEqual;
|
||||||
// TS2775: Assertions require every name in the call target
|
notEqual: typeof notStrictEqual;
|
||||||
// to be declared with an explicit type annotation.
|
ok(value: any, message?: string | Error): asserts value;
|
||||||
ok: typeof ok;
|
strictEqual<T>(actual: any, expected: T, message?: string | Error): asserts actual is T;
|
||||||
strictEqual: typeof strictEqual;
|
deepStrictEqual<T>(actual: any, expected: T, message?: string | Error): asserts actual is T;
|
||||||
deepStrictEqual: typeof deepStrictEqual;
|
ifError(value: any): asserts value is null | undefined;
|
||||||
ifError: typeof ifError;
|
|
||||||
strict: typeof strict;
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
export = assert;
|
|
||||||
}
|
|
||||||
declare module 'node:assert' {
|
|
||||||
import assert = require('assert');
|
|
||||||
export = assert;
|
export = assert;
|
||||||
}
|
}
|
||||||
|
|||||||
8
node_modules/@types/node/assert/strict.d.ts
generated
vendored
8
node_modules/@types/node/assert/strict.d.ts
generated
vendored
@@ -1,8 +0,0 @@
|
|||||||
declare module 'assert/strict' {
|
|
||||||
import { strict } from 'node:assert';
|
|
||||||
export = strict;
|
|
||||||
}
|
|
||||||
declare module 'node:assert/strict' {
|
|
||||||
import { strict } from 'node:assert';
|
|
||||||
export = strict;
|
|
||||||
}
|
|
||||||
480
node_modules/@types/node/async_hooks.d.ts
generated
vendored
Executable file → Normal file
480
node_modules/@types/node/async_hooks.d.ts
generated
vendored
Executable file → Normal file
@@ -1,47 +1,16 @@
|
|||||||
/**
|
/**
|
||||||
* The `async_hooks` module provides an API to track asynchronous resources. It
|
* Async Hooks module: https://nodejs.org/api/async_hooks.html
|
||||||
* can be accessed using:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import async_hooks from 'async_hooks';
|
|
||||||
* ```
|
|
||||||
* @experimental
|
|
||||||
* @see [source](https://github.com/nodejs/node/blob/v16.9.0/lib/async_hooks.js)
|
|
||||||
*/
|
*/
|
||||||
declare module 'async_hooks' {
|
declare module "async_hooks" {
|
||||||
/**
|
/**
|
||||||
* ```js
|
* Returns the asyncId of the current execution context.
|
||||||
* import { executionAsyncId } from 'async_hooks';
|
|
||||||
*
|
|
||||||
* console.log(executionAsyncId()); // 1 - bootstrap
|
|
||||||
* fs.open(path, 'r', (err, fd) => {
|
|
||||||
* console.log(executionAsyncId()); // 6 - open()
|
|
||||||
* });
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* The ID returned from `executionAsyncId()` is related to execution timing, not
|
|
||||||
* causality (which is covered by `triggerAsyncId()`):
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* const server = net.createServer((conn) => {
|
|
||||||
* // Returns the ID of the server, not of the new connection, because the
|
|
||||||
* // callback runs in the execution scope of the server's MakeCallback().
|
|
||||||
* async_hooks.executionAsyncId();
|
|
||||||
*
|
|
||||||
* }).listen(port, () => {
|
|
||||||
* // Returns the ID of a TickObject (process.nextTick()) because all
|
|
||||||
* // callbacks passed to .listen() are wrapped in a nextTick().
|
|
||||||
* async_hooks.executionAsyncId();
|
|
||||||
* });
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Promise contexts may not get precise `executionAsyncIds` by default.
|
|
||||||
* See the section on `promise execution tracking`.
|
|
||||||
* @since v8.1.0
|
|
||||||
* @return The `asyncId` of the current execution context. Useful to track when something calls.
|
|
||||||
*/
|
*/
|
||||||
function executionAsyncId(): number;
|
function executionAsyncId(): number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* The resource representing the current execution.
|
||||||
|
* Useful to store data within the resource.
|
||||||
|
*
|
||||||
* Resource objects returned by `executionAsyncResource()` are most often internal
|
* Resource objects returned by `executionAsyncResource()` are most often internal
|
||||||
* Node.js handle objects with undocumented APIs. Using any functions or properties
|
* Node.js handle objects with undocumented APIs. Using any functions or properties
|
||||||
* on the object is likely to crash your application and should be avoided.
|
* on the object is likely to crash your application and should be avoided.
|
||||||
@@ -49,70 +18,14 @@ declare module 'async_hooks' {
|
|||||||
* Using `executionAsyncResource()` in the top-level execution context will
|
* Using `executionAsyncResource()` in the top-level execution context will
|
||||||
* return an empty object as there is no handle or request object to use,
|
* return an empty object as there is no handle or request object to use,
|
||||||
* but having an object representing the top-level can be helpful.
|
* but having an object representing the top-level can be helpful.
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import { open } from 'fs';
|
|
||||||
* import { executionAsyncId, executionAsyncResource } from 'async_hooks';
|
|
||||||
*
|
|
||||||
* console.log(executionAsyncId(), executionAsyncResource()); // 1 {}
|
|
||||||
* open(new URL(import.meta.url), 'r', (err, fd) => {
|
|
||||||
* console.log(executionAsyncId(), executionAsyncResource()); // 7 FSReqWrap
|
|
||||||
* });
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* This can be used to implement continuation local storage without the
|
|
||||||
* use of a tracking `Map` to store the metadata:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import { createServer } from 'http';
|
|
||||||
* import {
|
|
||||||
* executionAsyncId,
|
|
||||||
* executionAsyncResource,
|
|
||||||
* createHook
|
|
||||||
* } from 'async_hooks';
|
|
||||||
* const sym = Symbol('state'); // Private symbol to avoid pollution
|
|
||||||
*
|
|
||||||
* createHook({
|
|
||||||
* init(asyncId, type, triggerAsyncId, resource) {
|
|
||||||
* const cr = executionAsyncResource();
|
|
||||||
* if (cr) {
|
|
||||||
* resource[sym] = cr[sym];
|
|
||||||
* }
|
|
||||||
* }
|
|
||||||
* }).enable();
|
|
||||||
*
|
|
||||||
* const server = createServer((req, res) => {
|
|
||||||
* executionAsyncResource()[sym] = { state: req.url };
|
|
||||||
* setTimeout(function() {
|
|
||||||
* res.end(JSON.stringify(executionAsyncResource()[sym]));
|
|
||||||
* }, 100);
|
|
||||||
* }).listen(3000);
|
|
||||||
* ```
|
|
||||||
* @since v13.9.0, v12.17.0
|
|
||||||
* @return The resource representing the current execution. Useful to store data within the resource.
|
|
||||||
*/
|
*/
|
||||||
function executionAsyncResource(): object;
|
function executionAsyncResource(): object;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ```js
|
* Returns the ID of the resource responsible for calling the callback that is currently being executed.
|
||||||
* const server = net.createServer((conn) => {
|
|
||||||
* // The resource that caused (or triggered) this callback to be called
|
|
||||||
* // was that of the new connection. Thus the return value of triggerAsyncId()
|
|
||||||
* // is the asyncId of "conn".
|
|
||||||
* async_hooks.triggerAsyncId();
|
|
||||||
*
|
|
||||||
* }).listen(port, () => {
|
|
||||||
* // Even though all callbacks passed to .listen() are wrapped in a nextTick()
|
|
||||||
* // the callback itself exists because the call to the server's .listen()
|
|
||||||
* // was made. So the return value would be the ID of the server.
|
|
||||||
* async_hooks.triggerAsyncId();
|
|
||||||
* });
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Promise contexts may not get valid `triggerAsyncId`s by default. See
|
|
||||||
* the section on `promise execution tracking`.
|
|
||||||
* @return The ID of the resource responsible for calling the callback that is currently being executed.
|
|
||||||
*/
|
*/
|
||||||
function triggerAsyncId(): number;
|
function triggerAsyncId(): number;
|
||||||
|
|
||||||
interface HookCallbacks {
|
interface HookCallbacks {
|
||||||
/**
|
/**
|
||||||
* Called when a class is constructed that has the possibility to emit an asynchronous event.
|
* Called when a class is constructed that has the possibility to emit an asynchronous event.
|
||||||
@@ -122,133 +35,73 @@ declare module 'async_hooks' {
|
|||||||
* @param resource reference to the resource representing the async operation, needs to be released during destroy
|
* @param resource reference to the resource representing the async operation, needs to be released during destroy
|
||||||
*/
|
*/
|
||||||
init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void;
|
init?(asyncId: number, type: string, triggerAsyncId: number, resource: object): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* When an asynchronous operation is initiated or completes a callback is called to notify the user.
|
* When an asynchronous operation is initiated or completes a callback is called to notify the user.
|
||||||
* The before callback is called just before said callback is executed.
|
* The before callback is called just before said callback is executed.
|
||||||
* @param asyncId the unique identifier assigned to the resource about to execute the callback.
|
* @param asyncId the unique identifier assigned to the resource about to execute the callback.
|
||||||
*/
|
*/
|
||||||
before?(asyncId: number): void;
|
before?(asyncId: number): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called immediately after the callback specified in before is completed.
|
* Called immediately after the callback specified in before is completed.
|
||||||
* @param asyncId the unique identifier assigned to the resource which has executed the callback.
|
* @param asyncId the unique identifier assigned to the resource which has executed the callback.
|
||||||
*/
|
*/
|
||||||
after?(asyncId: number): void;
|
after?(asyncId: number): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called when a promise has resolve() called. This may not be in the same execution id
|
* Called when a promise has resolve() called. This may not be in the same execution id
|
||||||
* as the promise itself.
|
* as the promise itself.
|
||||||
* @param asyncId the unique id for the promise that was resolve()d.
|
* @param asyncId the unique id for the promise that was resolve()d.
|
||||||
*/
|
*/
|
||||||
promiseResolve?(asyncId: number): void;
|
promiseResolve?(asyncId: number): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Called after the resource corresponding to asyncId is destroyed
|
* Called after the resource corresponding to asyncId is destroyed
|
||||||
* @param asyncId a unique ID for the async resource
|
* @param asyncId a unique ID for the async resource
|
||||||
*/
|
*/
|
||||||
destroy?(asyncId: number): void;
|
destroy?(asyncId: number): void;
|
||||||
}
|
}
|
||||||
|
|
||||||
interface AsyncHook {
|
interface AsyncHook {
|
||||||
/**
|
/**
|
||||||
* Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop.
|
* Enable the callbacks for a given AsyncHook instance. If no callbacks are provided enabling is a noop.
|
||||||
*/
|
*/
|
||||||
enable(): this;
|
enable(): this;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled.
|
* Disable the callbacks for a given AsyncHook instance from the global pool of AsyncHook callbacks to be executed. Once a hook has been disabled it will not be called again until enabled.
|
||||||
*/
|
*/
|
||||||
disable(): this;
|
disable(): this;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registers functions to be called for different lifetime events of each async
|
* Registers functions to be called for different lifetime events of each async operation.
|
||||||
* operation.
|
* @param options the callbacks to register
|
||||||
*
|
* @return an AsyncHooks instance used for disabling and enabling hooks
|
||||||
* The callbacks `init()`/`before()`/`after()`/`destroy()` are called for the
|
|
||||||
* respective asynchronous event during a resource's lifetime.
|
|
||||||
*
|
|
||||||
* All callbacks are optional. For example, if only resource cleanup needs to
|
|
||||||
* be tracked, then only the `destroy` callback needs to be passed. The
|
|
||||||
* specifics of all functions that can be passed to `callbacks` is in the `Hook Callbacks` section.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import { createHook } from 'async_hooks';
|
|
||||||
*
|
|
||||||
* const asyncHook = createHook({
|
|
||||||
* init(asyncId, type, triggerAsyncId, resource) { },
|
|
||||||
* destroy(asyncId) { }
|
|
||||||
* });
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* The callbacks will be inherited via the prototype chain:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* class MyAsyncCallbacks {
|
|
||||||
* init(asyncId, type, triggerAsyncId, resource) { }
|
|
||||||
* destroy(asyncId) {}
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* class MyAddedCallbacks extends MyAsyncCallbacks {
|
|
||||||
* before(asyncId) { }
|
|
||||||
* after(asyncId) { }
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* const asyncHook = async_hooks.createHook(new MyAddedCallbacks());
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Because promises are asynchronous resources whose lifecycle is tracked
|
|
||||||
* via the async hooks mechanism, the `init()`, `before()`, `after()`, and`destroy()` callbacks _must not_ be async functions that return promises.
|
|
||||||
* @since v8.1.0
|
|
||||||
* @param callbacks The `Hook Callbacks` to register
|
|
||||||
* @return Instance used for disabling and enabling hooks
|
|
||||||
*/
|
*/
|
||||||
function createHook(callbacks: HookCallbacks): AsyncHook;
|
function createHook(options: HookCallbacks): AsyncHook;
|
||||||
|
|
||||||
interface AsyncResourceOptions {
|
interface AsyncResourceOptions {
|
||||||
/**
|
/**
|
||||||
* The ID of the execution context that created this async event.
|
* The ID of the execution context that created this async event.
|
||||||
* @default executionAsyncId()
|
* Default: `executionAsyncId()`
|
||||||
*/
|
*/
|
||||||
triggerAsyncId?: number | undefined;
|
triggerAsyncId?: number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Disables automatic `emitDestroy` when the object is garbage collected.
|
* Disables automatic `emitDestroy` when the object is garbage collected.
|
||||||
* This usually does not need to be set (even if `emitDestroy` is called
|
* This usually does not need to be set (even if `emitDestroy` is called
|
||||||
* manually), unless the resource's `asyncId` is retrieved and the
|
* manually), unless the resource's `asyncId` is retrieved and the
|
||||||
* sensitive API's `emitDestroy` is called with it.
|
* sensitive API's `emitDestroy` is called with it.
|
||||||
* @default false
|
* Default: `false`
|
||||||
*/
|
*/
|
||||||
requireManualDestroy?: boolean | undefined;
|
requireManualDestroy?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The class `AsyncResource` is designed to be extended by the embedder's async
|
* The class AsyncResource was designed to be extended by the embedder's async resources.
|
||||||
* resources. Using this, users can easily trigger the lifetime events of their
|
* Using this users can easily trigger the lifetime events of their own resources.
|
||||||
* own resources.
|
|
||||||
*
|
|
||||||
* The `init` hook will trigger when an `AsyncResource` is instantiated.
|
|
||||||
*
|
|
||||||
* The following is an overview of the `AsyncResource` API.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import { AsyncResource, executionAsyncId } from 'async_hooks';
|
|
||||||
*
|
|
||||||
* // AsyncResource() is meant to be extended. Instantiating a
|
|
||||||
* // new AsyncResource() also triggers init. If triggerAsyncId is omitted then
|
|
||||||
* // async_hook.executionAsyncId() is used.
|
|
||||||
* const asyncResource = new AsyncResource(
|
|
||||||
* type, { triggerAsyncId: executionAsyncId(), requireManualDestroy: false }
|
|
||||||
* );
|
|
||||||
*
|
|
||||||
* // Run a function in the execution context of the resource. This will
|
|
||||||
* // * establish the context of the resource
|
|
||||||
* // * trigger the AsyncHooks before callbacks
|
|
||||||
* // * call the provided function `fn` with the supplied arguments
|
|
||||||
* // * trigger the AsyncHooks after callbacks
|
|
||||||
* // * restore the original execution context
|
|
||||||
* asyncResource.runInAsyncScope(fn, thisArg, ...args);
|
|
||||||
*
|
|
||||||
* // Call AsyncHooks destroy callbacks.
|
|
||||||
* asyncResource.emitDestroy();
|
|
||||||
*
|
|
||||||
* // Return the unique ID assigned to the AsyncResource instance.
|
|
||||||
* asyncResource.asyncId();
|
|
||||||
*
|
|
||||||
* // Return the trigger ID for the AsyncResource instance.
|
|
||||||
* asyncResource.triggerAsyncId();
|
|
||||||
* ```
|
|
||||||
*/
|
*/
|
||||||
class AsyncResource {
|
class AsyncResource {
|
||||||
/**
|
/**
|
||||||
@@ -260,238 +113,135 @@ declare module 'async_hooks' {
|
|||||||
* this async event (default: `executionAsyncId()`), or an
|
* this async event (default: `executionAsyncId()`), or an
|
||||||
* AsyncResourceOptions object (since 9.3)
|
* 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.
|
* Call the provided function with the provided arguments in the
|
||||||
*
|
* execution context of the async resource. This will establish the
|
||||||
* The returned function will have an `asyncResource` property referencing
|
* context, trigger the AsyncHooks before callbacks, call the function,
|
||||||
* the `AsyncResource` to which the function is bound.
|
* trigger the AsyncHooks after callbacks, and then restore the original
|
||||||
* @since v14.8.0, v12.19.0
|
* execution context.
|
||||||
* @param fn The function to bind to the current execution context.
|
* @param fn The function to call in the execution context of this
|
||||||
* @param type An optional name to associate with the underlying `AsyncResource`.
|
* async resource.
|
||||||
*/
|
|
||||||
static bind<Func extends (this: ThisArg, ...args: any[]) => any, ThisArg>(
|
|
||||||
fn: Func,
|
|
||||||
type?: string,
|
|
||||||
thisArg?: ThisArg
|
|
||||||
): Func & {
|
|
||||||
asyncResource: AsyncResource;
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
* @param fn The function to bind to the current `AsyncResource`.
|
|
||||||
*/
|
|
||||||
bind<Func extends (...args: any[]) => any>(
|
|
||||||
fn: Func
|
|
||||||
): Func & {
|
|
||||||
asyncResource: AsyncResource;
|
|
||||||
};
|
|
||||||
/**
|
|
||||||
* Call the provided function with the provided arguments in the execution context
|
|
||||||
* of the async resource. This will establish the context, trigger the AsyncHooks
|
|
||||||
* before callbacks, call the function, trigger the AsyncHooks after callbacks, and
|
|
||||||
* then restore the original execution context.
|
|
||||||
* @since v9.6.0
|
|
||||||
* @param fn The function to call in the execution context of this async resource.
|
|
||||||
* @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>(fn: (this: This, ...args: any[]) => Result, thisArg?: This, ...args: any[]): Result;
|
runInAsyncScope<This, 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 AsyncHooks destroy callbacks.
|
||||||
* be thrown if it is called more than once. This **must** be manually called. If
|
|
||||||
* the resource is left to be collected by the GC then the `destroy` hooks will
|
|
||||||
* never be called.
|
|
||||||
* @return A reference to `asyncResource`.
|
|
||||||
*/
|
*/
|
||||||
emitDestroy(): this;
|
emitDestroy(): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @return The unique `asyncId` assigned to the resource.
|
* @return the unique ID assigned to this AsyncResource instance.
|
||||||
*/
|
*/
|
||||||
asyncId(): number;
|
asyncId(): number;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
* @return the trigger ID for this AsyncResource instance.
|
||||||
* @return The same `triggerAsyncId` that is passed to the `AsyncResource` constructor.
|
|
||||||
*/
|
*/
|
||||||
triggerAsyncId(): number;
|
triggerAsyncId(): number;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class creates stores that stay coherent through asynchronous operations.
|
* When having multiple instances of `AsyncLocalStorage`, they are independent
|
||||||
*
|
* from each other. It is safe to instantiate this class multiple times.
|
||||||
* 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
|
|
||||||
* implementation that involves significant optimizations that are non-obvious to
|
|
||||||
* implement.
|
|
||||||
*
|
|
||||||
* The following example uses `AsyncLocalStorage` to build a simple logger
|
|
||||||
* that assigns IDs to incoming HTTP requests and includes them in messages
|
|
||||||
* logged within each request.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import http from 'http';
|
|
||||||
* import { AsyncLocalStorage } from 'async_hooks';
|
|
||||||
*
|
|
||||||
* const asyncLocalStorage = new AsyncLocalStorage();
|
|
||||||
*
|
|
||||||
* function logWithId(msg) {
|
|
||||||
* const id = asyncLocalStorage.getStore();
|
|
||||||
* console.log(`${id !== undefined ? id : '-'}:`, msg);
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* let idSeq = 0;
|
|
||||||
* http.createServer((req, res) => {
|
|
||||||
* asyncLocalStorage.run(idSeq++, () => {
|
|
||||||
* logWithId('start');
|
|
||||||
* // Imagine any chain of async operations here
|
|
||||||
* setImmediate(() => {
|
|
||||||
* logWithId('finish');
|
|
||||||
* res.end();
|
|
||||||
* });
|
|
||||||
* });
|
|
||||||
* }).listen(8080);
|
|
||||||
*
|
|
||||||
* http.get('http://localhost:8080');
|
|
||||||
* http.get('http://localhost:8080');
|
|
||||||
* // Prints:
|
|
||||||
* // 0: start
|
|
||||||
* // 1: start
|
|
||||||
* // 0: finish
|
|
||||||
* // 1: finish
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Each instance of `AsyncLocalStorage` maintains an independent storage context.
|
|
||||||
* Multiple instances can safely exist simultaneously without risk of interfering
|
|
||||||
* with each other data.
|
|
||||||
* @since v13.10.0, v12.17.0
|
|
||||||
*/
|
*/
|
||||||
class AsyncLocalStorage<T> {
|
class AsyncLocalStorage<T> {
|
||||||
/**
|
/**
|
||||||
* Disables the instance of `AsyncLocalStorage`. All subsequent calls
|
* This method 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.runSyncAndReturn()`
|
||||||
|
* is called again.
|
||||||
*
|
*
|
||||||
* When calling `asyncLocalStorage.disable()`, all current contexts linked to the
|
* When calling `asyncLocalStorage.disable()`, all current contexts linked to the
|
||||||
* instance will be exited.
|
* instance will be exited.
|
||||||
*
|
*
|
||||||
* Calling `asyncLocalStorage.disable()` is required before the`asyncLocalStorage` can be garbage collected. This does not apply to stores
|
* Calling `asyncLocalStorage.disable()` is required before the
|
||||||
|
* `asyncLocalStorage` can be garbage collected. This does not apply to stores
|
||||||
* provided by the `asyncLocalStorage`, as those objects are garbage collected
|
* provided by the `asyncLocalStorage`, as those objects are garbage collected
|
||||||
* along with the corresponding async resources.
|
* along with the corresponding async resources.
|
||||||
*
|
*
|
||||||
* Use this method when the `asyncLocalStorage` is not in use anymore
|
* This method is to be used when the `asyncLocalStorage` is not in use anymore
|
||||||
* in the current process.
|
* in the current process.
|
||||||
* @since v13.10.0, v12.17.0
|
|
||||||
* @experimental
|
|
||||||
*/
|
*/
|
||||||
disable(): void;
|
disable(): void;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns the current store.
|
* This method returns the current store.
|
||||||
* If called outside of an asynchronous context initialized by
|
* If this method is called outside of an asynchronous context initialized by
|
||||||
* calling `asyncLocalStorage.run()` or `asyncLocalStorage.enterWith()`, it
|
* calling `asyncLocalStorage.run` or `asyncLocalStorage.runAndReturn`, it will
|
||||||
* returns `undefined`.
|
* return `undefined`.
|
||||||
* @since v13.10.0, v12.17.0
|
|
||||||
*/
|
*/
|
||||||
getStore(): T | undefined;
|
getStore(): T | undefined;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Runs a function synchronously within a context and returns its
|
* Calling `asyncLocalStorage.run(callback)` will create a new asynchronous
|
||||||
|
* context.
|
||||||
|
* Within the callback function and the asynchronous operations from the callback,
|
||||||
|
* `asyncLocalStorage.getStore()` will return an instance of `Map` known as
|
||||||
|
* "the store". This store will be persistent through the following
|
||||||
|
* asynchronous calls.
|
||||||
|
*
|
||||||
|
* The callback will be ran asynchronously. Optionally, arguments can be passed
|
||||||
|
* to the function. They will be passed to the callback function.
|
||||||
|
*
|
||||||
|
* If an error is thrown by the callback function, it will not be caught by
|
||||||
|
* a `try/catch` block as the callback is ran in a new asynchronous resource.
|
||||||
|
* Also, the stacktrace will be impacted by the asynchronous call.
|
||||||
|
*/
|
||||||
|
// TODO: Apply generic vararg once available
|
||||||
|
run(store: T, callback: (...args: any[]) => void, ...args: any[]): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Calling `asyncLocalStorage.exit(callback)` will create a new asynchronous
|
||||||
|
* context.
|
||||||
|
* Within the callback function and the asynchronous operations from the callback,
|
||||||
|
* `asyncLocalStorage.getStore()` will return `undefined`.
|
||||||
|
*
|
||||||
|
* The callback will be ran asynchronously. Optionally, arguments can be passed
|
||||||
|
* to the function. They will be passed to the callback function.
|
||||||
|
*
|
||||||
|
* If an error is thrown by the callback function, it will not be caught by
|
||||||
|
* a `try/catch` block as the callback is ran in a new asynchronous resource.
|
||||||
|
* Also, the stacktrace will be impacted by the asynchronous call.
|
||||||
|
*/
|
||||||
|
exit(callback: (...args: any[]) => void, ...args: any[]): void;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This methods runs a function synchronously within a context and return its
|
||||||
* return value. The store is not accessible outside of the callback function or
|
* return value. The store is not accessible outside of the callback function or
|
||||||
* the asynchronous operations created within the callback.
|
* the asynchronous operations created within the callback.
|
||||||
*
|
*
|
||||||
* The optional `args` are passed to the callback function.
|
* Optionally, arguments can be passed to the function. They will be passed to
|
||||||
|
* the callback function.
|
||||||
*
|
*
|
||||||
* If the callback function throws an error, the error is thrown by `run()` too.
|
* If the callback function throws an error, it will be thrown by
|
||||||
* The stacktrace is not impacted by this call and the context is exited.
|
* `runSyncAndReturn` too. The stacktrace will not be impacted by this call and
|
||||||
*
|
* the context will be exited.
|
||||||
* Example:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* const store = { id: 2 };
|
|
||||||
* try {
|
|
||||||
* asyncLocalStorage.run(store, () => {
|
|
||||||
* asyncLocalStorage.getStore(); // Returns the store object
|
|
||||||
* throw new Error();
|
|
||||||
* });
|
|
||||||
* } catch (e) {
|
|
||||||
* asyncLocalStorage.getStore(); // Returns undefined
|
|
||||||
* // The error will be caught here
|
|
||||||
* }
|
|
||||||
* ```
|
|
||||||
* @since v13.10.0, v12.17.0
|
|
||||||
*/
|
*/
|
||||||
run<R, TArgs extends any[]>(store: T, callback: (...args: TArgs) => R, ...args: TArgs): R;
|
runSyncAndReturn<R>(store: T, callback: (...args: any[]) => R, ...args: any[]): R;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Runs a function synchronously outside of a context and returns its
|
* This methods runs a function synchronously outside of a context and return its
|
||||||
* return value. The store is not accessible within the callback function or
|
* return value. The store is not accessible within the callback function or
|
||||||
* the asynchronous operations created within the callback. Any `getStore()`call done within the callback function will always return `undefined`.
|
* the asynchronous operations created within the callback.
|
||||||
*
|
*
|
||||||
* The optional `args` are passed to the callback function.
|
* Optionally, arguments can be passed to the function. They will be passed to
|
||||||
|
* the callback function.
|
||||||
*
|
*
|
||||||
* If the callback function throws an error, the error is thrown by `exit()` too.
|
* If the callback function throws an error, it will be thrown by
|
||||||
* The stacktrace is not impacted by this call and the context is re-entered.
|
* `exitSyncAndReturn` too. The stacktrace will not be impacted by this call and
|
||||||
*
|
* the context will be re-entered.
|
||||||
* Example:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* // Within a call to run
|
|
||||||
* try {
|
|
||||||
* asyncLocalStorage.getStore(); // Returns the store object or value
|
|
||||||
* asyncLocalStorage.exit(() => {
|
|
||||||
* asyncLocalStorage.getStore(); // Returns undefined
|
|
||||||
* throw new Error();
|
|
||||||
* });
|
|
||||||
* } catch (e) {
|
|
||||||
* asyncLocalStorage.getStore(); // Returns the same object or value
|
|
||||||
* // The error will be caught here
|
|
||||||
* }
|
|
||||||
* ```
|
|
||||||
* @since v13.10.0, v12.17.0
|
|
||||||
* @experimental
|
|
||||||
*/
|
*/
|
||||||
exit<R, TArgs extends any[]>(callback: (...args: TArgs) => R, ...args: TArgs): R;
|
exitSyncAndReturn<R>(callback: (...args: any[]) => R, ...args: any[]): R;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Transitions into the context for the remainder of the current
|
* Calling `asyncLocalStorage.enterWith(store)` will transition into the context
|
||||||
* synchronous execution and then persists the store through any following
|
* for the remainder of the current synchronous execution and will persist
|
||||||
* asynchronous calls.
|
* through any following asynchronous calls.
|
||||||
*
|
|
||||||
* Example:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* const store = { id: 1 };
|
|
||||||
* // Replaces previous store with the given store object
|
|
||||||
* asyncLocalStorage.enterWith(store);
|
|
||||||
* asyncLocalStorage.getStore(); // Returns the store object
|
|
||||||
* someAsyncOperation(() => {
|
|
||||||
* asyncLocalStorage.getStore(); // Returns the same object
|
|
||||||
* });
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* This transition will continue for the _entire_ synchronous execution.
|
|
||||||
* This means that if, for example, the context is entered within an event
|
|
||||||
* handler subsequent event handlers will also run within that context unless
|
|
||||||
* specifically bound to another context with an `AsyncResource`. That is why`run()` should be preferred over `enterWith()` unless there are strong reasons
|
|
||||||
* to use the latter method.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* const store = { id: 1 };
|
|
||||||
*
|
|
||||||
* emitter.on('my-event', () => {
|
|
||||||
* asyncLocalStorage.enterWith(store);
|
|
||||||
* });
|
|
||||||
* emitter.on('my-event', () => {
|
|
||||||
* asyncLocalStorage.getStore(); // Returns the same object
|
|
||||||
* });
|
|
||||||
*
|
|
||||||
* asyncLocalStorage.getStore(); // Returns undefined
|
|
||||||
* emitter.emit('my-event');
|
|
||||||
* asyncLocalStorage.getStore(); // Returns the same object
|
|
||||||
* ```
|
|
||||||
* @since v13.11.0, v12.17.0
|
|
||||||
* @experimental
|
|
||||||
*/
|
*/
|
||||||
enterWith(store: T): void;
|
enterWith(store: T): void;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
declare module 'node:async_hooks' {
|
|
||||||
export * from 'async_hooks';
|
|
||||||
}
|
|
||||||
|
|||||||
20
node_modules/@types/node/base.d.ts
generated
vendored
Normal file
20
node_modules/@types/node/base.d.ts
generated
vendored
Normal file
@@ -0,0 +1,20 @@
|
|||||||
|
// NOTE: These definitions support NodeJS and TypeScript 3.7.
|
||||||
|
|
||||||
|
// NOTE: TypeScript version-specific augmentations can be found in the following paths:
|
||||||
|
// - ~/base.d.ts - Shared definitions common to all TypeScript versions
|
||||||
|
// - ~/index.d.ts - Definitions specific to TypeScript 2.1
|
||||||
|
// - ~/ts3.7/base.d.ts - Definitions specific to TypeScript 3.7
|
||||||
|
// - ~/ts3.7/index.d.ts - Definitions specific to TypeScript 3.7 with assert pulled in
|
||||||
|
|
||||||
|
// Reference required types from the default lib:
|
||||||
|
/// <reference lib="es2018" />
|
||||||
|
/// <reference lib="esnext.asynciterable" />
|
||||||
|
/// <reference lib="esnext.intl" />
|
||||||
|
/// <reference lib="esnext.bigint" />
|
||||||
|
|
||||||
|
// Base definitions for all NodeJS modules that are not specific to any version of TypeScript:
|
||||||
|
// tslint:disable-next-line:no-bad-reference
|
||||||
|
/// <reference path="ts3.6/base.d.ts" />
|
||||||
|
|
||||||
|
// TypeScript 3.7-specific augmentations:
|
||||||
|
/// <reference path="assert.d.ts" />
|
||||||
2140
node_modules/@types/node/buffer.d.ts
generated
vendored
Executable file → Normal file
2140
node_modules/@types/node/buffer.d.ts
generated
vendored
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
1494
node_modules/@types/node/child_process.d.ts
generated
vendored
Executable file → Normal file
1494
node_modules/@types/node/child_process.d.ts
generated
vendored
Executable file → Normal file
File diff suppressed because it is too large
Load Diff
574
node_modules/@types/node/cluster.d.ts
generated
vendored
Executable file → Normal file
574
node_modules/@types/node/cluster.d.ts
generated
vendored
Executable file → Normal file
@@ -1,278 +1,37 @@
|
|||||||
/**
|
declare module "cluster" {
|
||||||
* A single instance of Node.js runs in a single thread. To take advantage of
|
import * as child from "child_process";
|
||||||
* multi-core systems, the user will sometimes want to launch a cluster of Node.js
|
import * as events from "events";
|
||||||
* processes to handle the load.
|
import * as net from "net";
|
||||||
*
|
|
||||||
* The cluster module allows easy creation of child processes that all share
|
// interfaces
|
||||||
* server ports.
|
interface ClusterSettings {
|
||||||
*
|
execArgv?: string[]; // default: process.execArgv
|
||||||
* ```js
|
exec?: string;
|
||||||
* import cluster from 'cluster';
|
args?: string[];
|
||||||
* import http from 'http';
|
silent?: boolean;
|
||||||
* import { cpus } from 'os';
|
stdio?: any[];
|
||||||
* import process from 'process';
|
uid?: number;
|
||||||
*
|
gid?: number;
|
||||||
* const numCPUs = cpus().length;
|
inspectPort?: number | (() => number);
|
||||||
*
|
|
||||||
* if (cluster.isPrimary) {
|
|
||||||
* console.log(`Primary ${process.pid} is running`);
|
|
||||||
*
|
|
||||||
* // Fork workers.
|
|
||||||
* for (let i = 0; i < numCPUs; i++) {
|
|
||||||
* cluster.fork();
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* cluster.on('exit', (worker, code, signal) => {
|
|
||||||
* console.log(`worker ${worker.process.pid} died`);
|
|
||||||
* });
|
|
||||||
* } else {
|
|
||||||
* // Workers can share any TCP connection
|
|
||||||
* // In this case it is an HTTP server
|
|
||||||
* http.createServer((req, res) => {
|
|
||||||
* res.writeHead(200);
|
|
||||||
* res.end('hello world\n');
|
|
||||||
* }).listen(8000);
|
|
||||||
*
|
|
||||||
* console.log(`Worker ${process.pid} started`);
|
|
||||||
* }
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* Running Node.js will now share port 8000 between the workers:
|
|
||||||
*
|
|
||||||
* ```console
|
|
||||||
* $ node server.js
|
|
||||||
* Primary 3596 is running
|
|
||||||
* Worker 4324 started
|
|
||||||
* Worker 4520 started
|
|
||||||
* Worker 6056 started
|
|
||||||
* Worker 5644 started
|
|
||||||
* ```
|
|
||||||
*
|
|
||||||
* 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/v16.9.0/lib/cluster.js)
|
|
||||||
*/
|
|
||||||
declare module 'cluster' {
|
|
||||||
import * as child from 'node:child_process';
|
|
||||||
import EventEmitter = require('node:events');
|
|
||||||
import * as net from 'node:net';
|
|
||||||
export interface ClusterSettings {
|
|
||||||
execArgv?: string[] | undefined; // default: process.execArgv
|
|
||||||
exec?: string | undefined;
|
|
||||||
args?: string[] | undefined;
|
|
||||||
silent?: boolean | undefined;
|
|
||||||
stdio?: any[] | undefined;
|
|
||||||
uid?: number | undefined;
|
|
||||||
gid?: number | undefined;
|
|
||||||
inspectPort?: number | (() => number) | undefined;
|
|
||||||
}
|
}
|
||||||
export interface Address {
|
|
||||||
|
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.
|
class Worker extends events.EventEmitter {
|
||||||
* In the primary it can be obtained using `cluster.workers`. In a worker
|
|
||||||
* it can be obtained using `cluster.worker`.
|
|
||||||
* @since v0.7.0
|
|
||||||
*/
|
|
||||||
export class Worker extends EventEmitter {
|
|
||||||
/**
|
|
||||||
* Each new worker is given its own unique id, this id is stored in the`id`.
|
|
||||||
*
|
|
||||||
* While a worker is alive, this is the key that indexes it in`cluster.workers`.
|
|
||||||
* @since v0.8.0
|
|
||||||
*/
|
|
||||||
id: number;
|
id: number;
|
||||||
/**
|
|
||||||
* All workers are created using `child_process.fork()`, the returned object
|
|
||||||
* from this function is stored as `.process`. In a worker, the global `process`is stored.
|
|
||||||
*
|
|
||||||
* See: `Child Process module`.
|
|
||||||
*
|
|
||||||
* Workers will call `process.exit(0)` if the `'disconnect'` event occurs
|
|
||||||
* on `process` and `.exitedAfterDisconnect` is not `true`. This protects against
|
|
||||||
* accidental disconnection.
|
|
||||||
* @since v0.7.0
|
|
||||||
*/
|
|
||||||
process: child.ChildProcess;
|
process: child.ChildProcess;
|
||||||
/**
|
send(message: any, sendHandle?: any, callback?: (error: Error | null) => void): boolean;
|
||||||
* 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 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:
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* if (cluster.isPrimary) {
|
|
||||||
* const worker = cluster.fork();
|
|
||||||
* worker.send('hi there');
|
|
||||||
*
|
|
||||||
* } else if (cluster.isWorker) {
|
|
||||||
* process.on('message', (msg) => {
|
|
||||||
* process.send(msg);
|
|
||||||
* });
|
|
||||||
* }
|
|
||||||
* ```
|
|
||||||
* @since v0.7.0
|
|
||||||
* @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, 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, it does this
|
|
||||||
* 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`.
|
|
||||||
*
|
|
||||||
* Because `kill()` attempts to gracefully disconnect the worker process, it is
|
|
||||||
* 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()`.
|
|
||||||
*
|
|
||||||
* 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;
|
|
||||||
* it is `kill()`.
|
|
||||||
* @since v0.9.12
|
|
||||||
* @param [signal='SIGTERM'] Name of the kill signal to send to the worker process.
|
|
||||||
*/
|
|
||||||
kill(signal?: string): void;
|
kill(signal?: string): void;
|
||||||
destroy(signal?: string): void;
|
destroy(signal?: string): void;
|
||||||
/**
|
|
||||||
* In a worker, this function will close all servers, wait for the `'close'` event
|
|
||||||
* on those servers, and then disconnect the IPC channel.
|
|
||||||
*
|
|
||||||
* In the primary, an internal message is sent to the worker causing it to call`.disconnect()` on itself.
|
|
||||||
*
|
|
||||||
* Causes `.exitedAfterDisconnect` to be set.
|
|
||||||
*
|
|
||||||
* After a server is closed, it will no longer accept new connections,
|
|
||||||
* but connections may be accepted by any other listening worker. Existing
|
|
||||||
* connections will be allowed to close as usual. When no more connections exist,
|
|
||||||
* see `server.close()`, the IPC channel to the worker will close allowing it
|
|
||||||
* to die gracefully.
|
|
||||||
*
|
|
||||||
* The above applies _only_ to server connections, client connections are not
|
|
||||||
* automatically closed by workers, and disconnect does not wait for them to close
|
|
||||||
* before exiting.
|
|
||||||
*
|
|
||||||
* In a worker, `process.disconnect` exists, but it is not this function;
|
|
||||||
* it is `disconnect()`.
|
|
||||||
*
|
|
||||||
* Because long living server connections may block workers from disconnecting, it
|
|
||||||
* may be useful to send a message, so application specific actions may be taken to
|
|
||||||
* close them. It also may be useful to implement a timeout, killing a worker if
|
|
||||||
* the `'disconnect'` event has not been emitted after some time.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* if (cluster.isPrimary) {
|
|
||||||
* const worker = cluster.fork();
|
|
||||||
* let timeout;
|
|
||||||
*
|
|
||||||
* worker.on('listening', (address) => {
|
|
||||||
* worker.send('shutdown');
|
|
||||||
* worker.disconnect();
|
|
||||||
* timeout = setTimeout(() => {
|
|
||||||
* worker.kill();
|
|
||||||
* }, 2000);
|
|
||||||
* });
|
|
||||||
*
|
|
||||||
* worker.on('disconnect', () => {
|
|
||||||
* clearTimeout(timeout);
|
|
||||||
* });
|
|
||||||
*
|
|
||||||
* } else if (cluster.isWorker) {
|
|
||||||
* const net = require('net');
|
|
||||||
* const server = net.createServer((socket) => {
|
|
||||||
* // Connections never end
|
|
||||||
* });
|
|
||||||
*
|
|
||||||
* server.listen(8000);
|
|
||||||
*
|
|
||||||
* process.on('message', (msg) => {
|
|
||||||
* if (msg === 'shutdown') {
|
|
||||||
* // Initiate graceful close of any connections to server
|
|
||||||
* }
|
|
||||||
* });
|
|
||||||
* }
|
|
||||||
* ```
|
|
||||||
* @since v0.7.7
|
|
||||||
* @return A reference to `worker`.
|
|
||||||
*/
|
|
||||||
disconnect(): void;
|
disconnect(): void;
|
||||||
/**
|
|
||||||
* This function returns `true` if the worker is connected to its primary via its
|
|
||||||
* IPC channel, `false` otherwise. A worker is connected to its primary after it
|
|
||||||
* has been created. It is disconnected after the `'disconnect'` event is emitted.
|
|
||||||
* @since v0.11.14
|
|
||||||
*/
|
|
||||||
isConnected(): boolean;
|
isConnected(): boolean;
|
||||||
/**
|
|
||||||
* This function returns `true` if the worker's process has terminated (either
|
|
||||||
* because of exiting or being signaled). Otherwise, it returns `false`.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* import cluster from 'cluster';
|
|
||||||
* import http from 'http';
|
|
||||||
* import { cpus } from 'os';
|
|
||||||
* import process from 'process';
|
|
||||||
*
|
|
||||||
* const numCPUs = cpus().length;
|
|
||||||
*
|
|
||||||
* if (cluster.isPrimary) {
|
|
||||||
* console.log(`Primary ${process.pid} is running`);
|
|
||||||
*
|
|
||||||
* // Fork workers.
|
|
||||||
* for (let i = 0; i < numCPUs; i++) {
|
|
||||||
* cluster.fork();
|
|
||||||
* }
|
|
||||||
*
|
|
||||||
* cluster.on('fork', (worker) => {
|
|
||||||
* console.log('worker is dead:', worker.isDead());
|
|
||||||
* });
|
|
||||||
*
|
|
||||||
* cluster.on('exit', (worker, code, signal) => {
|
|
||||||
* console.log('worker is dead:', worker.isDead());
|
|
||||||
* });
|
|
||||||
* } else {
|
|
||||||
* // Workers can share any TCP connection. In this case, it is an HTTP server.
|
|
||||||
* http.createServer((req, res) => {
|
|
||||||
* res.writeHead(200);
|
|
||||||
* res.end(`Current process\n ${process.pid}`);
|
|
||||||
* process.kill(process.pid);
|
|
||||||
* }).listen(8000);
|
|
||||||
* }
|
|
||||||
* ```
|
|
||||||
* @since v0.11.14
|
|
||||||
*/
|
|
||||||
isDead(): boolean;
|
isDead(): boolean;
|
||||||
/**
|
|
||||||
* 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
|
|
||||||
* worker has not exited, it is `undefined`.
|
|
||||||
*
|
|
||||||
* The boolean `worker.exitedAfterDisconnect` allows distinguishing between
|
|
||||||
* voluntary and accidental exit, the primary may choose not to respawn a worker
|
|
||||||
* based on this value.
|
|
||||||
*
|
|
||||||
* ```js
|
|
||||||
* cluster.on('exit', (worker, code, signal) => {
|
|
||||||
* if (worker.exitedAfterDisconnect === true) {
|
|
||||||
* console.log('Oh, it was just voluntary – no need to worry');
|
|
||||||
* }
|
|
||||||
* });
|
|
||||||
*
|
|
||||||
* // kill worker
|
|
||||||
* worker.kill();
|
|
||||||
* ```
|
|
||||||
* @since v6.0.0
|
|
||||||
*/
|
|
||||||
exitedAfterDisconnect: boolean;
|
exitedAfterDisconnect: boolean;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* events.EventEmitter
|
* events.EventEmitter
|
||||||
* 1. disconnect
|
* 1. disconnect
|
||||||
@@ -283,67 +42,68 @@ 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 {
|
|
||||||
|
interface Cluster extends events.EventEmitter {
|
||||||
|
Worker: Worker;
|
||||||
disconnect(callback?: () => void): void;
|
disconnect(callback?: () => void): void;
|
||||||
fork(env?: any): Worker;
|
fork(env?: any): Worker;
|
||||||
/** @deprecated since v16.0.0 - use isPrimary. */
|
isMaster: boolean;
|
||||||
readonly isMaster: boolean;
|
isWorker: boolean;
|
||||||
readonly isPrimary: boolean;
|
// TODO: cluster.schedulingPolicy
|
||||||
readonly isWorker: boolean;
|
settings: ClusterSettings;
|
||||||
schedulingPolicy: number;
|
|
||||||
readonly settings: ClusterSettings;
|
|
||||||
/** @deprecated since v16.0.0 - use setupPrimary. */
|
|
||||||
setupMaster(settings?: ClusterSettings): void;
|
setupMaster(settings?: ClusterSettings): void;
|
||||||
/**
|
worker?: Worker;
|
||||||
* `setupPrimary` is used to change the default 'fork' behavior. Once called, the settings will be present in cluster.settings.
|
workers?: {
|
||||||
*/
|
[index: string]: Worker | undefined
|
||||||
setupPrimary(settings?: ClusterSettings): void;
|
};
|
||||||
readonly worker?: Worker | undefined;
|
|
||||||
readonly workers?: NodeJS.Dict<Worker> | undefined;
|
|
||||||
readonly SCHED_NONE: number;
|
|
||||||
readonly SCHED_RR: number;
|
|
||||||
/**
|
/**
|
||||||
* events.EventEmitter
|
* events.EventEmitter
|
||||||
* 1. disconnect
|
* 1. disconnect
|
||||||
@@ -355,60 +115,146 @@ 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(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.
|
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.
|
||||||
addListener(event: 'online', listener: (worker: Worker) => void): this;
|
addListener(event: "online", listener: (worker: Worker) => void): this;
|
||||||
addListener(event: 'setup', listener: (settings: ClusterSettings) => 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.
|
prependListener(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.
|
||||||
prependListener(event: 'message', listener: (worker: Worker, message: any, handle?: net.Socket | net.Server) => void): this;
|
prependListener(event: "online", listener: (worker: Worker) => void): this;
|
||||||
prependListener(event: 'online', listener: (worker: Worker) => void): this;
|
prependListener(event: "setup", listener: (settings: ClusterSettings) => 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(event: 'message', listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;
|
prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): this;
|
||||||
prependOnceListener(event: 'online', listener: (worker: Worker) => void): this;
|
prependOnceListener(event: "online", listener: (worker: Worker) => void): this;
|
||||||
prependOnceListener(event: 'setup', listener: (settings: ClusterSettings) => void): this;
|
prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): this;
|
||||||
}
|
}
|
||||||
const cluster: Cluster;
|
|
||||||
export default cluster;
|
function disconnect(callback?: () => void): void;
|
||||||
}
|
function fork(env?: any): Worker;
|
||||||
declare module 'node:cluster' {
|
const isMaster: boolean;
|
||||||
export * from 'cluster';
|
const isWorker: boolean;
|
||||||
export { default as default } from 'cluster';
|
// TODO: cluster.schedulingPolicy
|
||||||
|
const settings: ClusterSettings;
|
||||||
|
function setupMaster(settings?: ClusterSettings): void;
|
||||||
|
const worker: Worker;
|
||||||
|
const workers: {
|
||||||
|
[index: string]: Worker | undefined
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* events.EventEmitter
|
||||||
|
* 1. disconnect
|
||||||
|
* 2. exit
|
||||||
|
* 3. fork
|
||||||
|
* 4. listening
|
||||||
|
* 5. message
|
||||||
|
* 6. online
|
||||||
|
* 7. setup
|
||||||
|
*/
|
||||||
|
function addListener(event: string, listener: (...args: any[]) => void): Cluster;
|
||||||
|
function addListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function addListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
|
||||||
|
function addListener(event: "fork", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function addListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
|
||||||
|
// the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
function addListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
|
||||||
|
function addListener(event: "online", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function addListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
|
||||||
|
|
||||||
|
function emit(event: string | symbol, ...args: any[]): boolean;
|
||||||
|
function emit(event: "disconnect", worker: Worker): boolean;
|
||||||
|
function emit(event: "exit", worker: Worker, code: number, signal: string): boolean;
|
||||||
|
function emit(event: "fork", worker: Worker): boolean;
|
||||||
|
function emit(event: "listening", worker: Worker, address: Address): boolean;
|
||||||
|
function emit(event: "message", worker: Worker, message: any, handle: net.Socket | net.Server): boolean;
|
||||||
|
function emit(event: "online", worker: Worker): boolean;
|
||||||
|
function emit(event: "setup", settings: ClusterSettings): boolean;
|
||||||
|
|
||||||
|
function on(event: string, listener: (...args: any[]) => void): Cluster;
|
||||||
|
function on(event: "disconnect", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function on(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
|
||||||
|
function on(event: "fork", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function on(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
|
||||||
|
function on(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
function on(event: "online", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function on(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
|
||||||
|
|
||||||
|
function once(event: string, listener: (...args: any[]) => void): Cluster;
|
||||||
|
function once(event: "disconnect", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function once(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
|
||||||
|
function once(event: "fork", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function once(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
|
||||||
|
function once(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster; // the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
function once(event: "online", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function once(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
|
||||||
|
|
||||||
|
function removeListener(event: string, listener: (...args: any[]) => void): Cluster;
|
||||||
|
function removeAllListeners(event?: string): Cluster;
|
||||||
|
function setMaxListeners(n: number): Cluster;
|
||||||
|
function getMaxListeners(): number;
|
||||||
|
function listeners(event: string): Function[];
|
||||||
|
function listenerCount(type: string): number;
|
||||||
|
|
||||||
|
function prependListener(event: string, listener: (...args: any[]) => void): Cluster;
|
||||||
|
function prependListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function prependListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
|
||||||
|
function prependListener(event: "fork", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function prependListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
|
||||||
|
// the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
function prependListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
|
||||||
|
function prependListener(event: "online", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function prependListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
|
||||||
|
|
||||||
|
function prependOnceListener(event: string, listener: (...args: any[]) => void): Cluster;
|
||||||
|
function prependOnceListener(event: "disconnect", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function prependOnceListener(event: "exit", listener: (worker: Worker, code: number, signal: string) => void): Cluster;
|
||||||
|
function prependOnceListener(event: "fork", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function prependOnceListener(event: "listening", listener: (worker: Worker, address: Address) => void): Cluster;
|
||||||
|
// the handle is a net.Socket or net.Server object, or undefined.
|
||||||
|
function prependOnceListener(event: "message", listener: (worker: Worker, message: any, handle: net.Socket | net.Server) => void): Cluster;
|
||||||
|
function prependOnceListener(event: "online", listener: (worker: Worker) => void): Cluster;
|
||||||
|
function prependOnceListener(event: "setup", listener: (settings: ClusterSettings) => void): Cluster;
|
||||||
|
|
||||||
|
function eventNames(): string[];
|
||||||
}
|
}
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user