mirror of
https://github.com/electron/electron.git
synced 2026-02-26 03:01:17 -05:00
Compare commits
302 Commits
v36.8.0
...
v37.0.0-be
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
cd1afd6d9a | ||
|
|
ca22facaaf | ||
|
|
95212a539b | ||
|
|
91c153ed0b | ||
|
|
ab78c8a295 | ||
|
|
c2e8d71683 | ||
|
|
47e0baf21d | ||
|
|
f9b86609a9 | ||
|
|
7dd024a9dc | ||
|
|
65b9accc80 | ||
|
|
584fa31adc | ||
|
|
c0149676fb | ||
|
|
b39305af61 | ||
|
|
6e7271ff7e | ||
|
|
3e07a0e9a3 | ||
|
|
6a16fc3144 | ||
|
|
e53a7c7c00 | ||
|
|
63052c45a1 | ||
|
|
28c5f7026f | ||
|
|
c78be76176 | ||
|
|
73dd132202 | ||
|
|
f6e7cdb8b6 | ||
|
|
54f2c93fec | ||
|
|
ecc00f149f | ||
|
|
791235b15b | ||
|
|
692d648edb | ||
|
|
bbb6aabe41 | ||
|
|
cc302c2f07 | ||
|
|
b6779056f2 | ||
|
|
d7990ca180 | ||
|
|
7cb5a46b66 | ||
|
|
917e95433a | ||
|
|
7db9671420 | ||
|
|
a3d19d7a99 | ||
|
|
f1562543a3 | ||
|
|
bf54b8d709 | ||
|
|
ec83c1303c | ||
|
|
ec1b0f4923 | ||
|
|
be5b02386d | ||
|
|
df8ed0acc3 | ||
|
|
8de0bb5bc3 | ||
|
|
25c7f0017a | ||
|
|
546d9f4ba6 | ||
|
|
434f77e6c1 | ||
|
|
ace7ef4316 | ||
|
|
0e9c0d8c04 | ||
|
|
8f37d42241 | ||
|
|
3d836267ed | ||
|
|
440cdec061 | ||
|
|
4eea6e4974 | ||
|
|
2c6f713d72 | ||
|
|
057437f739 | ||
|
|
b59a7ef2c3 | ||
|
|
069c9a9e1f | ||
|
|
5602efb2b6 | ||
|
|
839590eb90 | ||
|
|
c9d1615b19 | ||
|
|
4597f4ba9e | ||
|
|
2cf774b2b8 | ||
|
|
3029cdb4dd | ||
|
|
6bd6180703 | ||
|
|
cd023b54f5 | ||
|
|
7dfa2b92fb | ||
|
|
8189b01987 | ||
|
|
0c683552ec | ||
|
|
018e2f6a31 | ||
|
|
3c8d971c53 | ||
|
|
258762929f | ||
|
|
01994637e8 | ||
|
|
0810fe54d4 | ||
|
|
d783f134d9 | ||
|
|
bf94f88569 | ||
|
|
47e25dfd57 | ||
|
|
03d83c293f | ||
|
|
46e3ab6353 | ||
|
|
620f3a57dd | ||
|
|
534ad05cf2 | ||
|
|
7c77018b19 | ||
|
|
6696b98ecc | ||
|
|
d842d17ff3 | ||
|
|
ecd745305e | ||
|
|
2734088d20 | ||
|
|
4641bc9619 | ||
|
|
3f3c297c7a | ||
|
|
062d3a6168 | ||
|
|
f2240e07f0 | ||
|
|
0c103f390c | ||
|
|
27f6adf8df | ||
|
|
b03c71213e | ||
|
|
c2ab63f6d7 | ||
|
|
b92c68b053 | ||
|
|
450b2d0ba3 | ||
|
|
b40b4dc015 | ||
|
|
8fa7d324d1 | ||
|
|
7fa297a849 | ||
|
|
55505ba4df | ||
|
|
372cdb5dee | ||
|
|
973e5d0249 | ||
|
|
0171f648b1 | ||
|
|
74c4ae0b55 | ||
|
|
06a99d6770 | ||
|
|
1976e935e7 | ||
|
|
51dbe69e45 | ||
|
|
08318dc05d | ||
|
|
3e78bbde6a | ||
|
|
37f8db15e9 | ||
|
|
08b7a1f801 | ||
|
|
e9f279afd1 | ||
|
|
c7b0bdab7e | ||
|
|
686ae47696 | ||
|
|
dd03cceda0 | ||
|
|
d0e13cc262 | ||
|
|
858a93f886 | ||
|
|
e383eaa465 | ||
|
|
274b148554 | ||
|
|
7083419361 | ||
|
|
ac2c0c76fe | ||
|
|
3ad87787f8 | ||
|
|
ec8f7f185e | ||
|
|
f15fa56e38 | ||
|
|
297c4297b1 | ||
|
|
3a982ecad5 | ||
|
|
926a6ee8bd | ||
|
|
437542767a | ||
|
|
a29e1170b9 | ||
|
|
352a403efd | ||
|
|
e8117f8e40 | ||
|
|
32fea719b3 | ||
|
|
14df4aab83 | ||
|
|
24e46849c7 | ||
|
|
489d30edfb | ||
|
|
e748b521b2 | ||
|
|
51bffb533e | ||
|
|
62b5b5f99d | ||
|
|
a9b2ec514b | ||
|
|
3064b24c9d | ||
|
|
74d641c7b3 | ||
|
|
446d0769ed | ||
|
|
013133867b | ||
|
|
de407e82b7 | ||
|
|
c6e6a03a24 | ||
|
|
c1c74b0a6c | ||
|
|
45a0494287 | ||
|
|
521108e2a5 | ||
|
|
93a51cc756 | ||
|
|
ab23758e51 | ||
|
|
9069542d0b | ||
|
|
636cbc19ac | ||
|
|
1a6de10da8 | ||
|
|
b1731407bc | ||
|
|
4bb7a4ceb0 | ||
|
|
e22b83abf2 | ||
|
|
bbc9d1cdc1 | ||
|
|
85dce12be3 | ||
|
|
a6875c732c | ||
|
|
c0fdf09f28 | ||
|
|
41d8f90d68 | ||
|
|
3c5c9c8e19 | ||
|
|
ac18decc56 | ||
|
|
052da50aeb | ||
|
|
4e33d1690d | ||
|
|
c2ae4afb8f | ||
|
|
e81e3acd2d | ||
|
|
9c019b6147 | ||
|
|
0a5da83a1b | ||
|
|
7601af5200 | ||
|
|
e46b0c8ddc | ||
|
|
0e3246e20d | ||
|
|
0ff98810ba | ||
|
|
f48680a983 | ||
|
|
682ea345ac | ||
|
|
a21c805ece | ||
|
|
6f24dbaab4 | ||
|
|
36e233797c | ||
|
|
c02e5bc72c | ||
|
|
5499c800a7 | ||
|
|
0492f0f745 | ||
|
|
ac1ffb1bff | ||
|
|
5a6f1ede6a | ||
|
|
0e687d3082 | ||
|
|
08da2b0b07 | ||
|
|
9c4720766d | ||
|
|
5da75c4a97 | ||
|
|
77833eddfb | ||
|
|
1730062c8f | ||
|
|
09135443a0 | ||
|
|
fcd836e34f | ||
|
|
28fd7c5a17 | ||
|
|
ae6930030a | ||
|
|
2fa4fb0da9 | ||
|
|
bf93427cbb | ||
|
|
72fc65d2c5 | ||
|
|
2baa4a3514 | ||
|
|
49aba471dc | ||
|
|
46b108e9a4 | ||
|
|
ac616ef41d | ||
|
|
e09712f0e1 | ||
|
|
35c90fd807 | ||
|
|
756423e81e | ||
|
|
dc61a6ab80 | ||
|
|
a0c859fc4f | ||
|
|
17e38230d5 | ||
|
|
3ae285b614 | ||
|
|
3212f60d69 | ||
|
|
a5076a663b | ||
|
|
d2c2261c58 | ||
|
|
8412d78310 | ||
|
|
48a38c0289 | ||
|
|
6e44662f15 | ||
|
|
c8d3184a95 | ||
|
|
bb0ddcad27 | ||
|
|
4eda76de36 | ||
|
|
ced8fdbce8 | ||
|
|
f7ba0d3b4b | ||
|
|
4f4e23a3b3 | ||
|
|
1d6cb348b4 | ||
|
|
8e856dfdb8 | ||
|
|
cf82c3215f | ||
|
|
307d4f94c7 | ||
|
|
cfada0347e | ||
|
|
7cb921369b | ||
|
|
a86e44b176 | ||
|
|
abaef13c0b | ||
|
|
cfd64b5f89 | ||
|
|
cbcd779610 | ||
|
|
b75e802280 | ||
|
|
9ec14b91e7 | ||
|
|
47cf4e7bfd | ||
|
|
b8150f33db | ||
|
|
02a4bd5942 | ||
|
|
7ed4f0ca27 | ||
|
|
964090d086 | ||
|
|
e9082ea57a | ||
|
|
5623c96dd7 | ||
|
|
3fd35abe98 | ||
|
|
a81e11d9de | ||
|
|
db47267be4 | ||
|
|
6723bfbe32 | ||
|
|
603057b198 | ||
|
|
9ccc63d682 | ||
|
|
4d7161f36e | ||
|
|
32141eacfb | ||
|
|
1b5db9989e | ||
|
|
46967ca9c9 | ||
|
|
273baf4ec2 | ||
|
|
c4800d9934 | ||
|
|
86cc9f626f | ||
|
|
09a3bcf0f0 | ||
|
|
bf64967b68 | ||
|
|
bf1d377e08 | ||
|
|
d424c3aee7 | ||
|
|
e4d660af86 | ||
|
|
2efd75e2ca | ||
|
|
b13f05e2dc | ||
|
|
dcbab692c0 | ||
|
|
71f3ff6bf2 | ||
|
|
ff0a14a7c6 | ||
|
|
4bf99c9bea | ||
|
|
9513486bf3 | ||
|
|
bea7d618f1 | ||
|
|
4ad20ccb39 | ||
|
|
73a017577e | ||
|
|
2d8a547692 | ||
|
|
5f0603ed28 | ||
|
|
afca4e271e | ||
|
|
30d2fadb28 | ||
|
|
3271b82094 | ||
|
|
c0e180758b | ||
|
|
5817d27429 | ||
|
|
4812b4e6c2 | ||
|
|
7c0b7b417b | ||
|
|
785fe5f3b6 | ||
|
|
502a6b0166 | ||
|
|
4a28e60e89 | ||
|
|
a90d50e13f | ||
|
|
962d8b325a | ||
|
|
c813bc2a92 | ||
|
|
5ce41bac8d | ||
|
|
6bc7bde229 | ||
|
|
2de8fd7d93 | ||
|
|
dcd319cfbe | ||
|
|
cd56b96544 | ||
|
|
22262c14f1 | ||
|
|
6e056709be | ||
|
|
2f63b20acf | ||
|
|
eb126eecb0 | ||
|
|
4e1a915f1a | ||
|
|
f2b09ff0bd | ||
|
|
b0c11371e0 | ||
|
|
9b2e7db469 | ||
|
|
f04c06a0db | ||
|
|
8ac061ebe7 | ||
|
|
b30f31e1f6 | ||
|
|
288ef37b1d | ||
|
|
20414f66ca | ||
|
|
458b14b8ed | ||
|
|
530ccfe350 | ||
|
|
041ada1586 | ||
|
|
d987bee007 | ||
|
|
431a791a99 | ||
|
|
9441cf4627 | ||
|
|
bb1c3dff21 |
@@ -1,4 +1,5 @@
|
||||
{
|
||||
"name": "Electron Core Development Environment",
|
||||
"dockerComposeFile": "docker-compose.yml",
|
||||
"service": "buildtools",
|
||||
"onCreateCommand": ".devcontainer/on-create-command.sh",
|
||||
@@ -33,27 +34,15 @@
|
||||
"surajbarkale.ninja",
|
||||
"ms-vscode.cpptools",
|
||||
"mutantdino.resourcemonitor",
|
||||
"dsanders11.vscode-electron-build-tools",
|
||||
"dbaeumer.vscode-eslint",
|
||||
"shakram02.bash-beautify",
|
||||
"marshallofsound.gnls-electron",
|
||||
"marshallofsound.gnls-electron"
|
||||
],
|
||||
"settings": {
|
||||
"editor.tabSize": 2,
|
||||
"bashBeautify.tabSize": 2,
|
||||
"typescript.tsdk": "node_modules/typescript/lib",
|
||||
"[gn]": {
|
||||
"editor.formatOnSave": true
|
||||
},
|
||||
"[javascript]": {
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true
|
||||
}
|
||||
},
|
||||
"[typescript]": {
|
||||
"editor.codeActionsOnSave": {
|
||||
"source.fixAll.eslint": true
|
||||
}
|
||||
},
|
||||
"javascript.preferences.quoteStyle": "single",
|
||||
"typescript.preferences.quoteStyle": "single"
|
||||
}
|
||||
|
||||
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
2
.github/ISSUE_TEMPLATE/bug_report.yml
vendored
@@ -73,7 +73,7 @@ body:
|
||||
- type: input
|
||||
attributes:
|
||||
label: Testcase Gist URL
|
||||
description: If you can reproduce the issue in a standalone test case, please use [Electron Fiddle](https://github.com/electron/fiddle) to create one and to publish it as a [GitHub gist](https://gist.github.com) and put the gist URL here. This is **the best way** to ensure this issue is triaged quickly.
|
||||
description: Electron maintainers need a standalone test case to reproduce and fix your issue. Please use [Electron Fiddle](https://github.com/electron/fiddle) to create one and to publish it as a [GitHub gist](https://gist.github.com). Then put the gist URL here. Issues without testcase gists receive less attention and might be closed without a maintainer taking a closer look. To maximize how much attention your issue receives, please include a testcase gist right from the start.
|
||||
placeholder: https://gist.github.com/...
|
||||
- type: textarea
|
||||
attributes:
|
||||
|
||||
8
.github/actions/build-electron/action.yml
vendored
8
.github/actions/build-electron/action.yml
vendored
@@ -38,12 +38,6 @@ runs:
|
||||
run: |
|
||||
GN_APPENDED_ARGS="$GN_EXTRA_ARGS target_cpu=\"x64\" v8_snapshot_toolchain=\"//build/toolchain/mac:clang_x64\""
|
||||
echo "GN_EXTRA_ARGS=$GN_APPENDED_ARGS" >> $GITHUB_ENV
|
||||
- name: Set GN_EXTRA_ARGS for Windows
|
||||
shell: bash
|
||||
if: ${{inputs.target-arch != 'x64' && inputs.target-platform == 'win' }}
|
||||
run: |
|
||||
GN_APPENDED_ARGS="$GN_EXTRA_ARGS target_cpu=\"${{ inputs.target-arch }}\""
|
||||
echo "GN_EXTRA_ARGS=$GN_APPENDED_ARGS" >> $GITHUB_ENV
|
||||
- name: Add Clang problem matcher
|
||||
shell: bash
|
||||
run: echo "::add-matcher::src/electron/.github/problem-matchers/clang.json"
|
||||
@@ -190,8 +184,8 @@ runs:
|
||||
electron/script/zip-symbols.py -b $BUILD_PATH
|
||||
fi
|
||||
- name: Generate FFMpeg ${{ inputs.step-suffix }}
|
||||
if: ${{ inputs.is-release == 'true' }}
|
||||
shell: bash
|
||||
if: ${{ inputs.is-release == 'true' }}
|
||||
run: |
|
||||
cd src
|
||||
gn gen out/ffmpeg --args="import(\"//electron/build/args/ffmpeg.gn\") use_remoteexec=true $GN_EXTRA_ARGS"
|
||||
|
||||
83
.github/actions/build-git-cache/action.yml
vendored
83
.github/actions/build-git-cache/action.yml
vendored
@@ -1,83 +0,0 @@
|
||||
name: 'Build Git Cache'
|
||||
description: 'Runs a gclient sync to build the git cache for Electron'
|
||||
inputs:
|
||||
target-platform:
|
||||
description: 'Target platform, should be linux, win, macos'
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Set GIT_CACHE_PATH to make gclient to use the cache
|
||||
shell: bash
|
||||
run: |
|
||||
echo "GIT_CACHE_PATH=$(pwd)/git-cache" >> $GITHUB_ENV
|
||||
- name: Set Chromium Git Cookie
|
||||
uses: ./src/electron/.github/actions/set-chromium-cookie
|
||||
- name: Install Build Tools
|
||||
uses: ./src/electron/.github/actions/install-build-tools
|
||||
- name: Set up cache drive
|
||||
shell: bash
|
||||
run: |
|
||||
if [ "${{ inputs.target-platform }}" = "win" ]; then
|
||||
echo "CACHE_DRIVE=/mnt/win-cache" >> $GITHUB_ENV
|
||||
else
|
||||
echo "CACHE_DRIVE=/mnt/cross-instance-cache" >> $GITHUB_ENV
|
||||
fi
|
||||
- name: Check cross instance cache disk space
|
||||
shell: bash
|
||||
run: |
|
||||
# if there is less than 35 GB free space then creating the cache might fail so exit early
|
||||
freespace=`df -m $CACHE_DRIVE | grep -w $CACHE_DRIVE | awk '{print $4}'`
|
||||
freespace_human=`df -h $CACHE_DRIVE | grep -w $CACHE_DRIVE | awk '{print $4}'`
|
||||
if [ $freespace -le 35000 ]; then
|
||||
echo "The cross mount cache has $freespace_human free space which is not enough - exiting"
|
||||
exit 1
|
||||
else
|
||||
echo "The cross mount cache has $freespace_human free space - continuing"
|
||||
fi
|
||||
- name: Restore gitcache
|
||||
shell: bash
|
||||
run: |
|
||||
GIT_CACHE_TAR="$CACHE_DRIVE/gitcache.tar"
|
||||
if [ ! -f "$GIT_CACHE_TAR" ]; then
|
||||
echo "Git cache tar file does not exist, skipping restore"
|
||||
exit 0
|
||||
fi
|
||||
echo "Restoring git cache from $GIT_CACHE_TAR to $GIT_CACHE_PATH"
|
||||
mkdir -p $GIT_CACHE_PATH
|
||||
tar -xf $GIT_CACHE_TAR -C $GIT_CACHE_PATH
|
||||
- name: Gclient Sync
|
||||
shell: bash
|
||||
run: |
|
||||
e d gclient config \
|
||||
--name "src/electron" \
|
||||
--unmanaged \
|
||||
${GCLIENT_EXTRA_ARGS} \
|
||||
"$GITHUB_SERVER_URL/$GITHUB_REPOSITORY"
|
||||
|
||||
if [ "$TARGET_OS" != "" ]; then
|
||||
echo "target_os=['$TARGET_OS']" >> ./.gclient
|
||||
fi
|
||||
|
||||
ELECTRON_USE_THREE_WAY_MERGE_FOR_PATCHES=1 e d gclient sync --with_branch_heads --with_tags --nohooks -vv
|
||||
- name: Compress Git Cache Directory
|
||||
shell: bash
|
||||
run: |
|
||||
echo "Uncompressed gitcache size: $(du -sh $GIT_CACHE_PATH | cut -f1 -d' ')"
|
||||
cd $GIT_CACHE_PATH
|
||||
tar -cf ../gitcache.tar .
|
||||
cd ..
|
||||
echo "Compressed gitcache to $(du -sh gitcache.tar | cut -f1 -d' ')"
|
||||
# remove the old cache file if it exists
|
||||
if [ -f $CACHE_DRIVE/gitcache.tar ]; then
|
||||
echo "Removing old gitcache.tar from $CACHE_DRIVE"
|
||||
rm $CACHE_DRIVE/gitcache.tar
|
||||
fi
|
||||
cp ./gitcache.tar $CACHE_DRIVE/
|
||||
- name: Wait for active SSH sessions
|
||||
shell: bash
|
||||
if: always() && !cancelled()
|
||||
run: |
|
||||
while [ -f /var/.ssh-lock ]
|
||||
do
|
||||
sleep 60
|
||||
done
|
||||
32
.github/actions/checkout/action.yml
vendored
32
.github/actions/checkout/action.yml
vendored
@@ -20,8 +20,8 @@ runs:
|
||||
echo "GIT_CACHE_PATH=$(pwd)/git-cache" >> $GITHUB_ENV
|
||||
- name: Install Dependencies
|
||||
uses: ./src/electron/.github/actions/install-dependencies
|
||||
- name: Set Chromium Git Cookie
|
||||
uses: ./src/electron/.github/actions/set-chromium-cookie
|
||||
- name: Set Chromium Git Helper
|
||||
uses: ./src/electron/.github/actions/set-chromium-git-helper
|
||||
- name: Install Build Tools
|
||||
uses: ./src/electron/.github/actions/install-build-tools
|
||||
- name: Generate DEPS Hash
|
||||
@@ -40,10 +40,10 @@ runs:
|
||||
if: ${{ inputs.generate-sas-token == 'true' }}
|
||||
shell: bash
|
||||
run: |
|
||||
curl --unix-socket /var/run/sas/sas.sock --fail "http://foo/$CACHE_FILE?platform=${{ inputs.target-platform }}&getAccountName=true" > sas-token
|
||||
curl --unix-socket /var/run/sas/sas.sock --fail "http://foo/$CACHE_FILE?platform=${{ inputs.target-platform }}" > sas-token
|
||||
- name: Save SAS Key
|
||||
if: ${{ inputs.generate-sas-token == 'true' }}
|
||||
uses: actions/cache/save@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
uses: actions/cache/save@d4323d4df104b026a6aa633fdb11d772146be0bf
|
||||
with:
|
||||
path: sas-token
|
||||
key: sas-key-${{ inputs.target-platform }}-${{ github.run_number }}-${{ github.run_attempt }}
|
||||
@@ -83,18 +83,6 @@ runs:
|
||||
- name: Add patch conflict problem matcher
|
||||
shell: bash
|
||||
run: echo "::add-matcher::src/electron/.github/problem-matchers/patch-conflict.json"
|
||||
- name: Restore gitcache
|
||||
if: steps.check-cache.outputs.cache_exists == 'false'
|
||||
shell: bash
|
||||
run: |
|
||||
GIT_CACHE_TAR="$CACHE_DRIVE/gitcache.tar"
|
||||
if [ ! -f "$GIT_CACHE_TAR" ]; then
|
||||
echo "Git cache tar file does not exist, skipping restore"
|
||||
exit 0
|
||||
fi
|
||||
echo "Restoring git cache from $GIT_CACHE_TAR to $GIT_CACHE_PATH"
|
||||
mkdir -p $GIT_CACHE_PATH
|
||||
tar -xf $GIT_CACHE_TAR -C $GIT_CACHE_PATH
|
||||
- name: Gclient Sync
|
||||
if: steps.check-cache.outputs.cache_exists == 'false'
|
||||
shell: bash
|
||||
@@ -117,7 +105,12 @@ runs:
|
||||
git update-index --refresh || true
|
||||
if ! git diff-index --quiet HEAD --; then
|
||||
# There are changes to the patches. Make a git commit with the updated patches
|
||||
if node ./script/patch-up.js; then
|
||||
git add patches
|
||||
GIT_COMMITTER_NAME="PatchUp" GIT_COMMITTER_EMAIL="73610968+patchup[bot]@users.noreply.github.com" git commit -m "chore: update patches" --author="PatchUp <73610968+patchup[bot]@users.noreply.github.com>"
|
||||
# Export it
|
||||
mkdir -p ../../patches
|
||||
git format-patch -1 --stdout --keep-subject --no-stat --full-index > ../../patches/update-patches.patch
|
||||
if node ./script/push-patch.js; then
|
||||
echo
|
||||
echo "======================================================================"
|
||||
echo "Changes to the patches when applying, we have auto-pushed the diff to the current branch"
|
||||
@@ -125,11 +118,6 @@ runs:
|
||||
echo "======================================================================"
|
||||
exit 1
|
||||
else
|
||||
git add patches
|
||||
GIT_COMMITTER_NAME="PatchUp" GIT_COMMITTER_EMAIL="73610968+patchup[bot]@users.noreply.github.com" git commit -m "chore: update patches" --author="PatchUp <73610968+patchup[bot]@users.noreply.github.com>"
|
||||
# Export it
|
||||
mkdir -p ../../patches
|
||||
git format-patch -1 --stdout --keep-subject --no-stat --full-index > ../../patches/update-patches.patch
|
||||
echo
|
||||
echo "======================================================================"
|
||||
echo "There were changes to the patches when applying."
|
||||
|
||||
5
.github/actions/free-space-macos/action.yml
vendored
5
.github/actions/free-space-macos/action.yml
vendored
@@ -6,8 +6,6 @@ runs:
|
||||
- name: Free Space on MacOS
|
||||
shell: bash
|
||||
run: |
|
||||
echo "Disk usage before cleanup:"
|
||||
df -h
|
||||
sudo mkdir -p $TMPDIR/del-target
|
||||
|
||||
tmpify() {
|
||||
@@ -64,5 +62,4 @@ runs:
|
||||
|
||||
# lipo off some huge binaries arm64 versions to save space
|
||||
strip_universal_deep $(xcode-select -p)/../SharedFrameworks
|
||||
# strip_arm_deep /System/Volumes/Data/Library/Developer/CommandLineTools/usr
|
||||
sudo mdutil -a -i off
|
||||
# strip_arm_deep /System/Volumes/Data/Library/Developer/CommandLineTools/usr
|
||||
@@ -11,7 +11,6 @@ runs:
|
||||
git config --global core.autocrlf false
|
||||
git config --global branch.autosetuprebase always
|
||||
git config --global core.fscache true
|
||||
git config --global core.longpaths true
|
||||
git config --global core.preloadindex true
|
||||
fi
|
||||
export BUILD_TOOLS_SHA=6e8526315ea3b4828882497e532b8340e64e053c
|
||||
|
||||
@@ -7,7 +7,7 @@ runs:
|
||||
shell: bash
|
||||
id: yarn-cache-dir-path
|
||||
run: echo "dir=$(node src/electron/script/yarn cache dir)" >> $GITHUB_OUTPUT
|
||||
- uses: actions/cache@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
- uses: actions/cache@1bd1e32a3bdc45362d1e726936510720a7c30a57
|
||||
id: yarn-cache
|
||||
with:
|
||||
path: ${{ steps.yarn-cache-dir-path.outputs.dir }}
|
||||
|
||||
19
.github/actions/restore-cache-azcopy/action.yml
vendored
19
.github/actions/restore-cache-azcopy/action.yml
vendored
@@ -8,14 +8,14 @@ runs:
|
||||
steps:
|
||||
- name: Obtain SAS Key
|
||||
continue-on-error: true
|
||||
uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf
|
||||
with:
|
||||
path: sas-token
|
||||
key: sas-key-${{ inputs.target-platform }}-${{ github.run_number }}-1
|
||||
enableCrossOsArchive: true
|
||||
- name: Obtain SAS Key
|
||||
continue-on-error: true
|
||||
uses: actions/cache/restore@5a3ec84eff668545956fd18022155c47e93e2684 # v4.2.3
|
||||
uses: actions/cache/restore@d4323d4df104b026a6aa633fdb11d772146be0bf
|
||||
with:
|
||||
path: sas-token
|
||||
key: sas-key-${{ inputs.target-platform }}-${{ github.run_number }}-${{ github.run_attempt }}
|
||||
@@ -32,23 +32,22 @@ runs:
|
||||
shell: bash
|
||||
command: |
|
||||
sas_token=$(cat sas-token)
|
||||
if [ -z "$sas_token" ]; then
|
||||
if [ -z $sas-token ]; then
|
||||
echo "SAS Token not found; exiting src cache download early..."
|
||||
exit 1
|
||||
else
|
||||
sas_token=$(jq -r '.sasToken' sas-token)
|
||||
account_name=$(jq -r '.accountName' sas-token)
|
||||
if [ "${{ inputs.target-platform }}" = "win" ]; then
|
||||
azcopy copy --log-level=ERROR \
|
||||
"https://$account_name.file.core.windows.net/${{ env.AZURE_AKS_WIN_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar
|
||||
"https://${{ env.AZURE_AKS_CACHE_STORAGE_ACCOUNT }}.file.core.windows.net/${{ env.AZURE_AKS_WIN_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar
|
||||
else
|
||||
azcopy copy --log-level=ERROR \
|
||||
"https://$account_name.file.core.windows.net/${{ env.AZURE_AKS_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar
|
||||
"https://${{ env.AZURE_AKS_CACHE_STORAGE_ACCOUNT }}.file.core.windows.net/${{ env.AZURE_AKS_CACHE_SHARE_NAME }}/${{ env.CACHE_PATH }}?$sas_token" $DEPSHASH.tar
|
||||
fi
|
||||
fi
|
||||
env:
|
||||
AZURE_AKS_CACHE_SHARE_NAME: linux-cache
|
||||
AZURE_AKS_WIN_CACHE_SHARE_NAME: windows-cache
|
||||
AZURE_AKS_CACHE_STORAGE_ACCOUNT: f723719aa87a34622b5f7f3
|
||||
AZURE_AKS_CACHE_SHARE_NAME: pvc-f6a4089f-b082-4bee-a3f9-c3e1c0c02d8f
|
||||
AZURE_AKS_WIN_CACHE_SHARE_NAME: pvc-71dec4f2-0d44-4fd1-a2c3-add049d70bdf
|
||||
- name: Clean SAS Key
|
||||
shell: bash
|
||||
run: rm -f sas-token
|
||||
@@ -97,7 +96,7 @@ runs:
|
||||
|
||||
$TEMP_DIR=New-Item -ItemType Directory -Path temp-cache
|
||||
$TEMP_DIR_PATH = $TEMP_DIR.FullName
|
||||
C:\ProgramData\Chocolatey\bin\7z.exe -y -snld x $src_cache -o"$TEMP_DIR_PATH"
|
||||
C:\ProgramData\Chocolatey\bin\7z.exe -y x $src_cache -o"$TEMP_DIR_PATH"
|
||||
|
||||
- name: Move Src Cache (Windows)
|
||||
if: ${{ inputs.target-platform == 'win' }}
|
||||
|
||||
58
.github/actions/set-chromium-cookie/action.yml
vendored
58
.github/actions/set-chromium-cookie/action.yml
vendored
@@ -1,58 +0,0 @@
|
||||
name: 'Set Chromium Git Cookie'
|
||||
description: 'Sets an authenticated cookie from Chromium to allow for a higher request limit'
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Set the git cookie from chromium.googlesource.com (Unix)
|
||||
if: ${{ runner.os != 'Windows' }}
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ -z "${{ env.CHROMIUM_GIT_COOKIE }}" ]]; then
|
||||
echo "CHROMIUM_GIT_COOKIE is not set - cannot authenticate."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
eval 'set +o history' 2>/dev/null || setopt HIST_IGNORE_SPACE 2>/dev/null
|
||||
touch ~/.gitcookies
|
||||
chmod 0600 ~/.gitcookies
|
||||
|
||||
git config --global http.cookiefile ~/.gitcookies
|
||||
|
||||
tr , \\t <<\__END__ >>~/.gitcookies
|
||||
${{ env.CHROMIUM_GIT_COOKIE }}
|
||||
__END__
|
||||
eval 'set -o history' 2>/dev/null || unsetopt HIST_IGNORE_SPACE 2>/dev/null
|
||||
|
||||
RESPONSE=$(curl -s -b ~/.gitcookies https://chromium-review.googlesource.com/a/accounts/self)
|
||||
if [[ $RESPONSE == ")]}'"* ]]; then
|
||||
# Extract account email for verification
|
||||
EMAIL=$(echo "$RESPONSE" | tail -c +5 | jq -r '.email // "No email found"')
|
||||
echo "Cookie authentication successful - authenticated as: $EMAIL"
|
||||
else
|
||||
echo "Cookie authentication failed - ensure CHROMIUM_GIT_COOKIE is set correctly"
|
||||
echo $RESPONSE
|
||||
fi
|
||||
- name: Set the git cookie from chromium.googlesource.com (Windows)
|
||||
if: ${{ runner.os == 'Windows' }}
|
||||
shell: cmd
|
||||
run: |
|
||||
if "%CHROMIUM_GIT_COOKIE_WINDOWS_STRING%"=="" (
|
||||
echo CHROMIUM_GIT_COOKIE_WINDOWS_STRING is not set - cannot authenticate.
|
||||
exit /b 0
|
||||
)
|
||||
|
||||
git config --global http.cookiefile "%USERPROFILE%\.gitcookies"
|
||||
powershell -noprofile -nologo -command Write-Output "${{ env.CHROMIUM_GIT_COOKIE_WINDOWS_STRING }}" >>"%USERPROFILE%\.gitcookies"
|
||||
|
||||
curl -s -b "%USERPROFILE%\.gitcookies" https://chromium-review.googlesource.com/a/accounts/self > response.txt
|
||||
|
||||
findstr /B /C:")]}'" response.txt > nul
|
||||
if %ERRORLEVEL% EQU 0 (
|
||||
echo Cookie authentication successful
|
||||
powershell -NoProfile -Command "& {$content = Get-Content -Raw response.txt; $content = $content.Substring(4); try { $json = ConvertFrom-Json $content; if($json.email) { Write-Host 'Authenticated as:' $json.email } else { Write-Host 'No email found in response' } } catch { Write-Host 'Error parsing JSON:' $_ }}"
|
||||
) else (
|
||||
echo Cookie authentication failed - ensure CHROMIUM_GIT_COOKIE_WINDOWS_STRING is set correctly
|
||||
type response.txt
|
||||
)
|
||||
|
||||
del response.txt
|
||||
41
.github/actions/set-chromium-git-helper/action.yml
vendored
Normal file
41
.github/actions/set-chromium-git-helper/action.yml
vendored
Normal file
@@ -0,0 +1,41 @@
|
||||
name: 'Set Chromium Git Helper'
|
||||
description: 'Sets Chromium Git Helper to allow for a higher request limit'
|
||||
runs:
|
||||
using: "composite"
|
||||
steps:
|
||||
- name: Save the chromium git credentials to a file
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ -z "${{ env.CHROMIUM_GIT_AUTH }}" ]]; then
|
||||
echo "CHROMIUM_GIT_AUTH is not set - cannot authenticate."
|
||||
exit 0
|
||||
fi
|
||||
if [[ "${{ runner.os }}" != "Windows" ]]; then
|
||||
cd $HOME
|
||||
fi
|
||||
echo "${{ env.CHROMIUM_GIT_AUTH }}" > .chromium_git_auth
|
||||
|
||||
- name: Set the chromium git helper to use auth from a file
|
||||
shell: bash
|
||||
run: |
|
||||
if [[ "${{ runner.os }}" == "Windows" ]]; then
|
||||
if [[ ! -f "/c/actions-runner/_work/electron/electron/.chromium_git_auth" ]]; then
|
||||
echo "File /c/actions-runner/_work/electron/electron/.chromium_git_auth does not exist - cannot authenticate."
|
||||
exit 0
|
||||
fi
|
||||
else
|
||||
if [[ ! -f "$HOME/.chromium_git_auth" ]]; then
|
||||
echo "File $HOME/.chromium_git_auth does not exist - cannot authenticate."
|
||||
exit 0
|
||||
fi
|
||||
fi
|
||||
if [[ -z "${{ env.CHROMIUM_GIT_USER }}" ]]; then
|
||||
echo "CHROMIUM_GIT_USER is not set - cannot authenticate."
|
||||
exit 0
|
||||
fi
|
||||
git config --global credential.https://chromium.googlesource.com.username "${{ env.CHROMIUM_GIT_USER }}"
|
||||
if [[ "${{ runner.os }}" == "Windows" ]]; then
|
||||
git config --global credential.https://chromium.googlesource.com.helper '!f() { test "$1" = get && echo "password=$(cat /c/actions-runner/_work/electron/electron/.chromium_git_auth)"; }; f'
|
||||
else
|
||||
git config --global credential.https://chromium.googlesource.com.helper '!f() { test "$1" = get && echo "password=$(cat $HOME/.chromium_git_auth)"; }; f'
|
||||
fi
|
||||
20
.github/actions/ssh-debug/action.yml
vendored
20
.github/actions/ssh-debug/action.yml
vendored
@@ -1,20 +0,0 @@
|
||||
name: Debug via SSH
|
||||
description: Setup a SSH server with a tunnel to access it to debug via SSH.
|
||||
inputs:
|
||||
tunnel:
|
||||
description: 'Enable SSH tunneling via cloudflared'
|
||||
required: true
|
||||
default: 'false'
|
||||
timeout:
|
||||
description: 'SSH session timeout in seconds'
|
||||
required: false
|
||||
type: number
|
||||
default: 3600
|
||||
runs:
|
||||
using: composite
|
||||
steps:
|
||||
- run: $GITHUB_ACTION_PATH/setup-ssh.sh
|
||||
shell: bash
|
||||
env:
|
||||
TUNNEL: ${{ inputs.tunnel }}
|
||||
TIMEOUT: ${{ inputs.timeout }}
|
||||
4
.github/actions/ssh-debug/bashrc
vendored
4
.github/actions/ssh-debug/bashrc
vendored
@@ -1,4 +0,0 @@
|
||||
# If we're in an interactive SSH session and we're not already in tmux and there's no explicit SSH command, auto attach tmux
|
||||
if [ -n "$SSH_TTY" ] && [ -z "$TMUX" ] && [ -z "$SSH_ORIGINAL_COMMAND" ]; then
|
||||
exec tmux attach || exec tmux
|
||||
fi
|
||||
146
.github/actions/ssh-debug/setup-ssh.sh
vendored
146
.github/actions/ssh-debug/setup-ssh.sh
vendored
@@ -1,146 +0,0 @@
|
||||
#!/bin/bash -e
|
||||
|
||||
if [ "${TUNNEL}" != "true" ]; then
|
||||
echo "SSH tunneling is disabled. Set enable-tunnel: true to enable remote access."
|
||||
echo "Local SSH server would be available on localhost:2222 if this were a local environment."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
echo ::group::Configuring Tunnel
|
||||
|
||||
echo "SSH tunneling enabled. Setting up remote access..."
|
||||
|
||||
EXTERNAL_DEPS="curl jq ssh-keygen"
|
||||
|
||||
for dep in $EXTERNAL_DEPS; do
|
||||
if ! command -v "${dep}" > /dev/null 2>&1; then
|
||||
echo "Command ${dep} not installed on the system!" >&2
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
|
||||
cd "$GITHUB_ACTION_PATH"
|
||||
|
||||
bashrc_path=$(pwd)/bashrc
|
||||
|
||||
# Source `bashrc` to auto start tmux on SSH login.
|
||||
if ! grep -q "${bashrc_path}" ~/.bash_profile; then
|
||||
echo >> ~/.bash_profile # On macOS runner there's no newline at the end of the file
|
||||
echo "source \"${bashrc_path}\"" >> ~/.bash_profile
|
||||
fi
|
||||
|
||||
OS=$(uname -s | tr '[:upper:]' '[:lower:]')
|
||||
ARCH=$(uname -m)
|
||||
|
||||
if [ "${ARCH}" = "x86_64" ]; then
|
||||
ARCH="amd64"
|
||||
elif [ "${ARCH}" = "aarch64" ]; then
|
||||
ARCH="arm64"
|
||||
fi
|
||||
|
||||
if [ "${OS}" = "darwin" ] && ! command -v tmux > /dev/null 2>&1; then
|
||||
echo "Installing tmux..."
|
||||
brew install tmux
|
||||
fi
|
||||
|
||||
if [ "$OS" = "darwin" ]; then
|
||||
cloudflared_url="https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-${OS}-${ARCH}.tgz"
|
||||
echo "Downloading \`cloudflared\` from <$cloudflared_url>..."
|
||||
curl --location --silent --output cloudflared.tgz "${cloudflared_url}"
|
||||
tar xf cloudflared.tgz
|
||||
rm cloudflared.tgz
|
||||
fi
|
||||
|
||||
chmod +x cloudflared
|
||||
|
||||
echo 'Creating SSH server key...'
|
||||
ssh-keygen -q -f ssh_host_rsa_key -N ''
|
||||
|
||||
echo 'Creating SSH server config...'
|
||||
sed "s,\$PWD,${PWD},;s,\$USER,${USER}," sshd_config.template > sshd_config
|
||||
|
||||
echo 'Starting SSH server...'
|
||||
sudo /usr/sbin/sshd -f sshd_config -D &
|
||||
sshd_pid=$!
|
||||
|
||||
echo "SSH server started successfully (PID: ${sshd_pid})"
|
||||
|
||||
echo 'Starting tmux session...'
|
||||
(cd "${GITHUB_WORKSPACE}" && tmux new-session -d -s debug)
|
||||
|
||||
mkdir ~/.cloudflared
|
||||
CLEAN_TUNNEL_CERT=$(printf '%s\n' "${CLOUDFLARE_TUNNEL_CERT}" | tr -d '\r' | sed '/^[[:space:]]*$/d')
|
||||
|
||||
echo "${CLEAN_TUNNEL_CERT}" > ~/.cloudflared/cert.pem
|
||||
|
||||
CLEAN_USER_CA_CERT=$(printf '%s\n' "${CLOUDFLARE_USER_CA_CERT}" | tr -d '\r' | sed '/^[[:space:]]*$/d')
|
||||
|
||||
echo "${CLEAN_USER_CA_CERT}" | sudo tee /etc/ssh/ca.pub > /dev/null
|
||||
sudo chmod 644 /etc/ssh/ca.pub
|
||||
|
||||
random_suffix=$(openssl rand -hex 5 | cut -c1-10)
|
||||
tunnel_name="${GITHUB_SHA}-${GITHUB_RUN_ID}-${random_suffix}"
|
||||
tunnel_url="${tunnel_name}.${CLOUDFLARE_TUNNEL_HOSTNAME}"
|
||||
|
||||
if ./cloudflared tunnel list | grep -q "${tunnel_name}"; then
|
||||
echo "Deleting existing tunnel: ${tunnel_name}"
|
||||
./cloudflared tunnel delete ${tunnel_name}
|
||||
fi
|
||||
|
||||
echo "Creating new cloudflare tunnel: ${tunnel_name}"
|
||||
./cloudflared tunnel create ${tunnel_name}
|
||||
|
||||
credentials_file=$(find ~/.cloudflared -name "*.json" | head -n 1)
|
||||
if [ -z "${credentials_file}" ]; then
|
||||
echo "Error: Could not find tunnel credentials file"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "Found credentials file: ${credentials_file}"
|
||||
|
||||
echo 'Creating tunnel configuration...'
|
||||
cat > tunnel_config.yml << EOF
|
||||
tunnel: ${tunnel_name}
|
||||
credentials-file: ${credentials_file}
|
||||
|
||||
ingress:
|
||||
- hostname: ${tunnel_url}
|
||||
service: ssh://localhost:2222
|
||||
- service: http_status:404
|
||||
EOF
|
||||
|
||||
echo 'Setting up DNS routing for tunnel...'
|
||||
./cloudflared tunnel route dns ${tunnel_name} ${tunnel_url}
|
||||
|
||||
echo 'Running cloudflare tunnel...'
|
||||
./cloudflared tunnel --no-autoupdate --config tunnel_config.yml run 2>&1 | tee cloudflared.log | sed -u 's/^/cloudflared: /' &
|
||||
cloudflared_pid=$!
|
||||
|
||||
echo ::endgroup::
|
||||
|
||||
echo ::notice title=SSH Debug Session Ready::ssh ${tunnel_url}
|
||||
|
||||
|
||||
(
|
||||
echo ' '
|
||||
echo ' '
|
||||
echo '🔗 SSH Debug Session Ready!'
|
||||
echo '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'
|
||||
echo ' '
|
||||
echo '📋 Infra WG can copy and run this command to connect:'
|
||||
echo ' '
|
||||
echo "ssh ${tunnel_url}"
|
||||
echo ' '
|
||||
echo "⏰ Session expires automatically in ${TIMEOUT} seconds"
|
||||
echo '━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━'
|
||||
echo ' '
|
||||
echo ' '
|
||||
) | cat
|
||||
|
||||
echo ::group::Starting Background Session
|
||||
echo 'Starting SSH session in background...'
|
||||
./ssh-session.sh "${sshd_pid}" "${cloudflared_pid}" "${TIMEOUT}" "${tunnel_name}" &
|
||||
|
||||
echo 'SSH session is running in background. GitHub Action will continue.'
|
||||
echo 'Session will auto-cleanup after timeout or when processes end.'
|
||||
echo ::endgroup::
|
||||
52
.github/actions/ssh-debug/ssh-session.sh
vendored
52
.github/actions/ssh-debug/ssh-session.sh
vendored
@@ -1,52 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
SSHD_PID=$1
|
||||
CLOUDFLARED_PID=$2
|
||||
SESSION_TIMEOUT=${3:-10000}
|
||||
TUNNEL_NAME=$4
|
||||
|
||||
cleanup() {
|
||||
# Kill processes.
|
||||
for pid in "$SLEEP_PID" "$SSHD_PID" "$CLOUDFLARED_PID"; do
|
||||
if [ -n "$pid" ] && kill -0 "$pid" 2>/dev/null; then
|
||||
kill "$pid" 2>/dev/null || true
|
||||
fi
|
||||
done
|
||||
|
||||
# Clean up tunnel.
|
||||
if [ -n "$TUNNEL_NAME" ]; then
|
||||
cd "$GITHUB_ACTION_PATH"
|
||||
./cloudflared tunnel delete "$TUNNEL_NAME" 2>/dev/null || {
|
||||
echo "Failed to delete tunnel"
|
||||
}
|
||||
fi
|
||||
|
||||
echo "Session ended at $(date)"
|
||||
exit 0
|
||||
}
|
||||
|
||||
# Trap signals to ensure cleanup.
|
||||
trap cleanup SIGTERM SIGINT SIGQUIT SIGHUP EXIT
|
||||
|
||||
# Wait for timeout or until processes die.
|
||||
sleep "$SESSION_TIMEOUT" &
|
||||
SLEEP_PID=$!
|
||||
|
||||
# Monitor processes
|
||||
while kill -0 "$SLEEP_PID" 2>/dev/null; do
|
||||
# Check SSH daemon.
|
||||
if ! kill -0 "$SSHD_PID" 2>/dev/null; then
|
||||
echo "SSH daemon died at $(date)"
|
||||
break
|
||||
fi
|
||||
|
||||
# Check cloudflared,
|
||||
if ! kill -0 "$CLOUDFLARED_PID" 2>/dev/null; then
|
||||
echo "Cloudflared died at $(date)"
|
||||
break
|
||||
fi
|
||||
|
||||
sleep 10
|
||||
done
|
||||
|
||||
cleanup
|
||||
25
.github/actions/ssh-debug/sshd_config.template
vendored
25
.github/actions/ssh-debug/sshd_config.template
vendored
@@ -1,25 +0,0 @@
|
||||
Port 2222
|
||||
HostKey $PWD/ssh_host_rsa_key
|
||||
PidFile $PWD/sshd.pid
|
||||
|
||||
# Connection settings
|
||||
ClientAliveInterval 30
|
||||
ClientAliveCountMax 10
|
||||
MaxStartups 10
|
||||
LoginGraceTime 120
|
||||
|
||||
# Allow TCP forwarding for tunneling
|
||||
AllowTcpForwarding yes
|
||||
|
||||
# Try to prevent timeouts
|
||||
TCPKeepAlive yes
|
||||
|
||||
# Security
|
||||
TrustedUserCAKeys /etc/ssh/ca.pub
|
||||
PubkeyAuthentication yes
|
||||
PasswordAuthentication no
|
||||
|
||||
AuthorizedPrincipalsCommand /bin/bash -c "echo '%t %k' | ssh-keygen -L -f - | grep -A1 Principals"
|
||||
AuthorizedPrincipalsCommandUser nobody
|
||||
|
||||
PubkeyAcceptedKeyTypes ssh-rsa,ssh-ed25519,ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-ed25519-cert-v01@openssh.com,ecdsa-sha2-nistp256-cert-v01@openssh.com,ecdsa-sha2-nistp384-cert-v01@openssh.com,ecdsa-sha2-nistp521-cert-v01@openssh.com,rsa-sha2-256-cert-v01@openssh.com,rsa-sha2-512-cert-v01@openssh.com
|
||||
4
.github/workflows/archaeologist-dig.yml
vendored
4
.github/workflows/archaeologist-dig.yml
vendored
@@ -13,7 +13,7 @@ jobs:
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Setup Node.js/npm
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
with:
|
||||
node-version: 20.19.x
|
||||
- name: Setting Up Dig Site
|
||||
@@ -41,7 +41,7 @@ jobs:
|
||||
sha-file: .dig-old
|
||||
filename: electron.old.d.ts
|
||||
- name: Upload artifacts
|
||||
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 #v4.6.1
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 #v4.6.2
|
||||
with:
|
||||
name: artifacts
|
||||
path: electron/artifacts
|
||||
|
||||
9
.github/workflows/branch-created.yml
vendored
9
.github/workflows/branch-created.yml
vendored
@@ -94,7 +94,7 @@ jobs:
|
||||
}))
|
||||
- name: Create Release Project Board
|
||||
if: ${{ steps.check-major-version.outputs.MAJOR }}
|
||||
uses: dsanders11/project-actions/copy-project@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
uses: dsanders11/project-actions/copy-project@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
id: create-release-board
|
||||
with:
|
||||
drafts: true
|
||||
@@ -114,14 +114,15 @@ jobs:
|
||||
GITHUB_TOKEN: ${{ steps.generate-token.outputs.token }}
|
||||
- name: Find Previous Release Project Board
|
||||
if: ${{ steps.check-major-version.outputs.MAJOR }}
|
||||
uses: dsanders11/project-actions/find-project@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
uses: dsanders11/project-actions/find-project@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
id: find-prev-release-board
|
||||
with:
|
||||
fail-if-project-not-found: false
|
||||
title: ${{ steps.generate-project-metadata.outputs.prev-prev-major }}-x-y
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
- name: Close Previous Release Project Board
|
||||
if: ${{ steps.check-major-version.outputs.MAJOR }}
|
||||
uses: dsanders11/project-actions/close-project@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
if: ${{ steps.find-prev-release-board.outputs.number }}
|
||||
uses: dsanders11/project-actions/close-project@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
with:
|
||||
project-number: ${{ steps.find-prev-release-board.outputs.number }}
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
|
||||
74
.github/workflows/build-git-cache.yml
vendored
74
.github/workflows/build-git-cache.yml
vendored
@@ -1,74 +0,0 @@
|
||||
name: Build Git Cache
|
||||
# This workflow updates git cache on the cross-instance cache volumes
|
||||
# It runs daily at midnight.
|
||||
|
||||
on:
|
||||
schedule:
|
||||
- cron: "0 0 * * *"
|
||||
|
||||
jobs:
|
||||
build-git-cache-linux:
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
container:
|
||||
image: ghcr.io/electron/build:bc2f48b2415a670de18d13605b1cf0eb5fdbaae1
|
||||
options: --user root
|
||||
volumes:
|
||||
- /mnt/cross-instance-cache:/mnt/cross-instance-cache
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
- name: Build Git Cache
|
||||
uses: ./src/electron/.github/actions/build-git-cache
|
||||
with:
|
||||
target-platform: linux
|
||||
|
||||
build-git-cache-windows:
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
container:
|
||||
image: ghcr.io/electron/build:bc2f48b2415a670de18d13605b1cf0eb5fdbaae1
|
||||
options: --user root --device /dev/fuse --cap-add SYS_ADMIN
|
||||
volumes:
|
||||
- /mnt/win-cache:/mnt/win-cache
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_win=True'
|
||||
TARGET_OS: 'win'
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
- name: Build Git Cache
|
||||
uses: ./src/electron/.github/actions/build-git-cache
|
||||
with:
|
||||
target-platform: win
|
||||
|
||||
build-git-cache-macos:
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
# This job updates the same git cache as linux, so it needs to run after the linux one.
|
||||
needs: build-git-cache-linux
|
||||
container:
|
||||
image: ghcr.io/electron/build:bc2f48b2415a670de18d13605b1cf0eb5fdbaae1
|
||||
options: --user root
|
||||
volumes:
|
||||
- /mnt/cross-instance-cache:/mnt/cross-instance-cache
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_mac=True --custom-var=host_os=mac'
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
|
||||
with:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
- name: Build Git Cache
|
||||
uses: ./src/electron/.github/actions/build-git-cache
|
||||
with:
|
||||
target-platform: macos
|
||||
49
.github/workflows/build.yml
vendored
49
.github/workflows/build.yml
vendored
@@ -28,11 +28,6 @@ on:
|
||||
description: 'Skip lint check'
|
||||
default: false
|
||||
required: false
|
||||
enable-ssh:
|
||||
description: 'Enable SSH debugging'
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
@@ -97,7 +92,7 @@ jobs:
|
||||
checkout-macos:
|
||||
needs: setup
|
||||
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-macos}}
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
runs-on: electron-arc-linux-amd64-32core
|
||||
container:
|
||||
image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}
|
||||
options: --user root
|
||||
@@ -105,7 +100,8 @@ jobs:
|
||||
- /mnt/cross-instance-cache:/mnt/cross-instance-cache
|
||||
- /var/run/sas:/var/run/sas
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
CHROMIUM_GIT_AUTH: ${{ secrets.CHROMIUM_GIT_AUTH }}
|
||||
CHROMIUM_GIT_USER: ${{ secrets.CHROMIUM_GIT_USER }}
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_mac=True --custom-var=host_os=mac'
|
||||
outputs:
|
||||
build-image-sha: ${{ needs.setup.outputs.build-image-sha }}
|
||||
@@ -125,7 +121,7 @@ jobs:
|
||||
checkout-linux:
|
||||
needs: setup
|
||||
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-linux}}
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
runs-on: electron-arc-linux-amd64-32core
|
||||
container:
|
||||
image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}
|
||||
options: --user root
|
||||
@@ -133,7 +129,8 @@ jobs:
|
||||
- /mnt/cross-instance-cache:/mnt/cross-instance-cache
|
||||
- /var/run/sas:/var/run/sas
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
CHROMIUM_GIT_AUTH: ${{ secrets.CHROMIUM_GIT_AUTH }}
|
||||
CHROMIUM_GIT_USER: ${{ secrets.CHROMIUM_GIT_USER }}
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
|
||||
PATCH_UP_APP_CREDS: ${{ secrets.PATCH_UP_APP_CREDS }}
|
||||
outputs:
|
||||
@@ -151,7 +148,7 @@ jobs:
|
||||
checkout-windows:
|
||||
needs: setup
|
||||
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
runs-on: electron-arc-linux-amd64-32core
|
||||
container:
|
||||
image: ghcr.io/electron/build:${{ needs.setup.outputs.build-image-sha }}
|
||||
options: --user root --device /dev/fuse --cap-add SYS_ADMIN
|
||||
@@ -159,8 +156,8 @@ jobs:
|
||||
- /mnt/win-cache:/mnt/win-cache
|
||||
- /var/run/sas:/var/run/sas
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
CHROMIUM_GIT_COOKIE_WINDOWS_STRING: ${{ secrets.CHROMIUM_GIT_COOKIE_WINDOWS_STRING }}
|
||||
CHROMIUM_GIT_AUTH: ${{ secrets.CHROMIUM_GIT_AUTH }}
|
||||
CHROMIUM_GIT_USER: ${{ secrets.CHROMIUM_GIT_USER }}
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_win=True'
|
||||
TARGET_OS: 'win'
|
||||
ELECTRON_DEPOT_TOOLS_WIN_TOOLCHAIN: '1'
|
||||
@@ -196,7 +193,7 @@ jobs:
|
||||
with:
|
||||
target-platform: linux
|
||||
target-archs: x64 arm arm64
|
||||
check-runs-on: electron-arc-centralus-linux-amd64-8core
|
||||
check-runs-on: electron-arc-linux-amd64-8core
|
||||
check-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
||||
gn-build-type: testing
|
||||
secrets: inherit
|
||||
@@ -207,7 +204,7 @@ jobs:
|
||||
with:
|
||||
target-platform: win
|
||||
target-archs: x64 x86 arm64
|
||||
check-runs-on: electron-arc-centralus-linux-amd64-8core
|
||||
check-runs-on: electron-arc-linux-amd64-8core
|
||||
check-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-windows.outputs.build-image-sha }}","options":"--user root --device /dev/fuse --cap-add SYS_ADMIN","volumes":["/mnt/win-cache:/mnt/win-cache"]}'
|
||||
gn-build-type: testing
|
||||
secrets: inherit
|
||||
@@ -229,7 +226,6 @@ jobs:
|
||||
gn-build-type: testing
|
||||
generate-symbols: false
|
||||
upload-to-storage: '0'
|
||||
enable-ssh: ${{ inputs.enable-ssh || false }}
|
||||
secrets: inherit
|
||||
|
||||
macos-arm64:
|
||||
@@ -248,7 +244,6 @@ jobs:
|
||||
gn-build-type: testing
|
||||
generate-symbols: false
|
||||
upload-to-storage: '0'
|
||||
enable-ssh: ${{ inputs.enable-ssh || false }}
|
||||
secrets: inherit
|
||||
|
||||
linux-x64:
|
||||
@@ -259,8 +254,8 @@ jobs:
|
||||
uses: ./.github/workflows/pipeline-electron-build-and-test-and-nan.yml
|
||||
needs: checkout-linux
|
||||
with:
|
||||
build-runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
test-runs-on: electron-arc-centralus-linux-amd64-4core
|
||||
build-runs-on: electron-arc-linux-amd64-32core
|
||||
test-runs-on: electron-arc-linux-amd64-4core
|
||||
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
||||
test-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}'
|
||||
target-platform: linux
|
||||
@@ -279,8 +274,8 @@ jobs:
|
||||
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
||||
needs: checkout-linux
|
||||
with:
|
||||
build-runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
test-runs-on: electron-arc-centralus-linux-amd64-4core
|
||||
build-runs-on: electron-arc-linux-amd64-32core
|
||||
test-runs-on: electron-arc-linux-amd64-4core
|
||||
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
||||
test-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}'
|
||||
target-platform: linux
|
||||
@@ -300,8 +295,8 @@ jobs:
|
||||
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
||||
needs: checkout-linux
|
||||
with:
|
||||
build-runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
test-runs-on: electron-arc-centralus-linux-arm64-4core
|
||||
build-runs-on: electron-arc-linux-amd64-32core
|
||||
test-runs-on: electron-arc-linux-arm64-4core
|
||||
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
||||
test-container: '{"image":"ghcr.io/electron/test:arm32v7-${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init","volumes":["/home/runner/externals:/mnt/runner-externals"]}'
|
||||
target-platform: linux
|
||||
@@ -320,8 +315,8 @@ jobs:
|
||||
uses: ./.github/workflows/pipeline-electron-build-and-test.yml
|
||||
needs: checkout-linux
|
||||
with:
|
||||
build-runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
test-runs-on: electron-arc-centralus-linux-arm64-4core
|
||||
build-runs-on: electron-arc-linux-amd64-32core
|
||||
test-runs-on: electron-arc-linux-arm64-4core
|
||||
build-container: '{"image":"ghcr.io/electron/build:${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
||||
test-container: '{"image":"ghcr.io/electron/test:arm64v8-${{ needs.checkout-linux.outputs.build-image-sha }}","options":"--user root --privileged --init"}'
|
||||
target-platform: linux
|
||||
@@ -341,7 +336,7 @@ jobs:
|
||||
needs: checkout-windows
|
||||
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
|
||||
with:
|
||||
build-runs-on: electron-arc-centralus-windows-amd64-16core
|
||||
build-runs-on: electron-arc-windows-amd64-16core
|
||||
test-runs-on: windows-latest
|
||||
target-platform: win
|
||||
target-arch: x64
|
||||
@@ -360,7 +355,7 @@ jobs:
|
||||
needs: checkout-windows
|
||||
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
|
||||
with:
|
||||
build-runs-on: electron-arc-centralus-windows-amd64-16core
|
||||
build-runs-on: electron-arc-windows-amd64-16core
|
||||
test-runs-on: windows-latest
|
||||
target-platform: win
|
||||
target-arch: x86
|
||||
@@ -379,7 +374,7 @@ jobs:
|
||||
needs: checkout-windows
|
||||
if: ${{ needs.setup.outputs.src == 'true' && !inputs.skip-windows }}
|
||||
with:
|
||||
build-runs-on: electron-arc-centralus-windows-amd64-16core
|
||||
build-runs-on: electron-arc-windows-amd64-16core
|
||||
test-runs-on: electron-hosted-windows-arm64-4core
|
||||
target-platform: win
|
||||
target-arch: arm64
|
||||
|
||||
2
.github/workflows/clean-src-cache.yml
vendored
2
.github/workflows/clean-src-cache.yml
vendored
@@ -10,7 +10,7 @@ on:
|
||||
|
||||
jobs:
|
||||
clean-src-cache:
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
runs-on: electron-arc-linux-amd64-32core
|
||||
container:
|
||||
image: ghcr.io/electron/build:bc2f48b2415a670de18d13605b1cf0eb5fdbaae1
|
||||
options: --user root
|
||||
|
||||
4
.github/workflows/issue-labeled.yml
vendored
4
.github/workflows/issue-labeled.yml
vendored
@@ -20,7 +20,7 @@ jobs:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Set status
|
||||
uses: dsanders11/project-actions/edit-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
uses: dsanders11/project-actions/edit-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
project-number: 90
|
||||
@@ -39,7 +39,7 @@ jobs:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Set status
|
||||
uses: dsanders11/project-actions/edit-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
uses: dsanders11/project-actions/edit-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
project-number: 90
|
||||
|
||||
2
.github/workflows/issue-opened.yml
vendored
2
.github/workflows/issue-opened.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Add to Issue Triage
|
||||
uses: dsanders11/project-actions/add-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
uses: dsanders11/project-actions/add-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
with:
|
||||
field: Reporter
|
||||
field-value: ${{ github.event.issue.user.login }}
|
||||
|
||||
2
.github/workflows/issue-transferred.yml
vendored
2
.github/workflows/issue-transferred.yml
vendored
@@ -19,7 +19,7 @@ jobs:
|
||||
creds: ${{ secrets.ISSUE_TRIAGE_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Remove from issue triage
|
||||
uses: dsanders11/project-actions/delete-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
uses: dsanders11/project-actions/delete-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
project-number: 90
|
||||
|
||||
2
.github/workflows/issue-unlabeled.yml
vendored
2
.github/workflows/issue-unlabeled.yml
vendored
@@ -30,7 +30,7 @@ jobs:
|
||||
org: electron
|
||||
- name: Set status
|
||||
if: ${{ steps.check-for-blocked-labels.outputs.NOT_BLOCKED }}
|
||||
uses: dsanders11/project-actions/edit-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
uses: dsanders11/project-actions/edit-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
project-number: 90
|
||||
|
||||
11
.github/workflows/linux-publish.yml
vendored
11
.github/workflows/linux-publish.yml
vendored
@@ -19,7 +19,7 @@ on:
|
||||
|
||||
jobs:
|
||||
checkout-linux:
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
runs-on: electron-arc-linux-amd64-32core
|
||||
container:
|
||||
image: ghcr.io/electron/build:${{ inputs.build-image-sha }}
|
||||
options: --user root
|
||||
@@ -27,7 +27,8 @@ jobs:
|
||||
- /mnt/cross-instance-cache:/mnt/cross-instance-cache
|
||||
- /var/run/sas:/var/run/sas
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
CHROMIUM_GIT_AUTH: ${{ secrets.CHROMIUM_GIT_AUTH }}
|
||||
CHROMIUM_GIT_USER: ${{ secrets.CHROMIUM_GIT_USER }}
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True'
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
@@ -43,7 +44,7 @@ jobs:
|
||||
needs: checkout-linux
|
||||
with:
|
||||
environment: production-release
|
||||
build-runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
build-runs-on: electron-arc-linux-amd64-32core
|
||||
build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
||||
target-platform: linux
|
||||
target-arch: x64
|
||||
@@ -59,7 +60,7 @@ jobs:
|
||||
needs: checkout-linux
|
||||
with:
|
||||
environment: production-release
|
||||
build-runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
build-runs-on: electron-arc-linux-amd64-32core
|
||||
build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
||||
target-platform: linux
|
||||
target-arch: arm
|
||||
@@ -75,7 +76,7 @@ jobs:
|
||||
needs: checkout-linux
|
||||
with:
|
||||
environment: production-release
|
||||
build-runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
build-runs-on: electron-arc-linux-amd64-32core
|
||||
build-container: '{"image":"ghcr.io/electron/build:${{ inputs.build-image-sha }}","options":"--user root","volumes":["/mnt/cross-instance-cache:/mnt/cross-instance-cache"]}'
|
||||
target-platform: linux
|
||||
target-arch: arm64
|
||||
|
||||
5
.github/workflows/macos-publish.yml
vendored
5
.github/workflows/macos-publish.yml
vendored
@@ -20,7 +20,7 @@ on:
|
||||
|
||||
jobs:
|
||||
checkout-macos:
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
runs-on: electron-arc-linux-amd64-32core
|
||||
container:
|
||||
image: ghcr.io/electron/build:${{ inputs.build-image-sha }}
|
||||
options: --user root
|
||||
@@ -28,7 +28,8 @@ jobs:
|
||||
- /mnt/cross-instance-cache:/mnt/cross-instance-cache
|
||||
- /var/run/sas:/var/run/sas
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
CHROMIUM_GIT_AUTH: ${{ secrets.CHROMIUM_GIT_AUTH }}
|
||||
CHROMIUM_GIT_USER: ${{ secrets.CHROMIUM_GIT_USER }}
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_mac=True --custom-var=host_os=mac'
|
||||
steps:
|
||||
- name: Checkout Electron
|
||||
|
||||
@@ -54,11 +54,6 @@ on:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
enable-ssh:
|
||||
description: 'Enable SSH debugging'
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
concurrency:
|
||||
group: electron-build-and-test-${{ inputs.target-platform }}-${{ inputs.target-arch }}-${{ github.ref_protected == true && github.run_id || github.ref }}
|
||||
@@ -81,8 +76,7 @@ jobs:
|
||||
gn-build-type: ${{ inputs.gn-build-type }}
|
||||
generate-symbols: ${{ inputs.generate-symbols }}
|
||||
upload-to-storage: ${{ inputs.upload-to-storage }}
|
||||
is-asan: ${{ inputs.is-asan }}
|
||||
enable-ssh: ${{ inputs.enable-ssh }}
|
||||
is-asan: ${{ inputs.is-asan}}
|
||||
secrets: inherit
|
||||
test:
|
||||
uses: ./.github/workflows/pipeline-segment-electron-test.yml
|
||||
@@ -92,6 +86,5 @@ jobs:
|
||||
target-platform: ${{ inputs.target-platform }}
|
||||
test-runs-on: ${{ inputs.test-runs-on }}
|
||||
test-container: ${{ inputs.test-container }}
|
||||
is-asan: ${{ inputs.is-asan }}
|
||||
enable-ssh: ${{ inputs.enable-ssh }}
|
||||
is-asan: ${{ inputs.is-asan}}
|
||||
secrets: inherit
|
||||
|
||||
@@ -15,7 +15,7 @@ concurrency:
|
||||
jobs:
|
||||
docs-only:
|
||||
name: Docs Only Compile
|
||||
runs-on: electron-arc-centralus-linux-amd64-4core
|
||||
runs-on: electron-arc-linux-amd64-4core
|
||||
timeout-minutes: 20
|
||||
container: ${{ fromJSON(inputs.container) }}
|
||||
steps:
|
||||
|
||||
9
.github/workflows/pipeline-electron-lint.yml
vendored
9
.github/workflows/pipeline-electron-lint.yml
vendored
@@ -13,12 +13,13 @@ concurrency:
|
||||
cancel-in-progress: ${{ github.ref_protected != true }}
|
||||
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
CHROMIUM_GIT_AUTH: ${{ secrets.CHROMIUM_GIT_AUTH }}
|
||||
CHROMIUM_GIT_USER: ${{ secrets.CHROMIUM_GIT_USER }}
|
||||
|
||||
jobs:
|
||||
lint:
|
||||
name: Lint
|
||||
runs-on: electron-arc-centralus-linux-amd64-4core
|
||||
runs-on: electron-arc-linux-amd64-4core
|
||||
timeout-minutes: 20
|
||||
container: ${{ fromJSON(inputs.container) }}
|
||||
steps:
|
||||
@@ -30,8 +31,8 @@ jobs:
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Install Dependencies
|
||||
uses: ./src/electron/.github/actions/install-dependencies
|
||||
- name: Set Chromium Git Cookie
|
||||
uses: ./src/electron/.github/actions/set-chromium-cookie
|
||||
- name: Set Chromium Git Helper
|
||||
uses: ./src/electron/.github/actions/set-chromium-git-helper
|
||||
- name: Setup third_party Depot Tools
|
||||
shell: bash
|
||||
run: |
|
||||
|
||||
@@ -58,26 +58,21 @@ on:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
enable-ssh:
|
||||
description: 'Enable SSH debugging'
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
|
||||
concurrency:
|
||||
group: electron-build-${{ inputs.target-platform }}-${{ inputs.target-arch }}-${{ inputs.target-variant }}-${{ inputs.is-asan }}-${{ github.ref_protected == true && github.run_id || github.ref }}
|
||||
cancel-in-progress: ${{ github.ref_protected != true }}
|
||||
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
CHROMIUM_GIT_COOKIE_WINDOWS_STRING: ${{ secrets.CHROMIUM_GIT_COOKIE_WINDOWS_STRING }}
|
||||
CHROMIUM_GIT_AUTH: ${{ secrets.CHROMIUM_GIT_AUTH }}
|
||||
CHROMIUM_GIT_USER: ${{ secrets.CHROMIUM_GIT_USER }}
|
||||
ELECTRON_ARTIFACTS_BLOB_STORAGE: ${{ secrets.ELECTRON_ARTIFACTS_BLOB_STORAGE }}
|
||||
ELECTRON_RBE_JWT: ${{ secrets.ELECTRON_RBE_JWT }}
|
||||
SUDOWOODO_EXCHANGE_URL: ${{ secrets.SUDOWOODO_EXCHANGE_URL }}
|
||||
SUDOWOODO_EXCHANGE_TOKEN: ${{ secrets.SUDOWOODO_EXCHANGE_TOKEN }}
|
||||
GCLIENT_EXTRA_ARGS: ${{ inputs.target-platform == 'macos' && '--custom-var=checkout_mac=True --custom-var=host_os=mac' || inputs.target-platform == 'win' && '--custom-var=checkout_win=True' || '--custom-var=checkout_arm=True --custom-var=checkout_arm64=True' }}
|
||||
ELECTRON_OUT_DIR: Default
|
||||
ACTIONS_STEP_DEBUG: ${{ secrets.ACTIONS_STEP_DEBUG }}
|
||||
|
||||
jobs:
|
||||
build:
|
||||
@@ -99,17 +94,6 @@ jobs:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Setup SSH Debugging
|
||||
if: ${{ inputs.target-platform == 'macos' && (inputs.enable-ssh || env.ACTIONS_STEP_DEBUG == 'true') }}
|
||||
uses: ./src/electron/.github/actions/ssh-debug
|
||||
with:
|
||||
tunnel: 'true'
|
||||
env:
|
||||
CLOUDFLARE_TUNNEL_CERT: ${{ secrets.CLOUDFLARE_TUNNEL_CERT }}
|
||||
CLOUDFLARE_TUNNEL_HOSTNAME: ${{ vars.CLOUDFLARE_TUNNEL_HOSTNAME }}
|
||||
CLOUDFLARE_USER_CA_CERT: ${{ secrets.CLOUDFLARE_USER_CA_CERT }}
|
||||
AUTHORIZED_USERS: ${{ secrets.SSH_DEBUG_AUTHORIZED_USERS }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Free up space (macOS)
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
uses: ./src/electron/.github/actions/free-space-macos
|
||||
@@ -118,7 +102,7 @@ jobs:
|
||||
run: df -h
|
||||
- name: Setup Node.js/npm
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
with:
|
||||
node-version: 20.19.x
|
||||
cache: yarn
|
||||
@@ -143,8 +127,8 @@ jobs:
|
||||
GN_EXTRA_ARGS='is_asan=true'
|
||||
fi
|
||||
echo "GN_EXTRA_ARGS=$GN_EXTRA_ARGS" >> $GITHUB_ENV
|
||||
- name: Set Chromium Git Cookie
|
||||
uses: ./src/electron/.github/actions/set-chromium-cookie
|
||||
- name: Set Chromium Git Helper
|
||||
uses: ./src/electron/.github/actions/set-chromium-git-helper
|
||||
- name: Install Build Tools
|
||||
uses: ./src/electron/.github/actions/install-build-tools
|
||||
- name: Generate DEPS Hash
|
||||
|
||||
@@ -66,8 +66,8 @@ jobs:
|
||||
- name: Check disk space after freeing up space
|
||||
if: ${{ inputs.target-platform == 'macos' }}
|
||||
run: df -h
|
||||
- name: Set Chromium Git Cookie
|
||||
uses: ./src/electron/.github/actions/set-chromium-cookie
|
||||
- name: Set Chromium Git Helper
|
||||
uses: ./src/electron/.github/actions/set-chromium-git-helper
|
||||
- name: Install Build Tools
|
||||
uses: ./src/electron/.github/actions/install-build-tools
|
||||
- name: Enable windows toolchain
|
||||
|
||||
@@ -25,11 +25,6 @@ on:
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
enable-ssh:
|
||||
description: 'Enable SSH debugging'
|
||||
required: false
|
||||
type: boolean
|
||||
default: false
|
||||
|
||||
concurrency:
|
||||
group: electron-test-${{ inputs.target-platform }}-${{ inputs.target-arch }}-${{ inputs.is-asan }}-${{ github.ref_protected == true && github.run_id || github.ref }}
|
||||
@@ -41,11 +36,10 @@ permissions:
|
||||
pull-requests: read
|
||||
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
CHROMIUM_GIT_COOKIE_WINDOWS_STRING: ${{ secrets.CHROMIUM_GIT_COOKIE_WINDOWS_STRING }}
|
||||
CHROMIUM_GIT_AUTH: ${{ secrets.CHROMIUM_GIT_AUTH }}
|
||||
CHROMIUM_GIT_USER: ${{ secrets.CHROMIUM_GIT_USER }}
|
||||
ELECTRON_OUT_DIR: Default
|
||||
ELECTRON_RBE_JWT: ${{ secrets.ELECTRON_RBE_JWT }}
|
||||
ACTIONS_STEP_DEBUG: ${{ secrets.ACTIONS_STEP_DEBUG }}
|
||||
|
||||
jobs:
|
||||
test:
|
||||
@@ -85,7 +79,7 @@ jobs:
|
||||
cp "C:\Python311\python.exe" "C:\Python311\python3.exe"
|
||||
- name: Setup Node.js/npm
|
||||
if: ${{ inputs.target-platform == 'win' }}
|
||||
uses: actions/setup-node@1d0ff469b7ec7b3cb9d8673fde0c81c44821de2a
|
||||
uses: actions/setup-node@49933ea5288caeca8642d1e84afbd3f7d6820020
|
||||
with:
|
||||
node-version: 20.19.x
|
||||
- name: Add TCC permissions on macOS
|
||||
@@ -106,11 +100,9 @@ jobs:
|
||||
}
|
||||
|
||||
userValuesArray=(
|
||||
"'kTCCServiceMicrophone','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
||||
"'kTCCServiceCamera','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
||||
"'kTCCServiceBluetoothAlways','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
||||
"'kTCCServiceAppleEvents','/usr/local/opt/runner/provisioner/provisioner',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
||||
"'kTCCServiceCamera','/opt/hca/hosted-compute-agent',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
||||
"'kTCCServiceBluetoothAlways','/opt/hca/hosted-compute-agent',1,2,4,1,NULL,NULL,0,'UNUSED',NULL,0,1687786159"
|
||||
)
|
||||
for values in "${userValuesArray[@]}"; do
|
||||
# Sonoma and higher have a few extra values
|
||||
@@ -132,21 +124,10 @@ jobs:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Setup SSH Debugging
|
||||
if: ${{ inputs.target-platform == 'macos' && (inputs.enable-ssh || env.ACTIONS_STEP_DEBUG == 'true') }}
|
||||
uses: ./src/electron/.github/actions/ssh-debug
|
||||
with:
|
||||
tunnel: 'true'
|
||||
env:
|
||||
CLOUDFLARE_TUNNEL_CERT: ${{ secrets.CLOUDFLARE_TUNNEL_CERT }}
|
||||
CLOUDFLARE_TUNNEL_HOSTNAME: ${{ vars.CLOUDFLARE_TUNNEL_HOSTNAME }}
|
||||
CLOUDFLARE_USER_CA_CERT: ${{ secrets.CLOUDFLARE_USER_CA_CERT }}
|
||||
AUTHORIZED_USERS: ${{ secrets.SSH_DEBUG_AUTHORIZED_USERS }}
|
||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||
- name: Install Dependencies
|
||||
uses: ./src/electron/.github/actions/install-dependencies
|
||||
- name: Set Chromium Git Cookie
|
||||
uses: ./src/electron/.github/actions/set-chromium-cookie
|
||||
- name: Set Chromium Git Helper
|
||||
uses: ./src/electron/.github/actions/set-chromium-git-helper
|
||||
- name: Get Depot Tools
|
||||
timeout-minutes: 5
|
||||
run: |
|
||||
@@ -154,7 +135,6 @@ jobs:
|
||||
git config --global core.autocrlf false
|
||||
git config --global branch.autosetuprebase always
|
||||
git config --global core.fscache true
|
||||
git config --global core.longpaths true
|
||||
git config --global core.preloadindex true
|
||||
git clone --filter=tree:0 https://chromium.googlesource.com/chromium/tools/depot_tools.git
|
||||
# Ensure depot_tools does not update.
|
||||
@@ -169,12 +149,12 @@ jobs:
|
||||
echo "DISABLE_CRASH_REPORTER_TESTS=true" >> $GITHUB_ENV
|
||||
echo "IS_ASAN=true" >> $GITHUB_ENV
|
||||
- name: Download Generated Artifacts
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: generated_artifacts_${{ env.ARTIFACT_KEY }}
|
||||
path: ./generated_artifacts_${{ matrix.build-type }}_${{ inputs.target-arch }}
|
||||
- name: Download Src Artifacts
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: src_artifacts_${{ env.ARTIFACT_KEY }}
|
||||
path: ./src_artifacts_${{ matrix.build-type }}_${{ inputs.target-arch }}
|
||||
@@ -212,6 +192,7 @@ jobs:
|
||||
MOCHA_REPORTER: mocha-multi-reporters
|
||||
MOCHA_MULTI_REPORTERS: mocha-junit-reporter, tap
|
||||
ELECTRON_DISABLE_SECURITY_WARNINGS: 1
|
||||
ELECTRON_SKIP_NATIVE_MODULE_TESTS: true
|
||||
DISPLAY: ':99.0'
|
||||
NPM_CONFIG_MSVS_VERSION: '2022'
|
||||
run: |
|
||||
@@ -268,7 +249,7 @@ jobs:
|
||||
if: always() && !cancelled()
|
||||
- name: Upload Test Artifacts
|
||||
if: always() && !cancelled()
|
||||
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02
|
||||
with:
|
||||
name: test_artifacts_${{ env.ARTIFACT_KEY }}_${{ matrix.shard }}
|
||||
path: src/electron/spec/artifacts
|
||||
|
||||
@@ -31,14 +31,15 @@ concurrency:
|
||||
cancel-in-progress: ${{ github.ref_protected != true }}
|
||||
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE: ${{ secrets.CHROMIUM_GIT_COOKIE }}
|
||||
CHROMIUM_GIT_AUTH: ${{ secrets.CHROMIUM_GIT_AUTH }}
|
||||
CHROMIUM_GIT_USER: ${{ secrets.CHROMIUM_GIT_USER }}
|
||||
ELECTRON_OUT_DIR: Default
|
||||
ELECTRON_RBE_JWT: ${{ secrets.ELECTRON_RBE_JWT }}
|
||||
|
||||
jobs:
|
||||
node-tests:
|
||||
name: Run Node.js Tests
|
||||
runs-on: electron-arc-centralus-linux-amd64-8core
|
||||
runs-on: electron-arc-linux-amd64-8core
|
||||
timeout-minutes: 30
|
||||
env:
|
||||
TARGET_ARCH: ${{ inputs.target-arch }}
|
||||
@@ -51,8 +52,8 @@ jobs:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Set Chromium Git Cookie
|
||||
uses: ./src/electron/.github/actions/set-chromium-cookie
|
||||
- name: Set Chromium Git Helper
|
||||
uses: ./src/electron/.github/actions/set-chromium-git-helper
|
||||
- name: Install Build Tools
|
||||
uses: ./src/electron/.github/actions/install-build-tools
|
||||
- name: Init Build Tools
|
||||
@@ -61,12 +62,12 @@ jobs:
|
||||
- name: Install Dependencies
|
||||
uses: ./src/electron/.github/actions/install-dependencies
|
||||
- name: Download Generated Artifacts
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: generated_artifacts_${{ env.BUILD_TYPE }}_${{ env.TARGET_ARCH }}
|
||||
path: ./generated_artifacts_${{ env.BUILD_TYPE }}_${{ env.TARGET_ARCH }}
|
||||
- name: Download Src Artifacts
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: src_artifacts_linux_${{ env.TARGET_ARCH }}
|
||||
path: ./src_artifacts_linux_${{ env.TARGET_ARCH }}
|
||||
@@ -92,7 +93,7 @@ jobs:
|
||||
done
|
||||
nan-tests:
|
||||
name: Run Nan Tests
|
||||
runs-on: electron-arc-centralus-linux-amd64-4core
|
||||
runs-on: electron-arc-linux-amd64-4core
|
||||
timeout-minutes: 30
|
||||
env:
|
||||
TARGET_ARCH: ${{ inputs.target-arch }}
|
||||
@@ -105,8 +106,8 @@ jobs:
|
||||
path: src/electron
|
||||
fetch-depth: 0
|
||||
ref: ${{ github.event.pull_request.head.sha }}
|
||||
- name: Set Chromium Git Cookie
|
||||
uses: ./src/electron/.github/actions/set-chromium-cookie
|
||||
- name: Set Chromium Git Helper
|
||||
uses: ./src/electron/.github/actions/set-chromium-git-helper
|
||||
- name: Install Build Tools
|
||||
uses: ./src/electron/.github/actions/install-build-tools
|
||||
- name: Init Build Tools
|
||||
@@ -115,12 +116,12 @@ jobs:
|
||||
- name: Install Dependencies
|
||||
uses: ./src/electron/.github/actions/install-dependencies
|
||||
- name: Download Generated Artifacts
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: generated_artifacts_${{ env.BUILD_TYPE }}_${{ env.TARGET_ARCH }}
|
||||
path: ./generated_artifacts_${{ env.BUILD_TYPE }}_${{ env.TARGET_ARCH }}
|
||||
- name: Download Src Artifacts
|
||||
uses: actions/download-artifact@cc203385981b70ca67e1cc392babf9cc229d5806
|
||||
uses: actions/download-artifact@d3f86a106a0bac45b974a628896c90dbdf5c8093
|
||||
with:
|
||||
name: src_artifacts_linux_${{ env.TARGET_ARCH }}
|
||||
path: ./src_artifacts_linux_${{ env.TARGET_ARCH }}
|
||||
|
||||
2
.github/workflows/pull-request-labeled.yml
vendored
2
.github/workflows/pull-request-labeled.yml
vendored
@@ -33,7 +33,7 @@ jobs:
|
||||
creds: ${{ secrets.RELEASE_BOARD_GH_APP_CREDS }}
|
||||
org: electron
|
||||
- name: Set status
|
||||
uses: dsanders11/project-actions/edit-item@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
uses: dsanders11/project-actions/edit-item@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
with:
|
||||
token: ${{ steps.generate-token.outputs.token }}
|
||||
project-number: 94
|
||||
|
||||
4
.github/workflows/scorecards.yml
vendored
4
.github/workflows/scorecards.yml
vendored
@@ -42,7 +42,7 @@ jobs:
|
||||
# Upload the results as artifacts (optional). Commenting out will disable uploads of run results in SARIF
|
||||
# format to the repository Actions tab.
|
||||
- name: "Upload artifact"
|
||||
uses: actions/upload-artifact@4cec3d8aa04e39d1a68397de0c4cd6fb9dce8ec1 # v4.6.1
|
||||
uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
|
||||
with:
|
||||
name: SARIF file
|
||||
path: results.sarif
|
||||
@@ -50,6 +50,6 @@ jobs:
|
||||
|
||||
# Upload the results to GitHub's code scanning dashboard.
|
||||
- name: "Upload to code-scanning"
|
||||
uses: github/codeql-action/upload-sarif@b56ba49b26e50535fa1e7f7db0f4f7b4bf65d80d # v3.28.10
|
||||
uses: github/codeql-action/upload-sarif@45775bd8235c68ba998cffa5171334d58593da47 # v3.28.15
|
||||
with:
|
||||
sarif_file: results.sarif
|
||||
|
||||
2
.github/workflows/stable-prep-items.yml
vendored
2
.github/workflows/stable-prep-items.yml
vendored
@@ -27,7 +27,7 @@ jobs:
|
||||
PROJECT_NUMBER=$(gh project list --owner electron --format json | jq -r '.projects | map(select(.title | test("^[0-9]+-x-y$"))) | max_by(.number) | .number')
|
||||
echo "PROJECT_NUMBER=$PROJECT_NUMBER" >> "$GITHUB_OUTPUT"
|
||||
- name: Update Completed Stable Prep Items
|
||||
uses: dsanders11/project-actions/completed-by@9c80cd31f58599941c64f74636bea95ba5d46090 # v1.5.1
|
||||
uses: dsanders11/project-actions/completed-by@2134fe7cc71c58b7ae259c82a8e63c6058255678 # v1.7.0
|
||||
with:
|
||||
field: Prep Status
|
||||
field-value: ✅ Complete
|
||||
|
||||
11
.github/workflows/windows-publish.yml
vendored
11
.github/workflows/windows-publish.yml
vendored
@@ -20,7 +20,7 @@ on:
|
||||
|
||||
jobs:
|
||||
checkout-windows:
|
||||
runs-on: electron-arc-centralus-linux-amd64-32core
|
||||
runs-on: electron-arc-linux-amd64-32core
|
||||
container:
|
||||
image: ghcr.io/electron/build:${{ inputs.build-image-sha }}
|
||||
options: --user root --device /dev/fuse --cap-add SYS_ADMIN
|
||||
@@ -28,7 +28,8 @@ jobs:
|
||||
- /mnt/win-cache:/mnt/win-cache
|
||||
- /var/run/sas:/var/run/sas
|
||||
env:
|
||||
CHROMIUM_GIT_COOKIE_WINDOWS_STRING: ${{ secrets.CHROMIUM_GIT_COOKIE_WINDOWS_STRING }}
|
||||
CHROMIUM_GIT_AUTH: ${{ secrets.CHROMIUM_GIT_AUTH }}
|
||||
CHROMIUM_GIT_USER: ${{ secrets.CHROMIUM_GIT_USER }}
|
||||
GCLIENT_EXTRA_ARGS: '--custom-var=checkout_win=True'
|
||||
TARGET_OS: 'win'
|
||||
ELECTRON_DEPOT_TOOLS_WIN_TOOLCHAIN: '1'
|
||||
@@ -51,7 +52,7 @@ jobs:
|
||||
needs: checkout-windows
|
||||
with:
|
||||
environment: production-release
|
||||
build-runs-on: electron-arc-centralus-windows-amd64-16core
|
||||
build-runs-on: electron-arc-windows-amd64-16core
|
||||
target-platform: win
|
||||
target-arch: x64
|
||||
is-release: true
|
||||
@@ -65,7 +66,7 @@ jobs:
|
||||
needs: checkout-windows
|
||||
with:
|
||||
environment: production-release
|
||||
build-runs-on: electron-arc-centralus-windows-amd64-16core
|
||||
build-runs-on: electron-arc-windows-amd64-16core
|
||||
target-platform: win
|
||||
target-arch: arm64
|
||||
is-release: true
|
||||
@@ -79,7 +80,7 @@ jobs:
|
||||
needs: checkout-windows
|
||||
with:
|
||||
environment: production-release
|
||||
build-runs-on: electron-arc-centralus-windows-amd64-16core
|
||||
build-runs-on: electron-arc-windows-amd64-16core
|
||||
target-platform: win
|
||||
target-arch: x86
|
||||
is-release: true
|
||||
|
||||
6
BUILD.gn
6
BUILD.gn
@@ -17,19 +17,19 @@ import("//tools/grit/repack.gni")
|
||||
import("//tools/v8_context_snapshot/v8_context_snapshot.gni")
|
||||
import("//v8/gni/snapshot_toolchain.gni")
|
||||
import("build/asar.gni")
|
||||
import("build/electron_paks.gni")
|
||||
import("build/extract_symbols.gni")
|
||||
import("build/js2c_toolchain.gni")
|
||||
import("build/npm.gni")
|
||||
import("build/templated_file.gni")
|
||||
import("build/tsc.gni")
|
||||
import("build/webpack/webpack.gni")
|
||||
import("buildflags/buildflags.gni")
|
||||
import("electron_paks.gni")
|
||||
import("filenames.auto.gni")
|
||||
import("filenames.gni")
|
||||
import("filenames.hunspell.gni")
|
||||
import("filenames.libcxx.gni")
|
||||
import("filenames.libcxxabi.gni")
|
||||
import("js2c_toolchain.gni")
|
||||
|
||||
if (is_mac) {
|
||||
import("//build/config/mac/rules.gni")
|
||||
@@ -314,7 +314,7 @@ asar("default_app_asar") {
|
||||
}
|
||||
|
||||
grit("resources") {
|
||||
source = "electron_resources.grd"
|
||||
source = "build/electron_resources.grd"
|
||||
|
||||
outputs = [
|
||||
"grit/electron_resources.h",
|
||||
|
||||
6
DEPS
6
DEPS
@@ -2,9 +2,9 @@ gclient_gn_args_from = 'src'
|
||||
|
||||
vars = {
|
||||
'chromium_version':
|
||||
'136.0.7103.177',
|
||||
'138.0.7190.0',
|
||||
'node_version':
|
||||
'v22.18.0',
|
||||
'v22.15.1',
|
||||
'nan_version':
|
||||
'e14bdcd1f72d62bca1d541b66da43130384ec213',
|
||||
'squirrel.mac_version':
|
||||
@@ -31,7 +31,7 @@ vars = {
|
||||
'sysroots_json_path': 'electron/script/sysroots.json',
|
||||
|
||||
# KEEP IN SYNC WITH utils.js FILE
|
||||
'yarn_version': '1.22.22',
|
||||
'yarn_version': '1.15.2',
|
||||
|
||||
# To be able to build clean Chromium from sources.
|
||||
'apply_patches': True,
|
||||
|
||||
14
README.md
14
README.md
@@ -44,17 +44,29 @@ Each Electron release provides binaries for macOS, Windows, and Linux.
|
||||
* Fedora 32 and newer
|
||||
* Debian 10 and newer
|
||||
|
||||
## Electron Fiddle
|
||||
## Quick start & Electron Fiddle
|
||||
|
||||
Use [`Electron Fiddle`](https://github.com/electron/fiddle)
|
||||
to build, run, and package small Electron experiments, to see code examples for all of Electron's APIs, and
|
||||
to try out different versions of Electron. It's designed to make the start of your journey with
|
||||
Electron easier.
|
||||
|
||||
Alternatively, clone and run the
|
||||
[electron/electron-quick-start](https://github.com/electron/electron-quick-start)
|
||||
repository to see a minimal Electron app in action:
|
||||
|
||||
```sh
|
||||
git clone https://github.com/electron/electron-quick-start
|
||||
cd electron-quick-start
|
||||
npm install
|
||||
npm start
|
||||
```
|
||||
|
||||
## Resources for learning Electron
|
||||
|
||||
* [electronjs.org/docs](https://electronjs.org/docs) - All of Electron's documentation
|
||||
* [electron/fiddle](https://github.com/electron/fiddle) - A tool to build, run, and package small Electron experiments
|
||||
* [electron/electron-quick-start](https://github.com/electron/electron-quick-start) - A very basic starter Electron app
|
||||
* [electronjs.org/community#boilerplates](https://electronjs.org/community#boilerplates) - Sample starter apps created by the community
|
||||
|
||||
## Programmatic usage
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"plugins": [
|
||||
"import"
|
||||
"unicorn"
|
||||
],
|
||||
"rules": {
|
||||
"import/enforce-node-protocol-usage": ["error", "always"]
|
||||
"unicorn/prefer-node-protocol": "error"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,7 @@ is_electron_build = true
|
||||
root_extra_deps = [ "//electron" ]
|
||||
|
||||
# Registry of NMVs --> https://github.com/nodejs/node/blob/main/doc/abi_version_registry.json
|
||||
node_module_version = 135
|
||||
node_module_version = 136
|
||||
|
||||
v8_promise_internal_field_count = 1
|
||||
v8_embedder_string = "-electron.0"
|
||||
@@ -73,5 +73,3 @@ enterprise_cloud_content_analysis = false
|
||||
# TODO: remove dependency on legacy ipc
|
||||
# https://issues.chromium.org/issues/40943039
|
||||
content_enable_legacy_ipc = true
|
||||
|
||||
clang_unsafe_buffers_paths = "//electron/electron_unsafe_buffers_paths.txt"
|
||||
|
||||
@@ -121,7 +121,6 @@ if ((globalThis.process || binding.process).argv.includes("--profile-electron-in
|
||||
'electron/main$': electronAPIFile,
|
||||
'electron/renderer$': electronAPIFile,
|
||||
'electron/common$': electronAPIFile,
|
||||
'electron/utility$': electronAPIFile,
|
||||
// Force timers to resolve to our dependency that doesn't use window.postMessage
|
||||
timers: path.resolve(electronRoot, 'node_modules', 'timers-browserify', 'main.js')
|
||||
},
|
||||
@@ -144,9 +143,7 @@ if ((globalThis.process || binding.process).argv.includes("--profile-electron-in
|
||||
transpileOnly: onlyPrintingGraph,
|
||||
ignoreDiagnostics: [
|
||||
// File '{0}' is not under 'rootDir' '{1}'.
|
||||
6059,
|
||||
// Private field '{0}' must be declared in an enclosing class.
|
||||
1111
|
||||
6059
|
||||
]
|
||||
}
|
||||
}]
|
||||
|
||||
@@ -85,6 +85,8 @@ static_library("chrome") {
|
||||
"//chrome/browser/process_singleton.h",
|
||||
"//chrome/browser/process_singleton_internal.cc",
|
||||
"//chrome/browser/process_singleton_internal.h",
|
||||
"//chrome/browser/serial/serial_blocklist.cc",
|
||||
"//chrome/browser/serial/serial_blocklist.h",
|
||||
"//chrome/browser/themes/browser_theme_pack.cc",
|
||||
"//chrome/browser/themes/browser_theme_pack.h",
|
||||
"//chrome/browser/themes/custom_theme_supplier.cc",
|
||||
@@ -144,6 +146,8 @@ static_library("chrome") {
|
||||
"//chrome/browser/ui/views/overlay/video_overlay_window_views.h",
|
||||
"//chrome/browser/ui/webui/accessibility/accessibility_ui.cc",
|
||||
"//chrome/browser/ui/webui/accessibility/accessibility_ui.h",
|
||||
"//chrome/browser/usb/usb_blocklist.cc",
|
||||
"//chrome/browser/usb/usb_blocklist.h",
|
||||
"//extensions/browser/app_window/size_constraints.cc",
|
||||
"//extensions/browser/app_window/size_constraints.h",
|
||||
"//ui/base/accelerators/global_accelerator_listener/global_accelerator_listener.cc",
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
{
|
||||
"plugins": [
|
||||
"import"
|
||||
"unicorn"
|
||||
],
|
||||
"rules": {
|
||||
"import/enforce-node-protocol-usage": ["error", "always"]
|
||||
"unicorn/prefer-node-protocol": "error"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -775,22 +775,6 @@ bar, and on macOS, you can visit it from dock menu.
|
||||
|
||||
Clears the recent documents list.
|
||||
|
||||
### `app.getRecentDocuments()` _macOS_ _Windows_
|
||||
|
||||
Returns `string[]` - An array containing documents in the most recent documents list.
|
||||
|
||||
```js
|
||||
const { app } = require('electron')
|
||||
|
||||
const path = require('node:path')
|
||||
|
||||
const file = path.join(app.getPath('desktop'), 'foo.txt')
|
||||
app.addRecentDocument(file)
|
||||
|
||||
const recents = app.getRecentDocuments()
|
||||
console.log(recents) // ['/path/to/desktop/foo.txt'}
|
||||
```
|
||||
|
||||
### `app.setAsDefaultProtocolClient(protocol[, path, args])`
|
||||
|
||||
* `protocol` string - The name of your protocol, without `://`. For example,
|
||||
|
||||
@@ -99,10 +99,6 @@ Process: [Main](../glossary.md#main-process)
|
||||
|
||||
It creates a new `BaseWindow` with native properties as set by the `options`.
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### `new BaseWindow([options])`
|
||||
|
||||
* `options` [BaseWindowConstructorOptions](structures/base-window-options.md?inline) (optional)
|
||||
@@ -1256,43 +1252,6 @@ Sets the properties for the window's taskbar button.
|
||||
> `relaunchCommand` and `relaunchDisplayName` must always be set
|
||||
> together. If one of those properties is not set, then neither will be used.
|
||||
|
||||
#### `win.setAccentColor(accentColor)` _Windows_
|
||||
|
||||
* `accentColor` boolean | string - The accent color for the window. By default, follows user preference in System Settings.
|
||||
|
||||
Sets the system accent color and highlighting of active window border.
|
||||
|
||||
The `accentColor` parameter accepts the following values:
|
||||
|
||||
* **Color string** - Sets a custom accent color using standard CSS color formats (Hex, RGB, RGBA, HSL, HSLA, or named colors). Alpha values in RGBA/HSLA formats are ignored and the color is treated as fully opaque.
|
||||
* **`true`** - Uses the system's default accent color from user preferences in System Settings.
|
||||
* **`false`** - Explicitly disables accent color highlighting for the window.
|
||||
|
||||
Examples:
|
||||
|
||||
```js
|
||||
const win = new BrowserWindow({ frame: false })
|
||||
|
||||
// Set red accent color.
|
||||
win.setAccentColor('#ff0000')
|
||||
|
||||
// RGB format (alpha ignored if present).
|
||||
win.setAccentColor('rgba(255,0,0,0.5)')
|
||||
|
||||
// Use system accent color.
|
||||
win.setAccentColor(true)
|
||||
|
||||
// Disable accent color.
|
||||
win.setAccentColor(false)
|
||||
```
|
||||
|
||||
#### `win.getAccentColor()` _Windows_
|
||||
|
||||
Returns `string | boolean` - the system accent color and highlighting of active window border in Hex RGB format.
|
||||
|
||||
If a color has been set for the window that differs from the system accent color, the window accent color will
|
||||
be returned. Otherwise, a boolean will be returned, with `true` indicating that the window uses the global system accent color, and `false` indicating that accent color highlighting is disabled for this window.
|
||||
|
||||
#### `win.setIcon(icon)` _Windows_ _Linux_
|
||||
|
||||
* `icon` [NativeImage](native-image.md) | string
|
||||
@@ -1387,10 +1346,6 @@ On Windows it calls SetWindowDisplayAffinity with `WDA_EXCLUDEFROMCAPTURE`.
|
||||
For Windows 10 version 2004 and up the window will be removed from capture entirely,
|
||||
older Windows versions behave as if `WDA_MONITOR` is applied capturing a black window.
|
||||
|
||||
#### `win.isContentProtected()` _macOS_ _Windows_
|
||||
|
||||
Returns `boolean` - whether or not content protection is currently enabled.
|
||||
|
||||
#### `win.setFocusable(focusable)` _macOS_ _Windows_
|
||||
|
||||
* `focusable` boolean
|
||||
|
||||
@@ -38,10 +38,6 @@ Process: [Main](../glossary.md#main-process)
|
||||
This module cannot be used until the `ready` event of the `app`
|
||||
module is emitted.
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### Example
|
||||
|
||||
```js
|
||||
|
||||
@@ -150,10 +150,6 @@ Process: [Main](../glossary.md#main-process)
|
||||
|
||||
It creates a new `BrowserWindow` with native properties as set by the `options`.
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### `new BrowserWindow([options])`
|
||||
|
||||
* `options` [BrowserWindowConstructorOptions](structures/browser-window-options.md?inline) (optional)
|
||||
@@ -1434,43 +1430,6 @@ Sets the properties for the window's taskbar button.
|
||||
> `relaunchCommand` and `relaunchDisplayName` must always be set
|
||||
> together. If one of those properties is not set, then neither will be used.
|
||||
|
||||
#### `win.setAccentColor(accentColor)` _Windows_
|
||||
|
||||
* `accentColor` boolean | string - The accent color for the window. By default, follows user preference in System Settings.
|
||||
|
||||
Sets the system accent color and highlighting of active window border.
|
||||
|
||||
The `accentColor` parameter accepts the following values:
|
||||
|
||||
* **Color string** - Sets a custom accent color using standard CSS color formats (Hex, RGB, RGBA, HSL, HSLA, or named colors). Alpha values in RGBA/HSLA formats are ignored and the color is treated as fully opaque.
|
||||
* **`true`** - Uses the system's default accent color from user preferences in System Settings.
|
||||
* **`false`** - Explicitly disables accent color highlighting for the window.
|
||||
|
||||
Examples:
|
||||
|
||||
```js
|
||||
const win = new BrowserWindow({ frame: false })
|
||||
|
||||
// Set red accent color.
|
||||
win.setAccentColor('#ff0000')
|
||||
|
||||
// RGB format (alpha ignored if present).
|
||||
win.setAccentColor('rgba(255,0,0,0.5)')
|
||||
|
||||
// Use system accent color.
|
||||
win.setAccentColor(true)
|
||||
|
||||
// Disable accent color.
|
||||
win.setAccentColor(false)
|
||||
```
|
||||
|
||||
#### `win.getAccentColor()` _Windows_
|
||||
|
||||
Returns `string | boolean` - the system accent color and highlighting of active window border in Hex RGB format.
|
||||
|
||||
If a color has been set for the window that differs from the system accent color, the window accent color will
|
||||
be returned. Otherwise, a boolean will be returned, with `true` indicating that the window uses the global system accent color, and `false` indicating that accent color highlighting is disabled for this window.
|
||||
|
||||
#### `win.showDefinitionForSelection()` _macOS_
|
||||
|
||||
Same as `webContents.showDefinitionForSelection()`.
|
||||
@@ -1569,10 +1528,6 @@ On Windows it calls SetWindowDisplayAffinity with `WDA_EXCLUDEFROMCAPTURE`.
|
||||
For Windows 10 version 2004 and up the window will be removed from capture entirely,
|
||||
older Windows versions behave as if `WDA_MONITOR` is applied capturing a black window.
|
||||
|
||||
#### `win.isContentProtected()` _macOS_ _Windows_
|
||||
|
||||
Returns `boolean` - whether or not content protection is currently enabled.
|
||||
|
||||
#### `win.setFocusable(focusable)` _macOS_ _Windows_
|
||||
|
||||
* `focusable` boolean
|
||||
|
||||
@@ -60,10 +60,6 @@ following properties:
|
||||
`strict-origin-when-cross-origin`.
|
||||
* `cache` string (optional) - can be `default`, `no-store`, `reload`,
|
||||
`no-cache`, `force-cache` or `only-if-cached`.
|
||||
* `priority` string (optional) - can be `throttled`, `idle`, `lowest`,
|
||||
`low`, `medium`, or `highest`. Defaults to `idle`.
|
||||
* `priorityIncremental` boolean (optional) - the incremental loading flag as part
|
||||
of HTTP extensible priorities (RFC 9218). Default is `true`.
|
||||
|
||||
`options` properties such as `protocol`, `host`, `hostname`, `port` and `path`
|
||||
strictly follow the Node.js model as described in the
|
||||
|
||||
@@ -325,10 +325,6 @@ Set the directory to which all Node.js diagnostic output files are written. Defa
|
||||
|
||||
Affects the default output directory of [v8.setHeapSnapshotNearHeapLimit](https://nodejs.org/docs/latest/api/v8.html#v8setheapsnapshotnearheaplimitlimit).
|
||||
|
||||
### `--no-experimental-global-navigator`
|
||||
|
||||
Disable exposition of [Navigator API][] on the global scope from Node.js.
|
||||
|
||||
[app]: app.md
|
||||
[append-switch]: command-line.md#commandlineappendswitchswitch-value
|
||||
[debugging-main-process]: ../tutorial/debugging-main-process.md
|
||||
@@ -337,4 +333,3 @@ Disable exposition of [Navigator API][] on the global scope from Node.js.
|
||||
[play-silent-audio]: https://github.com/atom/atom/pull/9485/files
|
||||
[ready]: app.md#event-ready
|
||||
[severities]: https://source.chromium.org/chromium/chromium/src/+/main:base/logging.h?q=logging::LogSeverity&ss=chromium
|
||||
[Navigator API]: https://github.com/nodejs/node/blob/main/doc/api/globals.md#navigator
|
||||
|
||||
@@ -104,7 +104,7 @@ you would when running the normal Node.js executable, with the exception of the
|
||||
These flags are disabled owing to the fact that Electron uses BoringSSL instead of OpenSSL when building Node.js'
|
||||
`crypto` module, and so will not work as designed.
|
||||
|
||||
If the [`runAsNode` fuse](../tutorial/fuses.md#runasnode) is disabled, `ELECTRON_RUN_AS_NODE` will be ignored.
|
||||
If the [`runAsNode` fuse](../tutorial/fuses.md#L13) is disabled, `ELECTRON_RUN_AS_NODE` will be ignored.
|
||||
|
||||
### `ELECTRON_NO_ATTACH_CONSOLE` _Windows_
|
||||
|
||||
|
||||
@@ -42,10 +42,6 @@ Process: [Main](../glossary.md#main-process)
|
||||
|
||||
`ImageView` is an [EventEmitter][event-emitter].
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### `new ImageView()` _Experimental_
|
||||
|
||||
Creates an ImageView.
|
||||
|
||||
@@ -11,10 +11,6 @@ Process: [Main](../glossary.md#main-process)
|
||||
|
||||
<!-- TODO(samuelmaddock): refactor doc gen to allow generics to reduce duplication -->
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### Instance Methods
|
||||
|
||||
#### `ipcMainServiceWorker.on(channel, listener)`
|
||||
|
||||
@@ -6,10 +6,6 @@ Process: [Main](../glossary.md#main-process)
|
||||
|
||||
See [`Menu`](menu.md) for examples.
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### `new MenuItem(options)`
|
||||
|
||||
* `options` Object
|
||||
|
||||
@@ -6,10 +6,6 @@
|
||||
|
||||
Process: [Main](../glossary.md#main-process)
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### `new Menu()`
|
||||
|
||||
Creates a new menu.
|
||||
|
||||
@@ -33,10 +33,6 @@ ipcRenderer.on('port', (e) => {
|
||||
})
|
||||
```
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### Instance Properties
|
||||
|
||||
#### `channel.port1`
|
||||
|
||||
@@ -4,9 +4,12 @@
|
||||
|
||||
Process: [Main](../glossary.md#main-process)
|
||||
|
||||
> [!NOTE]
|
||||
> If you want to show notifications from a renderer process you should use the
|
||||
> [web Notifications API](../tutorial/notifications.md)
|
||||
:::info Renderer process notifications
|
||||
|
||||
If you want to show notifications from a renderer process you should use the
|
||||
[web Notifications API](../tutorial/notifications.md)
|
||||
|
||||
:::
|
||||
|
||||
## Class: Notification
|
||||
|
||||
@@ -18,10 +21,6 @@ Process: [Main](../glossary.md#main-process)
|
||||
|
||||
It creates a new `Notification` with native properties as set by the `options`.
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### Static Methods
|
||||
|
||||
The `Notification` class has the following static methods:
|
||||
|
||||
@@ -73,6 +73,5 @@ command line flag is provided `--password-store="basic"`.
|
||||
is provided `--password-store="kwallet"`.
|
||||
* `kwallet5` - When the desktop session is `kde5` or if the following command line flag
|
||||
is provided `--password-store="kwallet5"`.
|
||||
* `kwallet6` - When the desktop session is `kde6` or if the following command line flag
|
||||
is provided `--password-store="kwallet6"`.
|
||||
* `kwallet6` - When the desktop session is `kde6`.
|
||||
* `unknown` - When the function is called before app has emitted the `ready` event.
|
||||
|
||||
@@ -46,6 +46,10 @@ An [`IpcMainServiceWorker`](ipc-main-service-worker.md) instance scoped to the s
|
||||
|
||||
A `string` representing the scope URL of the service worker.
|
||||
|
||||
#### `serviceWorker.scriptURL` _Readonly_ _Experimental_
|
||||
|
||||
A `string` representing the script URL of the service worker.
|
||||
|
||||
#### `serviceWorker.versionId` _Readonly_ _Experimental_
|
||||
|
||||
A `number` representing the ID of the specific version of the service worker script in its scope.
|
||||
|
||||
@@ -13,10 +13,6 @@ For including the share menu as a submenu of other menus, please use the
|
||||
|
||||
Process: [Main](../glossary.md#main-process)
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### `new ShareMenu(sharingItem)`
|
||||
|
||||
* `sharingItem` SharingItem - The item to share.
|
||||
|
||||
@@ -95,7 +95,6 @@
|
||||
* `color` String (optional) _Windows_ _Linux_ - The CSS color of the Window Controls Overlay when enabled. Default is the system color.
|
||||
* `symbolColor` String (optional) _Windows_ _Linux_ - The CSS color of the symbols on the Window Controls Overlay when enabled. Default is the system color.
|
||||
* `height` Integer (optional) - The height of the title bar and Window Controls Overlay in pixels. Default is system height.
|
||||
* `accentColor` boolean | string (optional) _Windows_ - The accent color for the window. By default, follows user preference in System Settings. Set to `false` to explicitly disable, or set the color in Hex, RGB, RGBA, HSL, HSLA or named CSS color format. Alpha values will be ignored.
|
||||
* `trafficLightPosition` [Point](point.md) (optional) _macOS_ -
|
||||
Set a custom position for the traffic light buttons in frameless windows.
|
||||
* `roundedCorners` boolean (optional) _macOS_ _Windows_ - Whether frameless window
|
||||
|
||||
@@ -6,11 +6,3 @@
|
||||
* `productId` Integer - The USB product ID.
|
||||
* `serialNumber` string (optional) - The USB device serial number.
|
||||
* `guid` string (optional) - Unique identifier for the HID interface. A device may have multiple HID interfaces.
|
||||
* `collections` Object[] - an array of report formats. See [MDN documentation](https://developer.mozilla.org/en-US/docs/Web/API/HIDDevice/collections) for more.
|
||||
* `usage` Integer - An integer representing the usage ID component of the HID usage associated with this collection.
|
||||
* `usagePage` Integer - An integer representing the usage page component of the HID usage associated with this collection.
|
||||
* `type` Integer - An 8-bit value representing the collection type, which describes a different relationship between the grouped items.
|
||||
* `children` Object[] - An array of sub-collections which takes the same format as a top-level collection.
|
||||
* `inputReports` Object[] - An array of inputReport items which represent individual input reports described in this collection.
|
||||
* `outputReports` Object[] - An array of outputReport items which represent individual output reports described in this collection.
|
||||
* `featureReports` Object[] - An array of featureReport items which represent individual feature reports described in this collection.
|
||||
|
||||
@@ -25,9 +25,8 @@
|
||||
and URL responses.
|
||||
* `method` string (optional) - The HTTP `method`. This is only used for file
|
||||
and URL responses.
|
||||
* `session` Session (optional) - The session used for requesting URL, by default
|
||||
the HTTP request will reuse the current session. Setting `session` to `null`
|
||||
would use a random independent session. This is only used for URL responses.
|
||||
* `session` Session (optional) - The session used for requesting URL.
|
||||
The HTTP request will reuse the current session by default.
|
||||
* `uploadData` [ProtocolResponseUploadData](protocol-response-upload-data.md) (optional) - The data used as upload data. This is only
|
||||
used for URL responses when `method` is `"POST"`.
|
||||
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
# TouchBar
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
## Class: TouchBar
|
||||
|
||||
> Create TouchBar layouts for native macOS applications
|
||||
|
||||
@@ -25,10 +25,6 @@ app.whenReady().then(() => {
|
||||
})
|
||||
```
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
**Platform Considerations**
|
||||
|
||||
**Linux**
|
||||
|
||||
@@ -25,10 +25,6 @@ Process: [Main](../glossary.md#main-process)
|
||||
|
||||
`View` is an [EventEmitter][event-emitter].
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### `new View()`
|
||||
|
||||
Creates a new `View`.
|
||||
|
||||
@@ -32,10 +32,6 @@ Process: [Main](../glossary.md#main-process)
|
||||
|
||||
`WebContentsView` is an [EventEmitter][event-emitter].
|
||||
|
||||
> [!WARNING]
|
||||
> Electron's built-in classes cannot be subclassed in user code.
|
||||
> For more information, see [the FAQ](../faq.md#class-inheritance-does-not-work-with-electron-built-in-modules).
|
||||
|
||||
### `new WebContentsView([options])`
|
||||
|
||||
* `options` Object (optional)
|
||||
|
||||
@@ -534,55 +534,14 @@ To only prevent the menu shortcuts, use
|
||||
[`setIgnoreMenuShortcuts`](#contentssetignoremenushortcutsignore):
|
||||
|
||||
```js
|
||||
const { app, BrowserWindow } = require('electron')
|
||||
const { BrowserWindow } = require('electron')
|
||||
|
||||
app.whenReady().then(() => {
|
||||
const win = new BrowserWindow({ width: 800, height: 600 })
|
||||
const win = new BrowserWindow({ width: 800, height: 600 })
|
||||
|
||||
win.webContents.on('before-input-event', (event, input) => {
|
||||
// Enable application menu keyboard shortcuts when Ctrl/Cmd are down.
|
||||
win.webContents.setIgnoreMenuShortcuts(!input.control && !input.meta)
|
||||
})
|
||||
})
|
||||
```
|
||||
|
||||
#### Event: 'before-mouse-event'
|
||||
|
||||
Returns:
|
||||
|
||||
* `event` Event
|
||||
* `mouse` [MouseInputEvent](structures/mouse-input-event.md)
|
||||
|
||||
Emitted before dispatching mouse events in the page.
|
||||
|
||||
Calling `event.preventDefault` will prevent the page mouse events.
|
||||
|
||||
```js
|
||||
const { app, BrowserWindow } = require('electron')
|
||||
|
||||
app.whenReady().then(() => {
|
||||
const win = new BrowserWindow({ width: 800, height: 600 })
|
||||
|
||||
win.webContents.on('before-mouse-event', (event, mouse) => {
|
||||
// Prevent mouseDown events.
|
||||
if (mouse.type === 'mouseDown') {
|
||||
console.log(mouse)
|
||||
/*
|
||||
{
|
||||
type: 'mouseDown',
|
||||
clickCount: 1,
|
||||
movementX: 0,
|
||||
movementY: 0,
|
||||
button: 'left',
|
||||
x: 632.359375,
|
||||
y: 480.6875,
|
||||
globalX: 168.359375,
|
||||
globalY: 193.6875
|
||||
}
|
||||
*/
|
||||
event.preventDefault()
|
||||
}
|
||||
})
|
||||
win.webContents.on('before-input-event', (event, input) => {
|
||||
// For example, only enable application menu keyboard shortcuts when
|
||||
// Ctrl/Cmd are down.
|
||||
win.webContents.setIgnoreMenuShortcuts(!input.control && !input.meta)
|
||||
})
|
||||
```
|
||||
|
||||
|
||||
@@ -14,11 +14,44 @@ This document uses the following convention to categorize breaking changes:
|
||||
|
||||
## Planned Breaking API Changes (37.0)
|
||||
|
||||
### Utility Process unhandled rejection behavior change
|
||||
|
||||
Utility Processes will now warn with an error message when an unhandled
|
||||
rejection occurs instead of crashing the process.
|
||||
|
||||
To restore the previous behavior, you can use:
|
||||
|
||||
```js
|
||||
process.on('unhandledRejection', () => {
|
||||
process.exit(1)
|
||||
})
|
||||
```
|
||||
|
||||
### Behavior Changed: WebUSB and WebSerial Blocklist Support
|
||||
|
||||
[WebUSB](https://developer.mozilla.org/en-US/docs/Web/API/WebUSB_API) and [Web Serial](https://developer.mozilla.org/en-US/docs/Web/API/Web_Serial_API) now support the [WebUSB Blocklist](https://wicg.github.io/webusb/#blocklist) and [Web Serial Blocklist](https://wicg.github.io/serial/#blocklist) used by Chromium and outlined in their respective specifications.
|
||||
|
||||
To disable these, users can pass `disable-usb-blocklist` and `disable-serial-blocklist` as command line flags.
|
||||
|
||||
### Removed: `null` value for `session` property in `ProtocolResponse`
|
||||
|
||||
This deprecated feature has been removed.
|
||||
|
||||
Previously, setting the `ProtocolResponse.session` property to `null`
|
||||
would create a random independent session. This is no longer supported.
|
||||
|
||||
Using single-purpose sessions here is discouraged due to overhead costs;
|
||||
however, old code that needs to preserve this behavior can emulate it by
|
||||
creating a random session with `session.fromPartition(some_random_string)`
|
||||
and then using it in `ProtocolResponse.session`.
|
||||
|
||||
### Behavior Changed: `BrowserWindow.IsVisibleOnAllWorkspaces()` on Linux
|
||||
|
||||
`BrowserWindow.IsVisibleOnAllWorkspaces()` will now return false on Linux if the
|
||||
window is not currently visible.
|
||||
|
||||
## Planned Breaking API Changes (36.0)
|
||||
|
||||
### Behavior Changes: `app.commandLine`
|
||||
|
||||
`app.commandLine` will convert upper-cases switches and arguments to lowercase.
|
||||
@@ -40,9 +73,7 @@ bitmap = image.getBitmap()
|
||||
bitmap = image.toBitmap()
|
||||
```
|
||||
|
||||
## Planned Breaking API Changes (36.0)
|
||||
|
||||
### Removed:`isDefault` and `status` properties on `PrinterInfo`
|
||||
### Removed: `isDefault` and `status` properties on `PrinterInfo`
|
||||
|
||||
These properties have been removed from the PrinterInfo Object
|
||||
because they have been removed from upstream Chromium.
|
||||
@@ -54,12 +85,6 @@ When calling `Session.clearStorageData(options)`, the `options.quota` type
|
||||
[removed](https://chromium-review.googlesource.com/c/chromium/src/+/6309405)
|
||||
from upstream Chromium.
|
||||
|
||||
### Deprecated: `quota` property in `Session.clearStorageData(options)`
|
||||
|
||||
When calling `Session.clearStorageData(options)`, the `options.quota`
|
||||
property is deprecated. Since the `syncable` type was removed, there
|
||||
is only type left -- `'temporary'` -- so specifying it is unnecessary.
|
||||
|
||||
### Deprecated: `null` value for `session` property in `ProtocolResponse`
|
||||
|
||||
Previously, setting the ProtocolResponse.session property to `null`
|
||||
@@ -70,6 +95,12 @@ however, old code that needs to preserve this behavior can emulate it by
|
||||
creating a random session with `session.fromPartition(some_random_string)`
|
||||
and then using it in `ProtocolResponse.session`.
|
||||
|
||||
### Deprecated: `quota` property in `Session.clearStorageData(options)`
|
||||
|
||||
When calling `Session.clearStorageData(options)`, the `options.quota`
|
||||
property is deprecated. Since the `syncable` type was removed, there
|
||||
is only type left -- `'temporary'` -- so specifying it is unnecessary.
|
||||
|
||||
### Deprecated: Extension methods and events on `session`
|
||||
|
||||
`session.loadExtension`, `session.removeExtension`, `session.getExtension`,
|
||||
|
||||
@@ -7,8 +7,11 @@ Follow the guidelines below for building **Electron itself** on Linux, for the p
|
||||
## Prerequisites
|
||||
|
||||
* At least 25GB disk space and 8GB RAM.
|
||||
* Python >= 3.9.
|
||||
* [Node.js](https://nodejs.org/download/) >= 22.12.0
|
||||
* Python >= 3.7.
|
||||
* Node.js. There are various ways to install Node. You can download
|
||||
source code from [nodejs.org](https://nodejs.org) and compile it.
|
||||
Doing so permits installing Node on your own home directory as a standard user.
|
||||
Or try repositories such as [NodeSource](https://nodesource.com/blog/nodejs-v012-iojs-and-the-nodesource-linux-repositories).
|
||||
* [clang](https://clang.llvm.org/get_started.html) 3.4 or later.
|
||||
* Development headers of GTK 3 and libnotify.
|
||||
|
||||
|
||||
@@ -10,8 +10,8 @@ Follow the guidelines below for building **Electron itself** on macOS, for the p
|
||||
* [Xcode](https://developer.apple.com/technologies/tools/). The exact version
|
||||
needed depends on what branch you are building, but the latest version of
|
||||
Xcode is generally a good bet for building `main`.
|
||||
* Python >= 3.9
|
||||
* [Node.js](https://nodejs.org/download/) >= 22.12.0
|
||||
* [node.js](https://nodejs.org) (external)
|
||||
* Python >= 3.7
|
||||
|
||||
### Arm64-specific prerequisites
|
||||
|
||||
|
||||
@@ -14,7 +14,7 @@ Follow the guidelines below for building **Electron itself** on Windows, for the
|
||||
set a few environment variables to point the toolchains to your installation path.
|
||||
* `vs2022_install = DRIVE:\path\to\Microsoft Visual Studio\2022\Community`, replacing `2022` and `Community` with your installed versions and replacing `DRIVE:` with the drive that Visual Studio is on. Often, this will be `C:`.
|
||||
* `WINDOWSSDKDIR = DRIVE:\path\to\Windows Kits\10`, replacing `DRIVE:` with the drive that Windows Kits is on. Often, this will be `C:`.
|
||||
* [Node.js](https://nodejs.org/download/) >= 22.12.0
|
||||
* [Node.js](https://nodejs.org/download/)
|
||||
* [Git](https://git-scm.com)
|
||||
* Debugging Tools for Windows of Windows SDK 10.0.15063.468 if you plan on
|
||||
creating a full distribution since `symstore.exe` is used for creating a symbol
|
||||
|
||||
@@ -152,14 +152,6 @@ The effect is visible only on (some?) LCD screens. Even if you don't see a diffe
|
||||
|
||||
Notice that just setting the background in the CSS does not have the desired effect.
|
||||
|
||||
## Class inheritance does not work with Electron built-in modules
|
||||
|
||||
Electron classes cannot be subclassed with the [`extends`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Classes/extends)
|
||||
keyword (also known as class inheritance). This feature was never implemented in Electron due
|
||||
to the added complexity it would add to C++/JavaScript interop in Electron's internals.
|
||||
|
||||
For more information, see [electron/electron#23](https://github.com/electron/electron/issues/23).
|
||||
|
||||
[memory-management]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management
|
||||
[closures]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Closures
|
||||
[storage]: https://developer.mozilla.org/en-US/docs/Web/API/Storage
|
||||
|
||||
@@ -1,6 +1,12 @@
|
||||
const { app, BrowserWindow, ipcMain } = require('electron/main')
|
||||
const path = require('node:path')
|
||||
|
||||
function handleSetTitle (event, title) {
|
||||
const webContents = event.sender
|
||||
const win = BrowserWindow.fromWebContents(webContents)
|
||||
win.setTitle(title)
|
||||
}
|
||||
|
||||
function createWindow () {
|
||||
const mainWindow = new BrowserWindow({
|
||||
webPreferences: {
|
||||
@@ -8,16 +14,11 @@ function createWindow () {
|
||||
}
|
||||
})
|
||||
|
||||
ipcMain.on('set-title', (event, title) => {
|
||||
const webContents = event.sender
|
||||
const win = BrowserWindow.fromWebContents(webContents)
|
||||
win.setTitle(title)
|
||||
})
|
||||
|
||||
mainWindow.loadFile('index.html')
|
||||
}
|
||||
|
||||
app.whenReady().then(() => {
|
||||
ipcMain.on('set-title', handleSetTitle)
|
||||
createWindow()
|
||||
|
||||
app.on('activate', function () {
|
||||
|
||||
@@ -78,8 +78,6 @@ See the [Mac App Store Guide][].
|
||||
|
||||
## Signing Windows builds
|
||||
|
||||
### Using traditional certificates
|
||||
|
||||
Before you can code sign your application, you need to acquire a code signing
|
||||
certificate. Unlike Apple, Microsoft allows developers to purchase those
|
||||
certificates on the open market. They are usually sold by the same companies
|
||||
@@ -119,13 +117,13 @@ expose configuration options through a `windowsSign` property. You can either us
|
||||
to sign files directly - or use the same `windowsSign` configuration across Electron
|
||||
Forge, [`@electron/packager`][], [`electron-winstaller`][], and [`electron-wix-msi`][].
|
||||
|
||||
#### Using Electron Forge
|
||||
### Using Electron Forge
|
||||
|
||||
Electron Forge is the recommended way to sign your app as well as your `Squirrel.Windows`
|
||||
and `WiX MSI` installers. Detailed instructions on how to configure your application can
|
||||
be found in the [Electron Forge Code Signing Tutorial](https://www.electronforge.io/guides/code-signing/code-signing-windows).
|
||||
|
||||
#### Using Electron Packager
|
||||
### Using Electron Packager
|
||||
|
||||
If you're not using an integrated build pipeline like Forge, you
|
||||
are likely using [`@electron/packager`][], which includes [`@electron/windows-sign`][].
|
||||
@@ -148,7 +146,7 @@ packager({
|
||||
})
|
||||
```
|
||||
|
||||
#### Using electron-winstaller (Squirrel.Windows)
|
||||
### Using electron-winstaller (Squirrel.Windows)
|
||||
|
||||
[`electron-winstaller`][] is a package that can generate Squirrel.Windows installers for your
|
||||
Electron app. This is the tool used under the hood by Electron Forge's
|
||||
@@ -180,7 +178,7 @@ try {
|
||||
|
||||
For full configuration options, check out the [`electron-winstaller`][] repository!
|
||||
|
||||
#### Using electron-wix-msi (WiX MSI)
|
||||
### Using electron-wix-msi (WiX MSI)
|
||||
|
||||
[`electron-wix-msi`][] is a package that can generate MSI installers for your
|
||||
Electron app. This is the tool used under the hood by Electron Forge's [MSI Maker][maker-msi].
|
||||
@@ -223,32 +221,11 @@ await msiCreator.compile()
|
||||
|
||||
For full configuration options, check out the [`electron-wix-msi`][] repository!
|
||||
|
||||
#### Using Electron Builder
|
||||
### Using Electron Builder
|
||||
|
||||
Electron Builder comes with a custom solution for signing your application. You
|
||||
can find [its documentation here](https://www.electron.build/code-signing).
|
||||
|
||||
### Using Azure Trusted Signing
|
||||
|
||||
[Azure Trusted Signing][] is Microsoft's modern cloud-based alternative to EV certificates.
|
||||
It is the cheapest option for code signing on Windows, and it gets rid of SmartScreen warnings.
|
||||
|
||||
As of May 2025, Azure Trusted Signing is [available][trusted-signing-availability] to US and
|
||||
Canada-based organizations with 3+ years of verifiable business history. Microsoft is looking
|
||||
to make the program more widely available. If you're reading this at a later point, it could
|
||||
make sense to check if the eligibility criteria have changed.
|
||||
|
||||
#### Using Electron Forge
|
||||
|
||||
Electron Forge is the recommended way to sign your app as well as your `Squirrel.Windows`
|
||||
and `WiX MSI` installers. Instructions for Azure Trusted Signing can be found
|
||||
[here][forge-trusted-signing].
|
||||
|
||||
#### Using Electron Builder
|
||||
|
||||
The Electron Builder documentation for Azure Trusted Signing can be found
|
||||
[here][builder-trusted-signing].
|
||||
|
||||
### Signing Windows Store applications
|
||||
|
||||
See the [Windows Store Guide][].
|
||||
@@ -266,7 +243,3 @@ See the [Windows Store Guide][].
|
||||
[windows store guide]: ./windows-store-guide.md
|
||||
[maker-squirrel]: https://www.electronforge.io/config/makers/squirrel.windows
|
||||
[maker-msi]: https://www.electronforge.io/config/makers/wix-msi
|
||||
[azure trusted signing]: https://azure.microsoft.com/en-us/products/trusted-signing
|
||||
[trusted-signing-availability]: https://techcommunity.microsoft.com/blog/microsoft-security-blog/trusted-signing-public-preview-update/4399713
|
||||
[forge-trusted-signing]: https://www.electronforge.io/guides/code-signing/code-signing-windows#using-azure-trusted-signing
|
||||
[builder-trusted-signing]: https://www.electron.build/code-signing-win#using-azure-trusted-signing-beta
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
# Debugging in VSCode
|
||||
|
||||
This guide goes over how to set up VSCode debugging for both your own Electron
|
||||
project as well as the native Electron codebase.
|
||||
This guide goes over how to set up VSCode debugging for both your own Electron project as well as the native Electron codebase.
|
||||
|
||||
## Debugging your Electron app
|
||||
|
||||
@@ -10,8 +9,8 @@ project as well as the native Electron codebase.
|
||||
#### 1. Open an Electron project in VSCode.
|
||||
|
||||
```sh
|
||||
$ npx create-electron-app@latest my-app
|
||||
$ code my-app
|
||||
$ git clone git@github.com:electron/electron-quick-start.git
|
||||
$ code electron-quick-start
|
||||
```
|
||||
|
||||
#### 2. Add a file `.vscode/launch.json` with the following configuration:
|
||||
@@ -38,27 +37,23 @@ $ code my-app
|
||||
|
||||
#### 3. Debugging
|
||||
|
||||
Set some breakpoints in `main.js`, and start debugging in the
|
||||
[Debug View](https://code.visualstudio.com/docs/editor/debugging). You should
|
||||
be able to hit the breakpoints.
|
||||
Set some breakpoints in `main.js`, and start debugging in the [Debug View](https://code.visualstudio.com/docs/editor/debugging). You should be able to hit the breakpoints.
|
||||
|
||||
Here is a pre-configured project that you can download and directly debug in VSCode: https://github.com/octref/vscode-electron-debug/tree/master/electron-quick-start
|
||||
|
||||
## Debugging the Electron codebase
|
||||
|
||||
If you want to build Electron from source and modify the native Electron codebase,
|
||||
this section will help you in testing your modifications.
|
||||
If you want to build Electron from source and modify the native Electron codebase, this section will help you in testing your modifications.
|
||||
|
||||
For those unsure where to acquire this code or how to build it,
|
||||
[Electron's Build Tools](https://github.com/electron/build-tools) automates and
|
||||
explains most of this process. If you wish to manually set up the environment,
|
||||
you can instead use these [build instructions](../development/build-instructions-gn.md).
|
||||
For those unsure where to acquire this code or how to build it, [Electron's Build Tools](https://github.com/electron/build-tools) automates and explains most of this process. If you wish to manually set up the environment, you can instead use these [build instructions](../development/build-instructions-gn.md).
|
||||
|
||||
### Windows (C++)
|
||||
|
||||
#### 1. Open an Electron project in VSCode.
|
||||
|
||||
```sh
|
||||
$ npx create-electron-app@latest my-app
|
||||
$ code my-app
|
||||
$ git clone git@github.com:electron/electron-quick-start.git
|
||||
$ code electron-quick-start
|
||||
```
|
||||
|
||||
#### 2. Add a file `.vscode/launch.json` with the following configuration:
|
||||
@@ -91,22 +86,14 @@ $ code my-app
|
||||
|
||||
**Configuration Notes**
|
||||
|
||||
* `cppvsdbg` requires the
|
||||
[built-in C/C++ extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools)
|
||||
be enabled.
|
||||
* `cppvsdbg` requires the [built-in C/C++ extension](https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools) be enabled.
|
||||
* `${workspaceFolder}` is the full path to Chromium's `src` directory.
|
||||
* `your-executable-location` will be one of the following depending on a few items:
|
||||
* `Testing`: If you are using the default settings of
|
||||
[Electron's Build-Tools](https://github.com/electron/build-tools) or the default
|
||||
instructions when [building from source](../development/build-instructions-gn.md#building).
|
||||
* `Testing`: If you are using the default settings of [Electron's Build-Tools](https://github.com/electron/build-tools) or the default instructions when [building from source](../development/build-instructions-gn.md#building).
|
||||
* `Release`: If you built a Release build rather than a Testing build.
|
||||
* `your-directory-name`: If you modified this during your build process from
|
||||
the default, this will be whatever you specified.
|
||||
* The `args` array string `"your-electron-project-path"` should be the absolute
|
||||
path to either the directory or `main.js` file of the Electron project you are
|
||||
using for testing. In this example, it should be your path to `my-app`.
|
||||
* `your-directory-name`: If you modified this during your build process from the default, this will be whatever you specified.
|
||||
* The `args` array string `"your-electron-project-path"` should be the absolute path to either the directory or `main.js` file of the Electron project you are using for testing. In this example, it should be your path to `electron-quick-start`.
|
||||
|
||||
#### 3. Debugging
|
||||
|
||||
Set some breakpoints in the .cc files of your choosing in the native Electron C++
|
||||
code, and start debugging in the [Debug View](https://code.visualstudio.com/docs/editor/debugging).
|
||||
Set some breakpoints in the .cc files of your choosing in the native Electron C++ code, and start debugging in the [Debug View](https://code.visualstudio.com/docs/editor/debugging).
|
||||
|
||||
@@ -57,7 +57,7 @@ the WebHID API:
|
||||
|
||||
### Blocklist
|
||||
|
||||
By default Electron employs the same [blocklist](https://github.com/WICG/webhid/blob/main/blocklist.txt)
|
||||
By default Electron employs the same [blocklist](https://wicg.github.io/webhid/#blocklist)
|
||||
used by Chromium. If you wish to override this behavior, you can do so by
|
||||
setting the `disable-hid-blocklist` flag:
|
||||
|
||||
@@ -104,6 +104,16 @@ There are several additional APIs for working with the Web Serial API:
|
||||
* [`ses.setPermissionCheckHandler(handler)`](../api/session.md#sessetpermissioncheckhandlerhandler)
|
||||
can be used to disable serial access for specific origins.
|
||||
|
||||
### Blocklist
|
||||
|
||||
By default Electron employs the same [blocklist](https://wicg.github.io/serial/#blocklist)
|
||||
used by Chromium. If you wish to override this behavior, you can do so by
|
||||
setting the `disable-serial-blocklist` flag:
|
||||
|
||||
```js
|
||||
app.commandLine.appendSwitch('disable-serial-blocklist')
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
This example demonstrates an Electron application that automatically selects
|
||||
@@ -145,6 +155,16 @@ Electron provides several APIs for working with the WebUSB API:
|
||||
* [`ses.setUSBProtectedClassesHandler](../api/session.md#sessetusbprotectedclasseshandlerhandler)
|
||||
can be used to allow usage of [protected USB classes](https://wicg.github.io/webusb/#usbinterface-interface) that are not available by default.
|
||||
|
||||
### Blocklist
|
||||
|
||||
By default Electron employs the same [blocklist](https://wicg.github.io/webusb/#blocklist)
|
||||
used by Chromium. If you wish to override this behavior, you can do so by
|
||||
setting the `disable-usb-blocklist` flag:
|
||||
|
||||
```js
|
||||
app.commandLine.appendSwitch('disable-usb-blocklist')
|
||||
```
|
||||
|
||||
### Example
|
||||
|
||||
This example demonstrates an Electron application that automatically selects
|
||||
|
||||
@@ -48,7 +48,7 @@ The nodeCliInspect fuse toggles whether the `--inspect`, `--inspect-brk`, etc. f
|
||||
|
||||
**@electron/fuses:** `FuseV1Options.EnableEmbeddedAsarIntegrityValidation`
|
||||
|
||||
The embeddedAsarIntegrityValidation fuse toggles an experimental feature on macOS and Windows that validates the content of the `app.asar` file when it is loaded. This feature is designed to have a minimal performance impact but may marginally slow down file reads from inside the `app.asar` archive.
|
||||
The embeddedAsarIntegrityValidation fuse toggles an experimental feature on macOS that validates the content of the `app.asar` file when it is loaded. This feature is designed to have a minimal performance impact but may marginally slow down file reads from inside the `app.asar` archive.
|
||||
|
||||
For more information on how to use asar integrity validation please read the [Asar Integrity](asar-integrity.md) documentation.
|
||||
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -77,11 +77,6 @@ To clear the list of recent documents, use the
|
||||
In this guide, the list of documents is cleared once all windows have been
|
||||
closed.
|
||||
|
||||
#### Accessing the list of recent documents
|
||||
|
||||
To access the list of recent documents, use the
|
||||
[app.getRecentDocuments][getrecentdocuments] API.
|
||||
|
||||
## Additional information
|
||||
|
||||
### Windows Notes
|
||||
@@ -143,6 +138,5 @@ of `app` module will be emitted for it.
|
||||
[dock-menu-image]: https://cloud.githubusercontent.com/assets/639601/5069610/2aa80758-6e97-11e4-8cfb-c1a414a10774.png
|
||||
[addrecentdocument]: ../api/app.md#appaddrecentdocumentpath-macos-windows
|
||||
[clearrecentdocuments]: ../api/app.md#appclearrecentdocuments-macos-windows
|
||||
[getrecentdocuments]: ../api/app.md#appgetrecentdocuments-macos-windows
|
||||
[app-registration]: https://learn.microsoft.com/en-us/windows/win32/shell/app-registration
|
||||
[menu-item-image]: https://user-images.githubusercontent.com/3168941/33003655-ea601c3a-cd70-11e7-97fa-7c062149cfb1.png
|
||||
|
||||
@@ -5,8 +5,8 @@ for any Snapcraft environment, including the Ubuntu Software Center.
|
||||
|
||||
## Background and Requirements
|
||||
|
||||
Together with the broader Linux community, Canonical aims to address common
|
||||
software installation issues through the [`snapcraft`](https://snapcraft.io/)
|
||||
Together with the broader Linux community, Canonical aims to fix many of the
|
||||
common software installation problems with the [`snapcraft`](https://snapcraft.io/)
|
||||
project. Snaps are containerized software packages that include required
|
||||
dependencies, auto-update, and work on all major Linux distributions without
|
||||
system modification.
|
||||
@@ -83,14 +83,7 @@ snap(options)
|
||||
|
||||
### Step 1: Create Sample Snapcraft Project
|
||||
|
||||
```sh
|
||||
$ npx create-electron-app@latest my-app
|
||||
```
|
||||
|
||||
### Step 2: Create Sample Snapcraft Project
|
||||
|
||||
Create a `snap` directory in your project root and add the following to
|
||||
`snap/snapcraft.yaml`:
|
||||
Create your project directory and add the following to `snap/snapcraft.yaml`:
|
||||
|
||||
```yaml
|
||||
name: electron-packager-hello-world
|
||||
@@ -104,7 +97,7 @@ grade: stable
|
||||
|
||||
apps:
|
||||
electron-packager-hello-world:
|
||||
command: my-app/my-app --no-sandbox
|
||||
command: electron-quick-start/electron-quick-start --no-sandbox
|
||||
extensions: [gnome]
|
||||
plugs:
|
||||
- browser-support
|
||||
@@ -116,13 +109,13 @@ apps:
|
||||
TMPDIR: $XDG_RUNTIME_DIR
|
||||
|
||||
parts:
|
||||
my-app:
|
||||
electron-quick-start:
|
||||
plugin: nil
|
||||
source: .
|
||||
source: https://github.com/electron/electron-quick-start.git
|
||||
override-build: |
|
||||
npm install electron @electron/packager
|
||||
npx electron-packager . --overwrite --platform=linux --output=release-build --prune=true
|
||||
cp -rv ./my-app-linux-* $SNAPCRAFT_PART_INSTALL/my-app
|
||||
cp -rv ./electron-quick-start-linux-* $SNAPCRAFT_PART_INSTALL/electron-quick-start
|
||||
build-snaps:
|
||||
- node/14/stable
|
||||
build-packages:
|
||||
@@ -132,10 +125,12 @@ parts:
|
||||
- libnspr4
|
||||
```
|
||||
|
||||
If you want to apply this example to an existing project, replace all instances
|
||||
of `my-app` with your project's name.
|
||||
If you want to apply this example to an existing project:
|
||||
|
||||
### Step 3: Build the snap
|
||||
- Replace `source: https://github.com/electron/electron-quick-start.git` with `source: .`.
|
||||
- Replace all instances of `electron-quick-start` with your project's name.
|
||||
|
||||
### Step 2: Build the snap
|
||||
|
||||
```sh
|
||||
$ snapcraft
|
||||
@@ -144,13 +139,13 @@ $ snapcraft
|
||||
Snapped electron-packager-hello-world_0.1_amd64.snap
|
||||
```
|
||||
|
||||
### Step 4: Install the snap
|
||||
### Step 3: Install the snap
|
||||
|
||||
```sh
|
||||
sudo snap install electron-packager-hello-world_0.1_amd64.snap --dangerous
|
||||
```
|
||||
|
||||
### Step 5: Run the snap
|
||||
### Step 4: Run the snap
|
||||
|
||||
```sh
|
||||
electron-packager-hello-world
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 'Prerequisites'
|
||||
description: 'This guide will step you through the process of creating a barebones Hello World app in Electron.'
|
||||
description: 'This guide will step you through the process of creating a barebones Hello World app in Electron, similar to electron/electron-quick-start.'
|
||||
slug: tutorial-prerequisites
|
||||
hide_title: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 'Building your First App'
|
||||
description: 'This guide will step you through the process of creating a barebones Hello World app in Electron.'
|
||||
description: 'This guide will step you through the process of creating a barebones Hello World app in Electron, similar to electron/electron-quick-start.'
|
||||
slug: tutorial-first-app
|
||||
hide_title: false
|
||||
---
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: 'Using Preload Scripts'
|
||||
description: 'This guide will step you through the process of creating a barebones Hello World app in Electron.'
|
||||
description: 'This guide will step you through the process of creating a barebones Hello World app in Electron, similar to electron/electron-quick-start.'
|
||||
slug: tutorial-preload
|
||||
hide_title: false
|
||||
---
|
||||
|
||||
@@ -1,35 +0,0 @@
|
||||
# Copyright 2024 The Electron Authors. All rights reserved.
|
||||
# Use of this source code is governed by a BSD-style license that can be
|
||||
# found in the LICENSE file.
|
||||
|
||||
# The set of path prefixes that should be checked for unsafe buffer usage (see
|
||||
# -Wunsafe-buffer-usage in Clang).
|
||||
#
|
||||
# ***
|
||||
# Paths should be written as relative to the root of the source tree with
|
||||
# unix-style path separators. Directory prefixes should end with `/`, such
|
||||
# as `base/`.
|
||||
# ***
|
||||
#
|
||||
# Files in this set are known to not use pointer arithmetic/subscripting, and
|
||||
# make use of constructs like base::span or containers like std::vector instead.
|
||||
#
|
||||
# See `docs/unsafe_buffers.md`.
|
||||
|
||||
# These directories are excluded because they come from outside Electron and
|
||||
# we don't have control over their contents.
|
||||
-base/
|
||||
-chrome/
|
||||
-components/
|
||||
-content/browser/indexed_db
|
||||
-device/
|
||||
-extensions/
|
||||
-google_apis/
|
||||
-net/
|
||||
-services/
|
||||
-skia/
|
||||
-third_party/
|
||||
-tools/
|
||||
-ui/
|
||||
-url/
|
||||
-v8/
|
||||
@@ -479,7 +479,6 @@ filenames = {
|
||||
"shell/browser/osr/osr_web_contents_view.h",
|
||||
"shell/browser/plugins/plugin_utils.cc",
|
||||
"shell/browser/plugins/plugin_utils.h",
|
||||
"shell/browser/preload_script.cc",
|
||||
"shell/browser/preload_script.h",
|
||||
"shell/browser/protocol_registry.cc",
|
||||
"shell/browser/protocol_registry.h",
|
||||
|
||||
@@ -65,6 +65,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__algorithm/next_permutation.h",
|
||||
"//third_party/libc++/src/include/__algorithm/none_of.h",
|
||||
"//third_party/libc++/src/include/__algorithm/nth_element.h",
|
||||
"//third_party/libc++/src/include/__algorithm/out_value_result.h",
|
||||
"//third_party/libc++/src/include/__algorithm/partial_sort.h",
|
||||
"//third_party/libc++/src/include/__algorithm/partial_sort_copy.h",
|
||||
"//third_party/libc++/src/include/__algorithm/partition.h",
|
||||
@@ -341,7 +342,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/all_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/any_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/binary_search.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/clamp.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/comp.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/comp_ref_type.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/copy.h",
|
||||
@@ -361,19 +361,11 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/find_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/find_if_not.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/find_segment_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/fold.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/for_each.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/for_each_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/for_each_segment.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/generate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/generate_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/half_positive.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_found_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_fun_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_in_out_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_in_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_out_out_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/in_out_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/includes.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/inplace_merge.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/is_heap.h",
|
||||
@@ -385,7 +377,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/iter_swap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/iterator_operations.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/lexicographical_compare.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/lexicographical_compare_three_way.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/lower_bound.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/make_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/make_projected.h",
|
||||
@@ -394,7 +385,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/merge.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/min.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/min_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/min_max_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/minmax.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/minmax_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/mismatch.h",
|
||||
@@ -410,99 +400,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/partition_point.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/pop_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/prev_permutation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/pstl.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/push_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_adjacent_find.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_all_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_any_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_binary_search.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_clamp.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_contains.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_contains_subrange.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_copy_backward.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_copy_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_copy_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_count.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_count_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_ends_with.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_equal.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_equal_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_fill.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_fill_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find_end.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find_first_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find_if_not.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_find_last.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_for_each.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_for_each_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_generate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_generate_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_includes.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_inplace_merge.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_heap_until.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_partitioned.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_permutation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_sorted.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_is_sorted_until.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_iterator_concept.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_lexicographical_compare.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_lower_bound.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_make_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_max.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_max_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_merge.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_min.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_min_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_minmax.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_minmax_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_mismatch.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_move.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_move_backward.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_next_permutation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_none_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_nth_element.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_partial_sort.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_partial_sort_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_partition.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_partition_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_partition_point.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_pop_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_prev_permutation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_push_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_remove.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_remove_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_remove_copy_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_remove_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_replace.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_replace_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_replace_copy_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_replace_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_reverse.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_reverse_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_rotate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_rotate_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_sample.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_search.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_search_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_set_difference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_set_intersection.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_set_symmetric_difference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_set_union.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_shuffle.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_sort.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_sort_heap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_stable_partition.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_stable_sort.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_starts_with.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_swap_ranges.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_transform.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_unique.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_unique_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/ranges_upper_bound.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/remove.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/remove_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/remove_copy_if.h",
|
||||
@@ -515,15 +413,12 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/reverse_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/rotate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/rotate_copy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/sample.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/search.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/search_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/set_difference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/set_intersection.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/set_symmetric_difference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/set_union.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/shift_left.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/shift_right.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/shuffle.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/sift_down.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__algorithm/simd_utils.h",
|
||||
@@ -547,7 +442,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/atomic_flag.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/atomic_init.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/atomic_lock_free.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/atomic_ref.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/atomic_sync.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/check_memory_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/contention_t.h",
|
||||
@@ -557,100 +451,19 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/kill_dependency.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/memory_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__atomic/to_gcc_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/bit_cast.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/bit_ceil.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/bit_floor.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/bit_log2.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/bit_width.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/blsr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/byteswap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/countl.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/countr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/endian.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/has_single_bit.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/invert_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/popcount.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit/rotate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__bit_reference",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/chars_format.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/from_chars_integral.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/from_chars_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/tables.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/to_chars.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/to_chars_base_10.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/to_chars_floating_point.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/to_chars_integral.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/to_chars_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__charconv/traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/calendar.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/convert_to_timespec.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/convert_to_tm.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/day.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/duration.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/exception.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/file_clock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/formatter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/hh_mm_ss.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/high_resolution_clock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/leap_second.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/literals.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/local_info.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/month.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/month_weekday.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/monthday.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/ostream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/parser_std_format_spec.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/statically_widen.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/steady_clock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/sys_info.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/system_clock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/time_point.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/time_zone.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/time_zone_link.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/tzdb.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/tzdb_list.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/weekday.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/year.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/year_month.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/year_month_day.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/year_month_weekday.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__chrono/zoned_time.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/common_comparison_category.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/compare_partial_order_fallback.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/compare_strong_order_fallback.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/compare_three_way.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/compare_three_way_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/compare_weak_order_fallback.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/is_eq.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/ordering.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/partial_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/strong_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/synth_three_way.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/three_way_comparable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__compare/weak_order.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/arithmetic.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/assignable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/boolean_testable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/class_or_enum.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/common_reference_with.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/common_with.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/constructible.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/convertible_to.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/copyable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/derived_from.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/destructible.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/different_from.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/equality_comparable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/invocable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/movable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/predicate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/regular.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/relation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/same_as.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/semiregular.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/swappable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__concepts/totally_ordered.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__condition_variable/condition_variable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__config",
|
||||
"//third_party/libc++/src/include/__cxx03/__config_site.in",
|
||||
@@ -660,10 +473,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__configuration/config_site_shim.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__configuration/language.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__configuration/platform.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__coroutine/coroutine_handle.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__coroutine/coroutine_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__coroutine/noop_coroutine_handle.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__coroutine/trivial_awaitables.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__debug_utils/randomize_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__debug_utils/sanitizers.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__debug_utils/strict_weak_ordering_check.h",
|
||||
@@ -672,81 +481,18 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__exception/nested_exception.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__exception/operations.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__exception/terminate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__expected/bad_expected_access.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__expected/expected.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__expected/unexpect.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__expected/unexpected.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/copy_options.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/directory_entry.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/directory_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/directory_options.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/file_status.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/file_time_type.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/file_type.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/filesystem_error.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/operations.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/path.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/path_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/perm_options.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/perms.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/recursive_directory_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/space_info.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__filesystem/u8path.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/buffer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/container_adaptor.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/enable_insertable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/escaped_output_table.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/extended_grapheme_cluster_table.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_arg.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_arg_store.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_args.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_context.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_error.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_functions.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_parse_context.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_string.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/format_to_n_result.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_bool.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_char.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_floating_point.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_integer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_integral.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_output.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_pointer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_string.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/formatter_tuple.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/indic_conjunct_break_table.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/parser_std_format_spec.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/range_default_formatter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/range_formatter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/unicode.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/width_estimation_table.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__format/write_escaped.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/binary_function.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/binary_negate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/bind.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/bind_back.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/bind_front.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/binder1st.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/binder2nd.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/boyer_moore_searcher.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/compose.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/default_searcher.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/function.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/hash.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/identity.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/invoke.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/is_transparent.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/mem_fn.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/mem_fun_ref.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/not_fn.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/operations.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/perfect_forward.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/pointer_to_binary_function.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/pointer_to_unary_function.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/ranges_operations.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/reference_wrapper.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/unary_function.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__functional/unary_negate.h",
|
||||
@@ -755,24 +501,19 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/bit_reference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/complex.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/deque.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/format.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/fstream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/functional.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/ios.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/istream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/mdspan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/memory.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/memory_resource.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/ostream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/pair.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/queue.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/span.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/sstream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/stack.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/streambuf.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/string.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/string_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/subrange.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/tuple.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__fwd/vector.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__hash_table",
|
||||
@@ -782,43 +523,22 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/aliasing_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/back_insert_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/bounded_iter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/common_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/counted_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/cpp17_iterator_concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/data.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/default_sentinel.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/distance.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/empty.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/erase_if_container.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/front_insert_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/incrementable_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/indirectly_comparable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/insert_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/istream_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/istreambuf_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/iter_move.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/iter_swap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/iterator_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/iterator_with_data.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/mergeable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/move_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/move_sentinel.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/next.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/ostream_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/ostreambuf_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/permutable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/prev.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/projected.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/ranges_iterator_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/readable_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/reverse_access.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/reverse_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/segmented_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/size.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/sortable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/unreachable_sentinel.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__iterator/wrap_iter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__locale",
|
||||
"//third_party/libc++/src/include/__cxx03/__locale_dir/locale_base_api/android.h",
|
||||
@@ -849,16 +569,9 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__math/remainder.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__math/roots.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__math/rounding_functions.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__math/special_functions.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__math/traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__math/trigonometric_functions.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mbstate_t.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/default_accessor.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/extents.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/layout_left.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/layout_right.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/layout_stride.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mdspan/mdspan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/addressof.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/align.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/aligned_alloc.h",
|
||||
@@ -872,14 +585,9 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/auto_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/builtin_new_allocator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/compressed_pair.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/construct_at.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/destruct_n.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/inout_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/out_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/pointer_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/ranges_construct_at.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/ranges_uninitialized_algorithms.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/raw_storage_iterator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/shared_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/swap_allocator.h",
|
||||
@@ -888,54 +596,18 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/uninitialized_algorithms.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/unique_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/uses_allocator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/uses_allocator_construction.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory/voidify.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/memory_resource.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/monotonic_buffer_resource.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/polymorphic_allocator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/pool_options.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/synchronized_pool_resource.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__memory_resource/unsynchronized_pool_resource.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mutex/lock_guard.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mutex/mutex.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mutex/once_flag.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mutex/tag_types.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__mutex/unique_lock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__node_handle",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/accumulate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/adjacent_difference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/exclusive_scan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/gcd_lcm.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/inclusive_scan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/inner_product.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/iota.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/midpoint.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/partial_sum.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/pstl.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/reduce.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/saturation_arithmetic.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/transform_exclusive_scan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/transform_inclusive_scan.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__numeric/transform_reduce.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ostream/basic_ostream.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ostream/print.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backend.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backend_fwd.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backends/default.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backends/libdispatch.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backends/serial.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/backends/std_thread.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/any_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/cpu_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/fill.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/find_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/for_each.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/merge.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/stable_sort.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/transform.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/cpu_algos/transform_reduce.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/dispatch.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__pstl/handle_exception.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/bernoulli_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/binomial_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/cauchy_distribution.h",
|
||||
@@ -970,62 +642,11 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__random/student_t_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/subtract_with_carry_engine.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/uniform_int_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/uniform_random_bit_generator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/uniform_real_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__random/weibull_distribution.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/access.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/all.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/as_rvalue_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/chunk_by_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/common_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/concepts.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/container_compatible_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/counted.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/dangling.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/data.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/drop_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/drop_while_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/elements_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/empty.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/empty_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/enable_borrowed_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/enable_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/filter_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/from_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/iota_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/istream_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/join_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/lazy_split_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/movable_box.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/non_propagating_cache.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/owning_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/range_adaptor.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/rbegin.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/ref_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/rend.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/repeat_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/reverse_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/single_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/size.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/split_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/subrange.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/take_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/take_while_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/to.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/transform_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/view_interface.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/views.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__ranges/zip_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__split_buffer",
|
||||
"//third_party/libc++/src/include/__cxx03/__std_clang_module",
|
||||
"//third_party/libc++/src/include/__cxx03/__std_mbstate_t.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/atomic_unique_lock.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/intrusive_list_view.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/intrusive_shared_ptr.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/stop_callback.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/stop_source.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/stop_state.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__stop_token/stop_token.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__string/char_traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__string/constexpr_c_functions.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__string/extern_template_lists.h",
|
||||
@@ -1040,9 +661,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__system_error/error_code.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__system_error/error_condition.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__system_error/system_error.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/formatter.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/id.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/jthread.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/poll_with_backoff.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/support/c11.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/support/external.h",
|
||||
@@ -1054,7 +673,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__thread/timed_backoff_policy.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__tree",
|
||||
"//third_party/libc++/src/include/__cxx03/__tuple/find_index.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__tuple/ignore.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__tuple/make_tuple_types.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__tuple/sfinae_helpers.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__tuple/tuple_element.h",
|
||||
@@ -1074,7 +692,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/aligned_union.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/alignment_of.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/can_extract_key.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/common_reference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/common_type.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/conditional.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/conjunction.h",
|
||||
@@ -1087,12 +704,10 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/disjunction.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/enable_if.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/extent.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/has_unique_object_representation.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/has_virtual_destructor.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/integral_constant.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/invoke.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_abstract.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_aggregate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_allocator.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_always_bitcastable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_arithmetic.h",
|
||||
@@ -1124,7 +739,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_member_pointer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_nothrow_assignable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_nothrow_constructible.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_nothrow_convertible.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_nothrow_destructible.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_null_pointer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/is_object.h",
|
||||
@@ -1184,18 +798,13 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/unwrap_ref.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__type_traits/void_t.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__undef_macros",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/as_const.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/as_lvalue.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/auto_cast.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/cmp.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/convert_to_integral.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/declval.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/empty.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/exception_guard.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/exchange.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/forward.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/forward_like.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/in_place.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/integer_sequence.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/is_pointer_in_range.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/is_valid_range.h",
|
||||
@@ -1208,16 +817,12 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/rel_ops.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/small_buffer.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/swap.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/to_underlying.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__utility/unreachable.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__variant/monostate.h",
|
||||
"//third_party/libc++/src/include/__cxx03/__verbose_abort",
|
||||
"//third_party/libc++/src/include/__cxx03/algorithm",
|
||||
"//third_party/libc++/src/include/__cxx03/any",
|
||||
"//third_party/libc++/src/include/__cxx03/array",
|
||||
"//third_party/libc++/src/include/__cxx03/atomic",
|
||||
"//third_party/libc++/src/include/__cxx03/barrier",
|
||||
"//third_party/libc++/src/include/__cxx03/bit",
|
||||
"//third_party/libc++/src/include/__cxx03/bitset",
|
||||
"//third_party/libc++/src/include/__cxx03/cassert",
|
||||
"//third_party/libc++/src/include/__cxx03/ccomplex",
|
||||
@@ -1225,7 +830,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/cerrno",
|
||||
"//third_party/libc++/src/include/__cxx03/cfenv",
|
||||
"//third_party/libc++/src/include/__cxx03/cfloat",
|
||||
"//third_party/libc++/src/include/__cxx03/charconv",
|
||||
"//third_party/libc++/src/include/__cxx03/chrono",
|
||||
"//third_party/libc++/src/include/__cxx03/cinttypes",
|
||||
"//third_party/libc++/src/include/__cxx03/ciso646",
|
||||
@@ -1233,12 +837,9 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/clocale",
|
||||
"//third_party/libc++/src/include/__cxx03/cmath",
|
||||
"//third_party/libc++/src/include/__cxx03/codecvt",
|
||||
"//third_party/libc++/src/include/__cxx03/compare",
|
||||
"//third_party/libc++/src/include/__cxx03/complex",
|
||||
"//third_party/libc++/src/include/__cxx03/complex.h",
|
||||
"//third_party/libc++/src/include/__cxx03/concepts",
|
||||
"//third_party/libc++/src/include/__cxx03/condition_variable",
|
||||
"//third_party/libc++/src/include/__cxx03/coroutine",
|
||||
"//third_party/libc++/src/include/__cxx03/csetjmp",
|
||||
"//third_party/libc++/src/include/__cxx03/csignal",
|
||||
"//third_party/libc++/src/include/__cxx03/cstdarg",
|
||||
@@ -1257,36 +858,17 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/deque",
|
||||
"//third_party/libc++/src/include/__cxx03/errno.h",
|
||||
"//third_party/libc++/src/include/__cxx03/exception",
|
||||
"//third_party/libc++/src/include/__cxx03/execution",
|
||||
"//third_party/libc++/src/include/__cxx03/expected",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__config",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/aligned_tag.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/declaration.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/reference.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/scalar.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/simd.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/simd_mask.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/traits.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/utility.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/__simd/vec_ext.h",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/iterator",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/memory",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/propagate_const",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/simd",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/type_traits",
|
||||
"//third_party/libc++/src/include/__cxx03/experimental/utility",
|
||||
"//third_party/libc++/src/include/__cxx03/ext/__hash",
|
||||
"//third_party/libc++/src/include/__cxx03/ext/hash_map",
|
||||
"//third_party/libc++/src/include/__cxx03/ext/hash_set",
|
||||
"//third_party/libc++/src/include/__cxx03/fenv.h",
|
||||
"//third_party/libc++/src/include/__cxx03/filesystem",
|
||||
"//third_party/libc++/src/include/__cxx03/float.h",
|
||||
"//third_party/libc++/src/include/__cxx03/format",
|
||||
"//third_party/libc++/src/include/__cxx03/forward_list",
|
||||
"//third_party/libc++/src/include/__cxx03/fstream",
|
||||
"//third_party/libc++/src/include/__cxx03/functional",
|
||||
"//third_party/libc++/src/include/__cxx03/future",
|
||||
"//third_party/libc++/src/include/__cxx03/initializer_list",
|
||||
"//third_party/libc++/src/include/__cxx03/inttypes.h",
|
||||
"//third_party/libc++/src/include/__cxx03/iomanip",
|
||||
"//third_party/libc++/src/include/__cxx03/ios",
|
||||
@@ -1294,35 +876,23 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/iostream",
|
||||
"//third_party/libc++/src/include/__cxx03/istream",
|
||||
"//third_party/libc++/src/include/__cxx03/iterator",
|
||||
"//third_party/libc++/src/include/__cxx03/latch",
|
||||
"//third_party/libc++/src/include/__cxx03/limits",
|
||||
"//third_party/libc++/src/include/__cxx03/list",
|
||||
"//third_party/libc++/src/include/__cxx03/locale",
|
||||
"//third_party/libc++/src/include/__cxx03/locale.h",
|
||||
"//third_party/libc++/src/include/__cxx03/map",
|
||||
"//third_party/libc++/src/include/__cxx03/math.h",
|
||||
"//third_party/libc++/src/include/__cxx03/mdspan",
|
||||
"//third_party/libc++/src/include/__cxx03/memory",
|
||||
"//third_party/libc++/src/include/__cxx03/memory_resource",
|
||||
"//third_party/libc++/src/include/__cxx03/module.modulemap",
|
||||
"//third_party/libc++/src/include/__cxx03/mutex",
|
||||
"//third_party/libc++/src/include/__cxx03/new",
|
||||
"//third_party/libc++/src/include/__cxx03/numbers",
|
||||
"//third_party/libc++/src/include/__cxx03/numeric",
|
||||
"//third_party/libc++/src/include/__cxx03/optional",
|
||||
"//third_party/libc++/src/include/__cxx03/ostream",
|
||||
"//third_party/libc++/src/include/__cxx03/print",
|
||||
"//third_party/libc++/src/include/__cxx03/queue",
|
||||
"//third_party/libc++/src/include/__cxx03/random",
|
||||
"//third_party/libc++/src/include/__cxx03/ranges",
|
||||
"//third_party/libc++/src/include/__cxx03/ratio",
|
||||
"//third_party/libc++/src/include/__cxx03/regex",
|
||||
"//third_party/libc++/src/include/__cxx03/scoped_allocator",
|
||||
"//third_party/libc++/src/include/__cxx03/semaphore",
|
||||
"//third_party/libc++/src/include/__cxx03/set",
|
||||
"//third_party/libc++/src/include/__cxx03/shared_mutex",
|
||||
"//third_party/libc++/src/include/__cxx03/source_location",
|
||||
"//third_party/libc++/src/include/__cxx03/span",
|
||||
"//third_party/libc++/src/include/__cxx03/sstream",
|
||||
"//third_party/libc++/src/include/__cxx03/stack",
|
||||
"//third_party/libc++/src/include/__cxx03/stdatomic.h",
|
||||
@@ -1332,17 +902,14 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/stdint.h",
|
||||
"//third_party/libc++/src/include/__cxx03/stdio.h",
|
||||
"//third_party/libc++/src/include/__cxx03/stdlib.h",
|
||||
"//third_party/libc++/src/include/__cxx03/stop_token",
|
||||
"//third_party/libc++/src/include/__cxx03/streambuf",
|
||||
"//third_party/libc++/src/include/__cxx03/string",
|
||||
"//third_party/libc++/src/include/__cxx03/string.h",
|
||||
"//third_party/libc++/src/include/__cxx03/string_view",
|
||||
"//third_party/libc++/src/include/__cxx03/strstream",
|
||||
"//third_party/libc++/src/include/__cxx03/syncstream",
|
||||
"//third_party/libc++/src/include/__cxx03/system_error",
|
||||
"//third_party/libc++/src/include/__cxx03/tgmath.h",
|
||||
"//third_party/libc++/src/include/__cxx03/thread",
|
||||
"//third_party/libc++/src/include/__cxx03/tuple",
|
||||
"//third_party/libc++/src/include/__cxx03/type_traits",
|
||||
"//third_party/libc++/src/include/__cxx03/typeindex",
|
||||
"//third_party/libc++/src/include/__cxx03/typeinfo",
|
||||
@@ -1351,7 +918,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__cxx03/unordered_set",
|
||||
"//third_party/libc++/src/include/__cxx03/utility",
|
||||
"//third_party/libc++/src/include/__cxx03/valarray",
|
||||
"//third_party/libc++/src/include/__cxx03/variant",
|
||||
"//third_party/libc++/src/include/__cxx03/vector",
|
||||
"//third_party/libc++/src/include/__cxx03/version",
|
||||
"//third_party/libc++/src/include/__cxx03/wchar.h",
|
||||
@@ -1390,8 +956,10 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__flat_map/sorted_equivalent.h",
|
||||
"//third_party/libc++/src/include/__flat_map/sorted_unique.h",
|
||||
"//third_party/libc++/src/include/__flat_map/utils.h",
|
||||
"//third_party/libc++/src/include/__flat_set/flat_multiset.h",
|
||||
"//third_party/libc++/src/include/__flat_set/flat_set.h",
|
||||
"//third_party/libc++/src/include/__flat_set/ra_iterator.h",
|
||||
"//third_party/libc++/src/include/__flat_set/utils.h",
|
||||
"//third_party/libc++/src/include/__format/buffer.h",
|
||||
"//third_party/libc++/src/include/__format/concepts.h",
|
||||
"//third_party/libc++/src/include/__format/container_adaptor.h",
|
||||
@@ -1563,6 +1131,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__math/traits.h",
|
||||
"//third_party/libc++/src/include/__math/trigonometric_functions.h",
|
||||
"//third_party/libc++/src/include/__mbstate_t.h",
|
||||
"//third_party/libc++/src/include/__mdspan/aligned_accessor.h",
|
||||
"//third_party/libc++/src/include/__mdspan/default_accessor.h",
|
||||
"//third_party/libc++/src/include/__mdspan/extents.h",
|
||||
"//third_party/libc++/src/include/__mdspan/layout_left.h",
|
||||
@@ -1587,6 +1156,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__memory/destroy.h",
|
||||
"//third_party/libc++/src/include/__memory/destruct_n.h",
|
||||
"//third_party/libc++/src/include/__memory/inout_ptr.h",
|
||||
"//third_party/libc++/src/include/__memory/is_sufficiently_aligned.h",
|
||||
"//third_party/libc++/src/include/__memory/noexcept_move_assign_container.h",
|
||||
"//third_party/libc++/src/include/__memory/out_ptr.h",
|
||||
"//third_party/libc++/src/include/__memory/pointer_traits.h",
|
||||
@@ -1636,6 +1206,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__numeric/midpoint.h",
|
||||
"//third_party/libc++/src/include/__numeric/partial_sum.h",
|
||||
"//third_party/libc++/src/include/__numeric/pstl.h",
|
||||
"//third_party/libc++/src/include/__numeric/ranges_iota.h",
|
||||
"//third_party/libc++/src/include/__numeric/reduce.h",
|
||||
"//third_party/libc++/src/include/__numeric/saturation_arithmetic.h",
|
||||
"//third_party/libc++/src/include/__numeric/transform_exclusive_scan.h",
|
||||
@@ -1850,7 +1421,6 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/__type_traits/is_member_pointer.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_nothrow_assignable.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_nothrow_constructible.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_nothrow_convertible.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_nothrow_destructible.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_null_pointer.h",
|
||||
"//third_party/libc++/src/include/__type_traits/is_object.h",
|
||||
@@ -2042,7 +1612,7 @@ libcxx_headers = [
|
||||
"//third_party/libc++/src/include/mdspan",
|
||||
"//third_party/libc++/src/include/memory",
|
||||
"//third_party/libc++/src/include/memory_resource",
|
||||
"//third_party/libc++/src/include/module.modulemap",
|
||||
"//third_party/libc++/src/include/module.modulemap.in",
|
||||
"//third_party/libc++/src/include/mutex",
|
||||
"//third_party/libc++/src/include/new",
|
||||
"//third_party/libc++/src/include/numbers",
|
||||
|
||||
@@ -204,7 +204,7 @@ delete process.appCodeLoaded;
|
||||
if (packagePath) {
|
||||
// Finally load app's main.js and transfer control to C++.
|
||||
if ((packageJson.type === 'module' && !mainStartupScript.endsWith('.cjs')) || mainStartupScript.endsWith('.mjs')) {
|
||||
const { runEntryPointWithESMLoader } = __non_webpack_require__('internal/modules/run_main') as typeof import('@node/lib/internal/modules/run_main');
|
||||
const { runEntryPointWithESMLoader } = __non_webpack_require__('internal/modules/run_main');
|
||||
const main = (require('url') as typeof url).pathToFileURL(path.join(packagePath, mainStartupScript));
|
||||
runEntryPointWithESMLoader(async (cascadedLoader: any) => {
|
||||
try {
|
||||
|
||||
@@ -288,12 +288,8 @@ function parseOptions (optionsIn: ClientRequestConstructorOptions | string): Nod
|
||||
origin: options.origin,
|
||||
referrerPolicy: options.referrerPolicy,
|
||||
cache: options.cache,
|
||||
allowNonHttpProtocols: Object.hasOwn(options, kAllowNonHttpProtocols),
|
||||
priority: options.priority
|
||||
allowNonHttpProtocols: Object.hasOwn(options, kAllowNonHttpProtocols)
|
||||
};
|
||||
if ('priorityIncremental' in options) {
|
||||
urlLoaderOptions.priorityIncremental = options.priorityIncremental;
|
||||
}
|
||||
const headers: Record<string, string | string[]> = options.headers || {};
|
||||
for (const [name, value] of Object.entries(headers)) {
|
||||
validateHeader(name, value);
|
||||
|
||||
@@ -93,23 +93,20 @@ makeElectronModule('electron');
|
||||
makeElectronModule('electron/common');
|
||||
if (process.type === 'browser') {
|
||||
makeElectronModule('electron/main');
|
||||
} else if (process.type === 'renderer') {
|
||||
}
|
||||
if (process.type === 'renderer') {
|
||||
makeElectronModule('electron/renderer');
|
||||
} else if (process.type === 'utility') {
|
||||
makeElectronModule('electron/utility');
|
||||
}
|
||||
|
||||
const originalResolveFilename = Module._resolveFilename;
|
||||
|
||||
// 'electron/{common,main,renderer,utility}' are module aliases
|
||||
// 'electron/main', 'electron/renderer' and 'electron/common' are module aliases
|
||||
// of the 'electron' module for TypeScript purposes, i.e., the types for
|
||||
// 'electron/main' consist of only main process modules, etc. It is intentional
|
||||
// that these can be `require()`-ed from both the main process as well as the
|
||||
// renderer process regardless of the names, they're superficial for TypeScript
|
||||
// only.
|
||||
const electronModuleNames = new Set([
|
||||
'electron', 'electron/main', 'electron/renderer', 'electron/common', 'electron/utility'
|
||||
]);
|
||||
const electronModuleNames = new Set(['electron', 'electron/main', 'electron/renderer', 'electron/common']);
|
||||
Module._resolveFilename = function (request, parent, isMain, options) {
|
||||
if (electronModuleNames.has(request)) {
|
||||
return 'electron';
|
||||
|
||||
@@ -52,20 +52,16 @@ const {
|
||||
getValidatedPath,
|
||||
getOptions,
|
||||
getDirent
|
||||
} = __non_webpack_require__('internal/fs/utils') as typeof import('@node/lib/internal/fs/utils');
|
||||
|
||||
const {
|
||||
assignFunctionName
|
||||
} = __non_webpack_require__('internal/util') as typeof import('@node/lib/internal/util');
|
||||
} = __non_webpack_require__('internal/fs/utils');
|
||||
|
||||
const {
|
||||
validateBoolean,
|
||||
validateFunction
|
||||
} = __non_webpack_require__('internal/validators') as typeof import('@node/lib/internal/validators');
|
||||
} = __non_webpack_require__('internal/validators');
|
||||
|
||||
// In the renderer node internals use the node global URL but we do not set that to be
|
||||
// the global URL instance. We need to do instanceof checks against the internal URL impl
|
||||
const { URL: NodeURL } = __non_webpack_require__('internal/url') as typeof import('@node/lib/internal/url');
|
||||
const { URL: NodeURL } = __non_webpack_require__('internal/url');
|
||||
|
||||
// Separate asar package's path from full path.
|
||||
const splitPath = (archivePathOrBuffer: string | Buffer | URL) => {
|
||||
@@ -239,10 +235,7 @@ const overrideAPI = function (module: Record<string, any>, name: string, pathArg
|
||||
};
|
||||
|
||||
if (old[util.promisify.custom]) {
|
||||
module[name][util.promisify.custom] = assignFunctionName(
|
||||
name,
|
||||
makePromiseFunction(old[util.promisify.custom], pathArgumentIndex)
|
||||
);
|
||||
module[name][util.promisify.custom] = makePromiseFunction(old[util.promisify.custom], pathArgumentIndex);
|
||||
}
|
||||
|
||||
if (module.promises && module.promises[name]) {
|
||||
@@ -742,11 +735,11 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
}
|
||||
|
||||
const dirent = getDirent(currentPath, result[0][i], type);
|
||||
const stat = internalBinding('fs').internalModuleStat(resultPath);
|
||||
const stat = internalBinding('fs').internalModuleStat(binding, resultPath);
|
||||
|
||||
context.readdirResults.push(dirent);
|
||||
if (dirent!.isDirectory() || stat === 1) {
|
||||
context.pathsQueue.push(path.join(dirent!.path, dirent!.name));
|
||||
if (dirent.isDirectory() || stat === 1) {
|
||||
context.pathsQueue.push(path.join(dirent.path, dirent.name));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -755,7 +748,7 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
for (let i = 0; i < result.length; i++) {
|
||||
const resultPath = path.join(currentPath, result[i]);
|
||||
const relativeResultPath = path.relative(context.basePath, resultPath);
|
||||
const stat = internalBinding('fs').internalModuleStat(resultPath);
|
||||
const stat = internalBinding('fs').internalModuleStat(binding, resultPath);
|
||||
context.readdirResults.push(relativeResultPath);
|
||||
|
||||
if (stat === 1) {
|
||||
@@ -825,7 +818,7 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
if (context.withFileTypes) {
|
||||
readdirResult = [
|
||||
[...readdirResult], readdirResult.map((p: string) => {
|
||||
return internalBinding('fs').internalModuleStat(path.join(pathArg, p));
|
||||
return internalBinding('fs').internalModuleStat(binding, path.join(pathArg, p));
|
||||
})
|
||||
];
|
||||
}
|
||||
@@ -857,13 +850,13 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
const { readdir } = fs;
|
||||
fs.readdir = function (pathArgument: string, options: ReaddirOptions, callback: ReaddirCallback) {
|
||||
callback = typeof options === 'function' ? options : callback;
|
||||
validateFunction(callback, 'callback')!;
|
||||
validateFunction(callback, 'callback');
|
||||
|
||||
options = getOptions(options);
|
||||
pathArgument = getValidatedPath(pathArgument);
|
||||
|
||||
if (options?.recursive != null) {
|
||||
validateBoolean(options?.recursive, 'options.recursive')!;
|
||||
validateBoolean(options?.recursive, 'options.recursive');
|
||||
}
|
||||
|
||||
if (options?.recursive) {
|
||||
@@ -914,7 +907,7 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
pathArgument = getValidatedPath(pathArgument);
|
||||
|
||||
if (options?.recursive != null) {
|
||||
validateBoolean(options?.recursive, 'options.recursive')!;
|
||||
validateBoolean(options?.recursive, 'options.recursive');
|
||||
}
|
||||
|
||||
if (options?.recursive) {
|
||||
@@ -957,7 +950,7 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
pathArgument = getValidatedPath(pathArgument);
|
||||
|
||||
if (options?.recursive != null) {
|
||||
validateBoolean(options?.recursive, 'options.recursive')!;
|
||||
validateBoolean(options?.recursive, 'options.recursive');
|
||||
}
|
||||
|
||||
if (options?.recursive) {
|
||||
@@ -1010,9 +1003,9 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
});
|
||||
|
||||
const { internalModuleStat } = binding;
|
||||
internalBinding('fs').internalModuleStat = (pathArgument: string) => {
|
||||
internalBinding('fs').internalModuleStat = (receiver: unknown, pathArgument: string) => {
|
||||
const pathInfo = splitPath(pathArgument);
|
||||
if (!pathInfo.isAsar) return internalModuleStat(pathArgument);
|
||||
if (!pathInfo.isAsar) return internalModuleStat(receiver, pathArgument);
|
||||
const { asarPath, filePath } = pathInfo;
|
||||
|
||||
// -ENOENT
|
||||
@@ -1047,7 +1040,7 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
if (withFileTypes) {
|
||||
initialItem = [
|
||||
[...initialItem], initialItem.map((p: string) => {
|
||||
return internalBinding('fs').internalModuleStat(path.join(originalPath, p));
|
||||
return internalBinding('fs').internalModuleStat(binding, path.join(originalPath, p));
|
||||
})
|
||||
];
|
||||
}
|
||||
@@ -1080,7 +1073,7 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
|
||||
readdirResult = [
|
||||
[...files], files.map((p: string) => {
|
||||
return internalBinding('fs').internalModuleStat(path.join(direntPath, p));
|
||||
return internalBinding('fs').internalModuleStat(binding, path.join(direntPath, p));
|
||||
})
|
||||
];
|
||||
} else {
|
||||
@@ -1101,7 +1094,7 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
const { 0: pathArg, 1: readDir } = queue.pop();
|
||||
for (const ent of readDir) {
|
||||
const direntPath = path.join(pathArg, ent);
|
||||
const stat = internalBinding('fs').internalModuleStat(direntPath);
|
||||
const stat = internalBinding('fs').internalModuleStat(binding, direntPath);
|
||||
result.push(path.relative(originalPath, direntPath));
|
||||
|
||||
if (stat === 1) {
|
||||
@@ -1155,7 +1148,7 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
if (context.withFileTypes) {
|
||||
readdirResult = [
|
||||
[...readdirResult], readdirResult.map((p: string) => {
|
||||
return internalBinding('fs').internalModuleStat(path.join(pathArg, p));
|
||||
return internalBinding('fs').internalModuleStat(binding, path.join(pathArg, p));
|
||||
})
|
||||
];
|
||||
}
|
||||
@@ -1245,7 +1238,7 @@ export const wrapFsWithAsar = (fs: Record<string, any>) => {
|
||||
// command as a single path to an archive.
|
||||
const { exec, execSync } = childProcess;
|
||||
childProcess.exec = invokeWithNoAsar(exec);
|
||||
childProcess.exec[util.promisify.custom] = assignFunctionName('exec', invokeWithNoAsar(exec[util.promisify.custom]));
|
||||
childProcess.exec[util.promisify.custom] = invokeWithNoAsar(exec[util.promisify.custom]);
|
||||
childProcess.execSync = invokeWithNoAsar(execSync);
|
||||
|
||||
overrideAPI(childProcess, 'execFile');
|
||||
|
||||
@@ -65,9 +65,9 @@ require('@electron/internal/renderer/common-init');
|
||||
|
||||
if (nodeIntegration) {
|
||||
// Export node bindings to global.
|
||||
const { makeRequireFunction } = __non_webpack_require__('internal/modules/helpers') as typeof import('@node/lib/internal/modules/helpers');
|
||||
const { makeRequireFunction } = __non_webpack_require__('internal/modules/helpers');
|
||||
global.module = new Module('electron/js2c/renderer_init');
|
||||
global.require = makeRequireFunction(global.module) as NodeRequire;
|
||||
global.require = makeRequireFunction(global.module);
|
||||
|
||||
// Set the __filename to the path of html file if it is file: protocol.
|
||||
if (window.location.protocol === 'file:') {
|
||||
@@ -150,7 +150,7 @@ if (cjsPreloads.length) {
|
||||
}
|
||||
}
|
||||
if (esmPreloads.length) {
|
||||
const { runEntryPointWithESMLoader } = __non_webpack_require__('internal/modules/run_main') as typeof import('@node/lib/internal/modules/run_main');
|
||||
const { runEntryPointWithESMLoader } = __non_webpack_require__('internal/modules/run_main');
|
||||
|
||||
runEntryPointWithESMLoader(async (cascadedLoader: any) => {
|
||||
// Load the preload scripts.
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import { fetchWithSession } from '@electron/internal/browser/api/net-fetch';
|
||||
import { ClientRequest } from '@electron/internal/common/api/net-client-request';
|
||||
|
||||
import type { ClientRequestConstructorOptions, IncomingMessage } from 'electron/utility';
|
||||
import { IncomingMessage } from 'electron/utility';
|
||||
import type { ClientRequestConstructorOptions } from 'electron/utility';
|
||||
|
||||
const { isOnline, resolveHost } = process._linkedBinding('electron_common_net');
|
||||
|
||||
|
||||
@@ -36,7 +36,7 @@ parentPort.on('removeListener', (name: string) => {
|
||||
});
|
||||
|
||||
// Finally load entry script.
|
||||
const { runEntryPointWithESMLoader } = __non_webpack_require__('internal/modules/run_main') as typeof import('@node/lib/internal/modules/run_main');
|
||||
const { runEntryPointWithESMLoader } = __non_webpack_require__('internal/modules/run_main');
|
||||
const mainEntry = pathToFileURL(entryScript);
|
||||
|
||||
runEntryPointWithESMLoader(async (cascadedLoader: any) => {
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user