Skip to content

Commit 090c9dc

Browse files
committed
Run the CI on multiple versions of Node
1 parent 4f73199 commit 090c9dc

File tree

3 files changed

+82
-74
lines changed

3 files changed

+82
-74
lines changed

.github/workflows/ci.yml

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,35 @@ on:
1010

1111
jobs:
1212
test:
13-
runs-on: ubuntu-latest
13+
strategy:
14+
matrix:
15+
os:
16+
- ubuntu-latest
17+
- macos-latest
18+
# - windows-latest
19+
node: 20
20+
include:
21+
- os: ubuntu-latest
22+
node: 22
23+
- os: ubuntu-latest
24+
node: 24
25+
runs-on: ${{ matrix.os }}
26+
name: Test with Node ${{ matrix.node }} on ${{ matrix.os }}
1427
steps:
1528
- name: Checkout code
1629
uses: actions/checkout@v2
1730

1831
- name: Setup Node.js environment
1932
uses: actions/setup-node@v6
2033
with:
21-
node-version-file: 'package.json'
34+
node-version: ${{ matrix.node }}
35+
# node-version-file: 'package.json'
2236

2337
- name: Cache VSCode test directory
2438
uses: actions/cache@v4
2539
with:
2640
path: .vscode-test
27-
key: ${{ runner.os }}-vscode-test-${{ hashFiles('package-lock.json') }}
41+
key: ${{ runner.os }}-${{ matrix.node }}-vscode-test-${{ hashFiles('package-lock.json') }}
2842

2943
- name: Install dependencies
3044
run: npm install

package-lock.json

Lines changed: 0 additions & 7 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

yarn.lock

Lines changed: 65 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -187,9 +187,9 @@
187187
integrity sha512-FmgJfu+MOcQ370SD0ev7EI8TlCAfKYU+B4m5T3yXc1CiRN94g/SZPtsCkk506aUDtlMnFZvasDwHHUcZUEaYuA==
188188

189189
"@types/vscode@^1.64.0":
190-
version "1.64.0"
191-
resolved "https://registry.npmjs.org/@types/vscode/-/vscode-1.64.0.tgz"
192-
integrity sha512-bSlAWz5WtcSL3cO9tAT/KpEH9rv5OBnm93OIIFwdCshaAiqr2bp1AUyEwW9MWeCvZBHEXc3V0fTYVdVyzDNwHA==
190+
version "1.106.1"
191+
resolved "https://registry.npmjs.org/@types/vscode/-/vscode-1.106.1.tgz"
192+
integrity sha512-R/HV8u2h8CAddSbX8cjpdd7B8/GnE4UjgjpuGuHcbp1xV6yh4OeqU4L1pKjlwujCrSFS0MOpwJAIs/NexMB1fQ==
193193

194194
"@typescript-eslint/eslint-plugin@^6.7.2":
195195
version "6.21.0"
@@ -415,9 +415,9 @@ balanced-match@^1.0.0:
415415
integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
416416

417417
binary-extensions@^2.0.0:
418-
version "2.2.0"
419-
resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz"
420-
integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
418+
version "2.3.0"
419+
resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz"
420+
integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==
421421

422422
brace-expansion@^1.1.7:
423423
version "1.1.12"
@@ -661,9 +661,9 @@ enhanced-resolve@^5.18.3:
661661
tapable "^2.2.0"
662662

663663
escalade@^3.1.1:
664-
version "3.1.1"
665-
resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz"
666-
integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
664+
version "3.2.0"
665+
resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz"
666+
integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==
667667

668668
escape-string-regexp@^4.0.0:
669669
version "4.0.0"
@@ -747,9 +747,9 @@ espree@^9.6.0, espree@^9.6.1:
747747
eslint-visitor-keys "^3.4.1"
748748

749749
esquery@^1.4.2:
750-
version "1.5.0"
751-
resolved "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz"
752-
integrity sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==
750+
version "1.6.0"
751+
resolved "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz"
752+
integrity sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==
753753
dependencies:
754754
estraverse "^5.1.0"
755755

@@ -776,15 +776,15 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
776776
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
777777

778778
fast-glob@^3.2.9:
779-
version "3.2.12"
780-
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz"
781-
integrity sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==
779+
version "3.3.3"
780+
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz"
781+
integrity sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==
782782
dependencies:
783783
"@nodelib/fs.stat" "^2.0.2"
784784
"@nodelib/fs.walk" "^1.2.3"
785785
glob-parent "^5.1.2"
786786
merge2 "^1.3.0"
787-
micromatch "^4.0.4"
787+
micromatch "^4.0.8"
788788

789789
fast-json-stable-stringify@^2.0.0:
790790
version "2.1.0"
@@ -797,9 +797,9 @@ fast-levenshtein@^2.0.6:
797797
integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==
798798

799799
fastq@^1.6.0:
800-
version "1.15.0"
801-
resolved "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz"
802-
integrity sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==
800+
version "1.19.1"
801+
resolved "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz"
802+
integrity sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==
803803
dependencies:
804804
reusify "^1.0.4"
805805

@@ -826,22 +826,23 @@ find-up@^5.0.0:
826826
path-exists "^4.0.0"
827827

828828
flat-cache@^3.0.4:
829-
version "3.0.4"
830-
resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz"
831-
integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
829+
version "3.2.0"
830+
resolved "https://registry.npmjs.org/flat-cache/-/flat-cache-3.2.0.tgz"
831+
integrity sha512-CYcENa+FtcUKLmhhqyctpclsq7QF38pKjZHsGNiSQF5r4FtoKDWabFDl3hzaEQMvT1LHEysw5twgLvpYYb4vbw==
832832
dependencies:
833-
flatted "^3.1.0"
833+
flatted "^3.2.9"
834+
keyv "^4.5.3"
834835
rimraf "^3.0.2"
835836

836837
flat@^5.0.2:
837838
version "5.0.2"
838839
resolved "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz"
839840
integrity sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==
840841

841-
flatted@^3.1.0:
842-
version "3.2.7"
843-
resolved "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz"
844-
integrity sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==
842+
flatted@^3.2.9:
843+
version "3.3.3"
844+
resolved "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz"
845+
integrity sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==
845846

846847
foreground-child@^3.1.0, foreground-child@^3.1.1:
847848
version "3.3.1"
@@ -866,7 +867,7 @@ get-east-asian-width@^1.0.0:
866867
resolved "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.4.0.tgz"
867868
integrity sha512-QZjmEOC+IT1uk6Rx0sX22V6uHWVwbdbxf1faPqJ1QhLdGgsRGCZoyaQBm/piRdJy/D2um6hM1UP7ZEeQ4EkP+Q==
868869

869-
glob-parent@^5.1.2:
870+
glob-parent@^5.1.2, glob-parent@~5.1.2:
870871
version "5.1.2"
871872
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
872873
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
@@ -880,26 +881,7 @@ glob-parent@^6.0.2:
880881
dependencies:
881882
is-glob "^4.0.3"
882883

883-
glob-parent@~5.1.2:
884-
version "5.1.2"
885-
resolved "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz"
886-
integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
887-
dependencies:
888-
is-glob "^4.0.1"
889-
890-
glob@^10.3.10, glob@^10.4.5:
891-
version "10.5.0"
892-
resolved "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz"
893-
integrity sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==
894-
dependencies:
895-
foreground-child "^3.1.0"
896-
jackspeak "^3.1.2"
897-
minimatch "^9.0.4"
898-
minipass "^7.1.2"
899-
package-json-from-dist "^1.0.0"
900-
path-scurry "^1.11.1"
901-
902-
glob@^10.4.1:
884+
glob@^10.3.10, glob@^10.4.1, glob@^10.4.5:
903885
version "10.5.0"
904886
resolved "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz"
905887
integrity sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==
@@ -935,9 +917,9 @@ glob@^8.1.0:
935917
once "^1.3.0"
936918

937919
globals@^13.19.0:
938-
version "13.20.0"
939-
resolved "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz"
940-
integrity sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==
920+
version "13.24.0"
921+
resolved "https://registry.npmjs.org/globals/-/globals-13.24.0.tgz"
922+
integrity sha512-AhO5QUcj8llrbG09iWhPU2B204J1xnPeL8kQmVorSsy+Sjj1sk8gIyh6cUocGmH4L0UuhAJy+hJMRA4mgA4mFQ==
941923
dependencies:
942924
type-fest "^0.20.2"
943925

@@ -1005,9 +987,9 @@ immediate@~3.0.5:
1005987
integrity sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==
1006988

1007989
import-fresh@^3.2.1:
1008-
version "3.3.0"
1009-
resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz"
1010-
integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
990+
version "3.3.1"
991+
resolved "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz"
992+
integrity sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==
1011993
dependencies:
1012994
parent-module "^1.0.0"
1013995
resolve-from "^4.0.0"
@@ -1137,6 +1119,11 @@ js-yaml@^4.1.0:
11371119
dependencies:
11381120
argparse "^2.0.1"
11391121

1122+
1123+
version "3.0.1"
1124+
resolved "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz"
1125+
integrity sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==
1126+
11401127
json-schema-traverse@^0.4.1:
11411128
version "0.4.1"
11421129
resolved "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz"
@@ -1162,6 +1149,13 @@ jszip@^3.10.1:
11621149
readable-stream "~2.3.6"
11631150
setimmediate "^1.0.5"
11641151

1152+
keyv@^4.5.3:
1153+
version "4.5.4"
1154+
resolved "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz"
1155+
integrity sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==
1156+
dependencies:
1157+
json-buffer "3.0.1"
1158+
11651159
levn@^0.4.1:
11661160
version "0.4.1"
11671161
resolved "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz"
@@ -1227,7 +1221,7 @@ merge2@^1.3.0, merge2@^1.4.1:
12271221
resolved "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz"
12281222
integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
12291223

1230-
micromatch@^4.0.4:
1224+
micromatch@^4.0.8:
12311225
version "4.0.8"
12321226
resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz"
12331227
integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==
@@ -1268,7 +1262,14 @@ minimatch@^5.0.1, minimatch@^5.1.6:
12681262
dependencies:
12691263
brace-expansion "^2.0.1"
12701264

1271-
minimatch@^9.0.3, minimatch@^9.0.4, minimatch@^9.0.5:
1265+
minimatch@^9.0.3, minimatch@^9.0.5:
1266+
version "9.0.5"
1267+
resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz"
1268+
integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
1269+
dependencies:
1270+
brace-expansion "^2.0.1"
1271+
1272+
minimatch@^9.0.4:
12721273
version "9.0.5"
12731274
resolved "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz"
12741275
integrity sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==
@@ -1491,9 +1492,9 @@ process-nextick-args@~2.0.0:
14911492
integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
14921493

14931494
punycode@^2.1.0:
1494-
version "2.3.0"
1495-
resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz"
1496-
integrity sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==
1495+
version "2.3.1"
1496+
resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz"
1497+
integrity sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==
14971498

14981499
queue-microtask@^1.2.2:
14991500
version "1.2.3"
@@ -1551,9 +1552,9 @@ restore-cursor@^5.0.0:
15511552
signal-exit "^4.1.0"
15521553

15531554
reusify@^1.0.4:
1554-
version "1.0.4"
1555-
resolved "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz"
1556-
integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
1555+
version "1.1.0"
1556+
resolved "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz"
1557+
integrity sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==
15571558

15581559
rimraf@^3.0.2:
15591560
version "3.0.2"
@@ -1634,7 +1635,7 @@ string_decoder@~1.1.1:
16341635
is-fullwidth-code-point "^3.0.0"
16351636
strip-ansi "^6.0.1"
16361637

1637-
string-width@^4.1.0:
1638+
string-width@^4.1.0, string-width@^4.2.0:
16381639
version "4.2.3"
16391640
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
16401641
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
@@ -1643,7 +1644,7 @@ string-width@^4.1.0:
16431644
is-fullwidth-code-point "^3.0.0"
16441645
strip-ansi "^6.0.1"
16451646

1646-
string-width@^4.2.0, string-width@^4.2.3:
1647+
string-width@^4.2.3:
16471648
version "4.2.3"
16481649
resolved "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz"
16491650
integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==

0 commit comments

Comments
 (0)