Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@
"namor": "^2.0.2",
"node-watch": "^0.7.3",
"p-debounce": "^2.0.0",
"package-json": "^10.0.1",
"parse-env-string": "^1.0.1",
"prettier": "^3.6.2",
"react": "^16.14.0",
Expand Down
21 changes: 15 additions & 6 deletions src/main/electron-types.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@ import { ElectronVersions } from '@electron/fiddle-core';
import { BrowserWindow, IpcMainInvokeEvent, app } from 'electron';
import fs from 'fs-extra';
import watch from 'node-watch';
import packageJson from 'package-json';
import semver from 'semver';

import { ipcMainManager } from './ipc';
Expand Down Expand Up @@ -197,12 +196,22 @@ export class ElectronTypes {
);

if (response.status === 404) {
const types = await packageJson('@types/node', {
version: semver.major(version).toString(),
fullMetadata: false,
});
const url = 'https://registry.npmjs.org/@types%2Fnode';
const headers: HeadersInit = {
Accept: 'application/vnd.npm.install-v1+json',
};
const res = await fetch(url, { headers });
const data = (await res.json()) as { versions: Record<string, unknown> };
Comment on lines +203 to +204
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We need to check res.ok before parsing it as JSON.


const major = semver.major(version);
const matched = semver.maxSatisfying(
Object.keys(data.versions),
`${major}`,
);
if (!matched)
throw new Error(`No @types/node version found for ${major}`);

downloadVersion = types.version as string;
downloadVersion = matched;
console.log(
`falling back to the latest applicable Node.js version type: ${downloadVersion}`,
);
Expand Down
121 changes: 2 additions & 119 deletions yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2166,33 +2166,6 @@ __metadata:
languageName: node
linkType: hard

"@pnpm/config.env-replace@npm:^1.1.0":
version: 1.1.0
resolution: "@pnpm/config.env-replace@npm:1.1.0"
checksum: 10c0/4cfc4a5c49ab3d0c6a1f196cfd4146374768b0243d441c7de8fa7bd28eaab6290f514b98490472cc65dbd080d34369447b3e9302585e1d5c099befd7c8b5e55f
languageName: node
linkType: hard

"@pnpm/network.ca-file@npm:^1.0.1":
version: 1.0.2
resolution: "@pnpm/network.ca-file@npm:1.0.2"
dependencies:
graceful-fs: "npm:4.2.10"
checksum: 10c0/95f6e0e38d047aca3283550719155ce7304ac00d98911e4ab026daedaf640a63bd83e3d13e17c623fa41ac72f3801382ba21260bcce431c14fbbc06430ecb776
languageName: node
linkType: hard

"@pnpm/npm-conf@npm:^3.0.2":
version: 3.0.2
resolution: "@pnpm/npm-conf@npm:3.0.2"
dependencies:
"@pnpm/config.env-replace": "npm:^1.1.0"
"@pnpm/network.ca-file": "npm:^1.0.1"
config-chain: "npm:^1.1.11"
checksum: 10c0/50026ae4cac7d5d055d4dd4b2886fbc41964db6179406cf2decf625e7a280fbfffd47380df584c085464deba060101169caca5f79e6a062b6c25b527bf60cb67
languageName: node
linkType: hard

"@popperjs/core@npm:^2.5.4":
version: 2.10.1
resolution: "@popperjs/core@npm:2.10.1"
Expand Down Expand Up @@ -4835,16 +4808,6 @@ __metadata:
languageName: node
linkType: hard

"config-chain@npm:^1.1.11":
version: 1.1.13
resolution: "config-chain@npm:1.1.13"
dependencies:
ini: "npm:^1.3.4"
proto-list: "npm:~1.2.1"
checksum: 10c0/39d1df18739d7088736cc75695e98d7087aea43646351b028dfabd5508d79cf6ef4c5bcd90471f52cd87ae470d1c5490c0a8c1a292fbe6ee9ff688061ea0963e
languageName: node
linkType: hard

"connect-history-api-fallback@npm:^2.0.0":
version: 2.0.0
resolution: "connect-history-api-fallback@npm:2.0.0"
Expand Down Expand Up @@ -5178,13 +5141,6 @@ __metadata:
languageName: node
linkType: hard

"deep-extend@npm:^0.6.0":
version: 0.6.0
resolution: "deep-extend@npm:0.6.0"
checksum: 10c0/1c6b0abcdb901e13a44c7d699116d3d4279fdb261983122a3783e7273844d5f2537dc2e1c454a23fcf645917f93fbf8d07101c1d03c015a87faa662755212566
languageName: node
linkType: hard

"deep-is@npm:^0.1.3":
version: 0.1.3
resolution: "deep-is@npm:0.1.3"
Expand Down Expand Up @@ -5608,7 +5564,6 @@ __metadata:
node-watch: "npm:^0.7.3"
npm-run-all2: "npm:^7.0.1"
p-debounce: "npm:^2.0.0"
package-json: "npm:^10.0.1"
parse-env-string: "npm:^1.0.1"
postcss: "npm:^8.5.10"
postcss-less: "npm:^6.0.0"
Expand Down Expand Up @@ -7378,13 +7333,6 @@ __metadata:
languageName: node
linkType: hard

"graceful-fs@npm:4.2.10":
version: 4.2.10
resolution: "graceful-fs@npm:4.2.10"
checksum: 10c0/4223a833e38e1d0d2aea630c2433cfb94ddc07dfc11d511dbd6be1d16688c5be848acc31f9a5d0d0ddbfb56d2ee5a6ae0278aceeb0ca6a13f27e06b9956fb952
languageName: node
linkType: hard

"grapheme-splitter@npm:^1.0.4":
version: 1.0.4
resolution: "grapheme-splitter@npm:1.0.4"
Expand Down Expand Up @@ -7951,7 +7899,7 @@ __metadata:
languageName: node
linkType: hard

"ini@npm:^1.3.4, ini@npm:^1.3.5, ini@npm:~1.3.0":
"ini@npm:^1.3.5":
version: 1.3.8
resolution: "ini@npm:1.3.8"
checksum: 10c0/ec93838d2328b619532e4f1ff05df7909760b6f66d9c9e2ded11e5c1897d6f2f9980c54dd638f88654b00919ce31e827040631eab0a3969e4d1abefa0719516a
Expand Down Expand Up @@ -8720,13 +8668,6 @@ __metadata:
languageName: node
linkType: hard

"ky@npm:^1.2.0":
version: 1.14.3
resolution: "ky@npm:1.14.3"
checksum: 10c0/8e91c9512c8f1501201108ad58ed437eaf3f5b0a0da842bd846d785932426e84a31cf51d0fffce1921d4e70e26465a9b2b89ed2477822975568258a1fa68a740
languageName: node
linkType: hard

"less-loader@npm:^11.0.0":
version: 11.0.0
resolution: "less-loader@npm:11.0.0"
Expand Down Expand Up @@ -10710,18 +10651,6 @@ __metadata:
languageName: node
linkType: hard

"package-json@npm:^10.0.1":
version: 10.0.1
resolution: "package-json@npm:10.0.1"
dependencies:
ky: "npm:^1.2.0"
registry-auth-token: "npm:^5.0.2"
registry-url: "npm:^6.0.1"
semver: "npm:^7.6.0"
checksum: 10c0/4a55648d820496326730a7b149fd3fd8382e96f3d6def5ec687f46b75063894acf06b21f79832b40bb094c821d97f532cb0f009f85c4102d0084b488d4f492d3
languageName: node
linkType: hard

"pako@npm:~1.0.2":
version: 1.0.11
resolution: "pako@npm:1.0.11"
Expand Down Expand Up @@ -11290,13 +11219,6 @@ __metadata:
languageName: node
linkType: hard

"proto-list@npm:~1.2.1":
version: 1.2.4
resolution: "proto-list@npm:1.2.4"
checksum: 10c0/b9179f99394ec8a68b8afc817690185f3b03933f7b46ce2e22c1930dc84b60d09f5ad222beab4e59e58c6c039c7f7fcf620397235ef441a356f31f9744010e12
languageName: node
linkType: hard

"proxy-addr@npm:~2.0.7":
version: 2.0.7
resolution: "proxy-addr@npm:2.0.7"
Expand Down Expand Up @@ -11389,20 +11311,6 @@ __metadata:
languageName: node
linkType: hard

"rc@npm:1.2.8":
version: 1.2.8
resolution: "rc@npm:1.2.8"
dependencies:
deep-extend: "npm:^0.6.0"
ini: "npm:~1.3.0"
minimist: "npm:^1.2.0"
strip-json-comments: "npm:~2.0.1"
bin:
rc: ./cli.js
checksum: 10c0/24a07653150f0d9ac7168e52943cc3cb4b7a22c0e43c7dff3219977c2fdca5a2760a304a029c20811a0e79d351f57d46c9bde216193a0f73978496afc2b85b15
languageName: node
linkType: hard

"react-base16-styling@npm:~0.9.0":
version: 0.9.1
resolution: "react-base16-styling@npm:0.9.1"
Expand Down Expand Up @@ -11795,24 +11703,6 @@ __metadata:
languageName: node
linkType: hard

"registry-auth-token@npm:^5.0.2":
version: 5.1.1
resolution: "registry-auth-token@npm:5.1.1"
dependencies:
"@pnpm/npm-conf": "npm:^3.0.2"
checksum: 10c0/86b0f7fd87d327cb4177fee69bcf96563147ea72e206bc9c7a6a50a51c785a31b83a6c45956a489ed292d23b908b2755a075d0b2f7fec1ba91b1fb800b24cee3
languageName: node
linkType: hard

"registry-url@npm:^6.0.1":
version: 6.0.1
resolution: "registry-url@npm:6.0.1"
dependencies:
rc: "npm:1.2.8"
checksum: 10c0/66e2221c8113fc35ee9d23fe58cb516fc8d556a189fb8d6f1011a02efccc846c4c9b5075b4027b99a5d5c9ad1345ac37f297bea3c0ca30d607ec8084bf561b90
languageName: node
linkType: hard

"relateurl@npm:^0.2.7":
version: 0.2.7
resolution: "relateurl@npm:0.2.7"
Expand Down Expand Up @@ -12287,7 +12177,7 @@ __metadata:
languageName: node
linkType: hard

"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.0, semver@npm:^7.5.3, semver@npm:^7.6.0, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2":
"semver@npm:^7.0.0, semver@npm:^7.1.1, semver@npm:^7.2.1, semver@npm:^7.3.2, semver@npm:^7.3.4, semver@npm:^7.3.5, semver@npm:^7.3.8, semver@npm:^7.5.0, semver@npm:^7.5.3, semver@npm:^7.6.3, semver@npm:^7.7.1, semver@npm:^7.7.2":
version: 7.7.4
resolution: "semver@npm:7.7.4"
bin:
Expand Down Expand Up @@ -13010,13 +12900,6 @@ __metadata:
languageName: node
linkType: hard

"strip-json-comments@npm:~2.0.1":
version: 2.0.1
resolution: "strip-json-comments@npm:2.0.1"
checksum: 10c0/b509231cbdee45064ff4f9fd73609e2bcc4e84a4d508e9dd0f31f70356473fde18abfb5838c17d56fb236f5a06b102ef115438de0600b749e818a35fbbc48c43
languageName: node
linkType: hard

"strip-outer@npm:^1.0.1":
version: 1.0.1
resolution: "strip-outer@npm:1.0.1"
Expand Down
Loading