Update dependency typescript to v5.8.3 (#101501)

* Update dependency typescript to v5.8.3

* get correct window type

* fix @grafana/data

* update lockfile

---------

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Ashley Harrison <ashley.harrison@grafana.com>
This commit is contained in:
renovate[bot]
2025-07-04 14:43:01 +01:00
committed by GitHub
co-authored by Ashley Harrison
parent d0c474019a
commit 17ecd4c051
35 changed files with 102 additions and 92 deletions
+1 -1
View File
@@ -249,7 +249,7 @@
"tracelib": "1.0.1",
"ts-jest": "29.2.5",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1",
"webpack-assets-manifest": "^5.1.0",
"webpack-cli": "6.0.1",
+1 -1
View File
@@ -78,7 +78,7 @@
"rollup-plugin-esbuild": "6.2.0",
"rollup-plugin-node-externals": "^8.0.0",
"type-fest": "^4.40.0",
"typescript": "5.7.3"
"typescript": "5.8.3"
},
"peerDependencies": {
"@grafana/runtime": ">=11.6 <= 12.x",
+1 -1
View File
@@ -99,7 +99,7 @@
"rollup": "^4.22.4",
"rollup-plugin-esbuild": "6.2.0",
"rollup-plugin-node-externals": "^8.0.0",
"typescript": "5.7.3"
"typescript": "5.8.3"
},
"peerDependencies": {
"react": "^18.0.0",
@@ -5,13 +5,14 @@ import { GrafanaConfig } from '../types/config';
import { locationUtil } from './location';
describe('locationUtil', () => {
const { location } = window;
const win: typeof globalThis = window;
const { location } = win;
beforeEach(() => {
// @ts-ignore
delete window.location;
delete win.location;
window.location = {
win.location = {
...location,
hash: '#hash',
host: 'www.domain.com:9877',
@@ -26,7 +27,7 @@ describe('locationUtil', () => {
});
afterEach(() => {
window.location = location;
win.location = location;
});
describe('stripBaseFromUrl', () => {
@@ -106,7 +107,7 @@ describe('locationUtil', () => {
describe('when origin does not have a port in it', () => {
beforeEach(() => {
window.location = {
win.location = {
...location,
hash: '#hash',
host: 'www.domain.com',
+4 -3
View File
@@ -100,11 +100,12 @@ describe('parseKeyValue', () => {
});
describe('getUrlSearchParams', () => {
const { location } = window;
const win: typeof globalThis = window;
const { location } = win;
// @ts-ignore
delete window.location;
delete win.location;
window.location = {
win.location = {
...location,
hash: '#hash',
host: 'www.domain.com:9877',
+1 -1
View File
@@ -52,6 +52,6 @@
"@grafana/tsconfig": "^2.0.0",
"semver": "^7.7.0",
"tslib": "2.8.1",
"typescript": "5.7.3"
"typescript": "5.8.3"
}
}
+1 -1
View File
@@ -81,7 +81,7 @@
"rollup-plugin-node-externals": "^8.0.0",
"ts-jest": "29.2.5",
"ts-node": "10.9.2",
"typescript": "5.7.3"
"typescript": "5.8.3"
},
"peerDependencies": {
"react": "^18.0.0",
+1 -1
View File
@@ -67,7 +67,7 @@
"@types/react": "18.3.18",
"rollup": "^4.22.4",
"rollup-plugin-copy": "3.5.0",
"typescript": "5.7.3"
"typescript": "5.8.3"
},
"peerDependencies": {
"react": ">=18"
@@ -43,7 +43,7 @@
"react": "18.3.1",
"ts-jest": "29.2.5",
"ts-node": "10.9.2",
"typescript": "5.7.3"
"typescript": "5.8.3"
},
"peerDependencies": {
"react": "^18.0.0",
+1 -1
View File
@@ -19,7 +19,7 @@
"imports-loader": "^5.0.0",
"replace-in-file-webpack-plugin": "1.0.6",
"swc-loader": "0.2.6",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1",
"webpack-bundle-analyzer": "^4.10.2",
"webpack-virtual-modules": "^0.6.2"
+1 -1
View File
@@ -102,7 +102,7 @@
"rollup-plugin-esbuild": "6.2.0",
"rollup-plugin-node-externals": "^8.0.0",
"testing-library-selector": "0.3.1",
"typescript": "5.7.3"
"typescript": "5.8.3"
},
"peerDependencies": {
"react": "^18.0.0",
+1 -1
View File
@@ -87,7 +87,7 @@
"rollup-plugin-esbuild": "6.2.0",
"rollup-plugin-node-externals": "^8.0.0",
"rollup-plugin-sourcemaps": "0.6.3",
"typescript": "5.7.3"
"typescript": "5.8.3"
},
"peerDependencies": {
"react": "^18.0.0",
+1 -1
View File
@@ -44,7 +44,7 @@
"rollup": "^4.22.4",
"rollup-plugin-esbuild": "6.2.0",
"rollup-plugin-node-externals": "^8.0.0",
"typescript": "5.7.3"
"typescript": "5.8.3"
},
"dependencies": {
"tslib": "2.8.1"
+1 -1
View File
@@ -53,7 +53,7 @@
"jest": "^29.6.4",
"ts-jest": "29.2.5",
"ts-node": "10.9.2",
"typescript": "5.7.3"
"typescript": "5.8.3"
},
"peerDependencies": {
"@grafana/runtime": "10.4.0-pre"
+1 -1
View File
@@ -51,6 +51,6 @@
"devDependencies": {
"@grafana/tsconfig": "^2.0.0",
"@types/node": "22.15.0",
"typescript": "5.7.3"
"typescript": "5.8.3"
}
}
+1 -1
View File
@@ -200,7 +200,7 @@
"sass-loader": "16.0.4",
"storybook": "^8.6.2",
"style-loader": "4.0.0",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -5,9 +5,10 @@ import { useReturnTo } from './useReturnTo';
describe('useReturnTo', () => {
beforeAll(() => {
const win: typeof globalThis = window;
// @ts-expect-error
delete window.location;
window.location = { origin: 'https://play.grafana.net' } as Location;
delete win.location;
win.location = { origin: 'https://play.grafana.net' } as Location;
});
it('should return the fallback value when `returnTo` is not present in the query string', () => {
@@ -11,10 +11,11 @@ import { GoToSnapshotOriginButton } from './GoToSnapshotOriginButton';
describe('GoToSnapshotOriginButton component', () => {
beforeEach(async () => {
locationService.push('/');
const location = window.location;
const win: typeof globalThis = window;
const location = win.location;
//@ts-ignore
delete window.location;
window.location = {
delete win.location;
win.location = {
...location,
href: 'http://snapshots.grafana.com/snapshots/dashboard/abcdefghi/my-dash',
};
@@ -30,7 +30,8 @@ jest.mock('app/core/services/context_srv', () => ({
}));
function mockLocationHref(href: string) {
const location = window.location;
const win: typeof globalThis = window;
const location = win.location;
let search = '';
const searchPos = href.indexOf('?');
@@ -39,8 +40,8 @@ function mockLocationHref(href: string) {
}
// @ts-ignore
delete window.location;
window.location = {
delete win.location;
win.location = {
...location,
href,
origin: new URL(href).origin,
@@ -32,9 +32,10 @@ function mockLocationHref(href: string) {
search = href.substring(searchPos);
}
const win: typeof globalThis = window;
//@ts-ignore
delete window.location;
window.location = {
delete win.location;
win.location = {
...location,
href,
origin: new URL(href).origin,
@@ -105,9 +105,10 @@ describe('loadDataSource()', () => {
const dispatch = jest.fn();
const getState = jest.fn();
const win: typeof globalThis = window;
// @ts-ignore
delete window.location;
window.location = {} as Location;
delete win.location;
win.location = {} as Location;
(api.getDataSourceByIdOrUid as jest.Mock).mockResolvedValueOnce(dataSourceMock);
@@ -126,9 +127,10 @@ describe('loadDataSource()', () => {
const dispatch = jest.fn();
const getState = jest.fn();
const win: typeof globalThis = window;
// @ts-ignore
delete window.location;
window.location = {} as Location;
delete win.location;
win.location = {} as Location;
(api.getDataSourceByIdOrUid as jest.Mock).mockResolvedValueOnce(dataSourceMock);
@@ -50,15 +50,16 @@ function createPlaylistSrv(): PlaylistSrv {
}
const mockWindowLocation = (): [jest.Mock, () => void] => {
const oldLocation = window.location;
const win: typeof globalThis = window;
const oldLocation = win.location;
const hrefMock = jest.fn();
// JSDom defines window in a way that you cannot tamper with location so this seems to be the only way to change it.
// https://github.com/facebook/jest/issues/5124#issuecomment-446659510
//@ts-ignore
delete window.location;
delete win.location;
window.location = {} as Location;
win.location = {} as Location;
// Only mocking href as that is all this test needs, but otherwise there is lots of things missing, so keep that
// in mind if this is reused.
@@ -67,7 +68,7 @@ const mockWindowLocation = (): [jest.Mock, () => void] => {
get: hrefMock,
});
const unmock = () => {
window.location = oldLocation;
win.location = oldLocation;
};
return [hrefMock, unmock];
};
@@ -41,7 +41,7 @@
"i18next-parser": "9.3.0",
"react-select-event": "5.5.1",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -41,7 +41,7 @@
"@types/react-dom": "18.3.5",
"react-select-event": "5.5.1",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -26,7 +26,7 @@
"@types/node": "22.15.0",
"@types/react": "18.3.18",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -35,7 +35,7 @@
"jest": "29.7.0",
"style-loader": "4.0.0",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -34,7 +34,7 @@
"@types/react-dom": "18.3.5",
"@types/uuid": "10.0.0",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -37,7 +37,7 @@
"@types/react-window": "1.8.8",
"@types/uuid": "10.0.0",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -8,20 +8,21 @@ jest.mock('@grafana/runtime', () => ({
}));
describe('convertToWebSocketUrl', () => {
const { location } = window;
const win: typeof globalThis = window;
const { location } = win;
beforeEach(() => {
// @ts-ignore
delete window.location;
window.location = {} as Location;
delete win.location;
win.location = {} as Location;
});
afterEach(() => {
window.location = location;
win.location = location;
});
it('should convert HTTP URL to WebSocket URL', () => {
window.location.protocol = 'http:';
window.location.host = 'example.com';
win.location.protocol = 'http:';
win.location.host = 'example.com';
const httpUrl = '/api/ds/proxy/1/api/v1/tail/loki?query=a';
const expectedWebSocketUrl = 'ws://example.com/grafana/api/ds/proxy/1/api/v1/tail/loki?query=a';
@@ -32,8 +33,8 @@ describe('convertToWebSocketUrl', () => {
});
it('should convert HTTPS URL to WebSocket URL', () => {
window.location.protocol = 'https:';
window.location.host = 'example.com';
win.location.protocol = 'https:';
win.location.host = 'example.com';
const httpsUrl = '/api/ds/proxy/1/api/v1/tail/loki?query=a';
const expectedWebSocketUrl = 'wss://example.com/grafana/api/ds/proxy/1/api/v1/tail/loki?query=a';
@@ -28,7 +28,7 @@
"@types/react": "18.3.18",
"i18next-parser": "9.3.0",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -26,7 +26,7 @@
"@types/node": "22.15.0",
"@types/react": "18.3.18",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -27,7 +27,7 @@
"@types/react": "18.3.18",
"@types/react-dom": "18.3.5",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -54,7 +54,7 @@
"glob": "11.0.1",
"react-select-event": "5.5.1",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
@@ -30,7 +30,7 @@
"@types/react": "18.3.18",
"@types/react-dom": "18.3.5",
"ts-node": "10.9.2",
"typescript": "5.7.3",
"typescript": "5.8.3",
"webpack": "5.97.1"
},
"peerDependencies": {
+33 -33
View File
@@ -2554,7 +2554,7 @@ __metadata:
rxjs: "npm:7.8.2"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
webpack: "npm:5.97.1"
peerDependencies:
"@grafana/runtime": "*"
@@ -2585,7 +2585,7 @@ __metadata:
rxjs: "npm:7.8.2"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
webpack: "npm:5.97.1"
peerDependencies:
"@grafana/runtime": "*"
@@ -2625,7 +2625,7 @@ __metadata:
style-loader: "npm:4.0.0"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
webpack: "npm:5.97.1"
peerDependencies:
"@grafana/runtime": "*"
@@ -2663,7 +2663,7 @@ __metadata:
rxjs: "npm:7.8.2"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
uuid: "npm:11.1.0"
webpack: "npm:5.97.1"
peerDependencies:
@@ -2705,7 +2705,7 @@ __metadata:
stream-browserify: "npm:3.0.0"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
uuid: "npm:11.1.0"
webpack: "npm:5.97.1"
peerDependencies:
@@ -2781,7 +2781,7 @@ __metadata:
rxjs: "npm:7.8.2"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
webpack: "npm:5.97.1"
peerDependencies:
"@grafana/runtime": "*"
@@ -2812,7 +2812,7 @@ __metadata:
rxjs: "npm:7.8.2"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
webpack: "npm:5.97.1"
peerDependencies:
"@grafana/runtime": "*"
@@ -2844,7 +2844,7 @@ __metadata:
rxjs: "npm:7.8.2"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
webpack: "npm:5.97.1"
peerDependencies:
"@grafana/runtime": "*"
@@ -2890,7 +2890,7 @@ __metadata:
rxjs: "npm:7.8.2"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
webpack: "npm:5.97.1"
peerDependencies:
"@grafana/runtime": "*"
@@ -2948,7 +2948,7 @@ __metadata:
string_decoder: "npm:1.3.0"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
uuid: "npm:11.1.0"
webpack: "npm:5.97.1"
peerDependencies:
@@ -2984,7 +2984,7 @@ __metadata:
rxjs: "npm:7.8.2"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
webpack: "npm:5.97.1"
peerDependencies:
"@grafana/runtime": "*"
@@ -3015,7 +3015,7 @@ __metadata:
rollup-plugin-esbuild: "npm:6.2.0"
rollup-plugin-node-externals: "npm:^8.0.0"
type-fest: "npm:^4.40.0"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
peerDependencies:
"@grafana/runtime": ">=11.6 <= 12.x"
"@grafana/ui": ">=11.6 <= 12.x"
@@ -3100,7 +3100,7 @@ __metadata:
string-hash: "npm:^1.1.3"
tinycolor2: "npm:1.6.0"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
uplot: "npm:1.6.32"
xss: "npm:^1.0.14"
peerDependencies:
@@ -3124,7 +3124,7 @@ __metadata:
rollup-plugin-node-externals: "npm:^8.0.0"
semver: "npm:^7.7.0"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
languageName: unknown
linkType: soft
@@ -3242,7 +3242,7 @@ __metadata:
ts-jest: "npm:29.2.5"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
@@ -3277,7 +3277,7 @@ __metadata:
react-i18next: "npm:^15.0.0"
rollup: "npm:^4.22.4"
rollup-plugin-copy: "npm:3.5.0"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
peerDependencies:
react: ">=18"
languageName: unknown
@@ -3355,7 +3355,7 @@ __metadata:
ts-jest: "npm:29.2.5"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
@@ -3379,7 +3379,7 @@ __metadata:
replace-in-file-webpack-plugin: "npm:1.0.6"
swc-loader: "npm:0.2.6"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
webpack: "npm:5.97.1"
webpack-bundle-analyzer: "npm:^4.10.2"
webpack-virtual-modules: "npm:^0.6.2"
@@ -3492,7 +3492,7 @@ __metadata:
rxjs: "npm:7.8.2"
semver: "npm:7.7.2"
testing-library-selector: "npm:0.3.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
uuid: "npm:11.1.0"
peerDependencies:
react: ^18.0.0
@@ -3535,7 +3535,7 @@ __metadata:
rollup-plugin-sourcemaps: "npm:0.6.3"
rxjs: "npm:7.8.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
peerDependencies:
react: ^18.0.0
react-dom: ^18.0.0
@@ -3601,7 +3601,7 @@ __metadata:
rollup-plugin-esbuild: "npm:6.2.0"
rollup-plugin-node-externals: "npm:^8.0.0"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
languageName: unknown
linkType: soft
@@ -3644,7 +3644,7 @@ __metadata:
ts-jest: "npm:29.2.5"
ts-node: "npm:10.9.2"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
uuid: "npm:11.1.0"
peerDependencies:
"@grafana/runtime": 10.4.0-pre
@@ -3658,7 +3658,7 @@ __metadata:
"@grafana/tsconfig": "npm:^2.0.0"
"@types/node": "npm:22.15.0"
msw: "npm:2.10.2"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
languageName: unknown
linkType: soft
@@ -3806,7 +3806,7 @@ __metadata:
style-loader: "npm:4.0.0"
tinycolor2: "npm:1.6.0"
tslib: "npm:2.8.1"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
uplot: "npm:1.6.32"
uuid: "npm:11.1.0"
uwrap: "npm:0.1.1"
@@ -18496,7 +18496,7 @@ __metadata:
tslib: "npm:2.8.1"
tween-functions: "npm:^1.2.0"
type-fest: "npm:^4.18.2"
typescript: "npm:5.7.3"
typescript: "npm:5.8.3"
uplot: "npm:1.6.32"
uuid: "npm:11.1.0"
visjs-network: "npm:4.25.0"
@@ -31389,13 +31389,13 @@ __metadata:
languageName: node
linkType: hard
"typescript@npm:>=2.7, typescript@npm:>=3 < 6, typescript@npm:^5.0.4, typescript@npm:^5.4.5, typescript@npm:^5.5.4":
version: 5.8.2
resolution: "typescript@npm:5.8.2"
"typescript@npm:5.8.3, typescript@npm:>=2.7, typescript@npm:>=3 < 6, typescript@npm:^5.0.4, typescript@npm:^5.4.5, typescript@npm:^5.5.4":
version: 5.8.3
resolution: "typescript@npm:5.8.3"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 10/dbc2168a55d56771f4d581997be52bab5cbc09734fec976cfbaabd787e61fb4c6cf9125fd48c6f98054ce549c77ecedefc7f64252a830dd8e9c3381f61fbeb78
checksum: 10/65c40944c51b513b0172c6710ee62e951b70af6f75d5a5da745cb7fab132c09ae27ffdf7838996e3ed603bb015dadd099006658046941bd0ba30340cc563ae92
languageName: node
linkType: hard
@@ -31429,13 +31429,13 @@ __metadata:
languageName: node
linkType: hard
"typescript@patch:typescript@npm%3A>=2.7#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A>=3 < 6#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.0.4#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.4.5#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.5.4#optional!builtin<compat/typescript>":
version: 5.8.2
resolution: "typescript@patch:typescript@npm%3A5.8.2#optional!builtin<compat/typescript>::version=5.8.2&hash=5786d5"
"typescript@patch:typescript@npm%3A5.8.3#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A>=2.7#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A>=3 < 6#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.0.4#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.4.5#optional!builtin<compat/typescript>, typescript@patch:typescript@npm%3A^5.5.4#optional!builtin<compat/typescript>":
version: 5.8.3
resolution: "typescript@patch:typescript@npm%3A5.8.3#optional!builtin<compat/typescript>::version=5.8.3&hash=5786d5"
bin:
tsc: bin/tsc
tsserver: bin/tsserver
checksum: 10/97920a082ffc57583b1cb6bc4faa502acc156358e03f54c7fc7fdf0b61c439a717f4c9070c449ee9ee683d4cfc3bb203127c2b9794b2950f66d9d307a4ff262c
checksum: 10/b9b1e73dabac5dc730c041325dbd9c99467c1b0d239f1b74ec3b90d831384af3e2ba973946232df670519147eb51a2c20f6f96163cea2b359f03de1e2091cc4f
languageName: node
linkType: hard