diff --git a/package.json b/package.json index 1d9aab08d64..251cba9270b 100644 --- a/package.json +++ b/package.json @@ -213,8 +213,8 @@ "testing-library-selector": "^0.1.3", "ts-jest": "26.4.4", "ts-node": "9.0.0", - "tslib": "2.2.0", - "typescript": "4.3.4", + "tslib": "2.3.1", + "typescript": "4.4.3", "wait-on": "6.0.0", "webpack": "5.51.1", "webpack-bundle-analyzer": "4.4.2", diff --git a/packages/grafana-data/package.json b/packages/grafana-data/package.json index d521b864cfc..ecd4a35abbf 100644 --- a/packages/grafana-data/package.json +++ b/packages/grafana-data/package.json @@ -55,7 +55,7 @@ "rollup-plugin-visualizer": "4.2.0", "sinon": "8.1.1", "tinycolor2": "1.4.1", - "typescript": "4.3.4" + "typescript": "4.4.3" }, "volta": { "extends": "../../package.json" diff --git a/packages/grafana-e2e-selectors/package.json b/packages/grafana-e2e-selectors/package.json index 61f4a7da976..794ac85bcc8 100644 --- a/packages/grafana-e2e-selectors/package.json +++ b/packages/grafana-e2e-selectors/package.json @@ -43,7 +43,7 @@ "@grafana/tsconfig": "^1.0.0-rc1", "commander": "5.0.0", "execa": "4.0.0", - "typescript": "4.3.4", + "typescript": "4.4.3", "yaml": "^1.8.3" }, "volta": { diff --git a/packages/grafana-e2e/package.json b/packages/grafana-e2e/package.json index 6f998078da9..b0a7d29f9be 100644 --- a/packages/grafana-e2e/package.json +++ b/packages/grafana-e2e/package.json @@ -55,7 +55,7 @@ "execa": "4.0.0", "resolve-as-bin": "2.1.0", "ts-loader": "6.2.1", - "typescript": "4.3.4", + "typescript": "4.4.3", "yaml": "^1.8.3" }, "volta": { diff --git a/packages/grafana-runtime/package.json b/packages/grafana-runtime/package.json index 6da7961e047..157bfade0c3 100644 --- a/packages/grafana-runtime/package.json +++ b/packages/grafana-runtime/package.json @@ -44,7 +44,7 @@ "rollup-plugin-terser": "7.0.2", "rollup-plugin-typescript2": "0.29.0", "rollup-plugin-visualizer": "4.2.0", - "typescript": "4.3.4" + "typescript": "4.4.3" }, "types": "src/index.ts", "volta": { diff --git a/packages/grafana-schema/package.json b/packages/grafana-schema/package.json index 3fa6c0e4d4c..bb102310f5d 100644 --- a/packages/grafana-schema/package.json +++ b/packages/grafana-schema/package.json @@ -33,7 +33,7 @@ "rollup-plugin-terser": "7.0.2", "rollup-plugin-typescript2": "0.29.0", "rollup-plugin-visualizer": "4.2.0", - "typescript": "4.3.4" + "typescript": "4.4.3" }, "volta": { "extends": "../../package.json" diff --git a/packages/grafana-toolkit/package.json b/packages/grafana-toolkit/package.json index 633f181ef0d..4dcd9b6943c 100644 --- a/packages/grafana-toolkit/package.json +++ b/packages/grafana-toolkit/package.json @@ -103,8 +103,8 @@ "ts-jest": "26.4.4", "ts-loader": "6.2.1", "ts-node": "9.0.0", - "tslib": "2.2.0", - "typescript": "4.3.4", + "tslib": "2.3.1", + "typescript": "4.4.3", "url-loader": "^2.0.1", "webpack": "4.41.5" }, diff --git a/packages/grafana-toolkit/src/cli/tasks/package.build.ts b/packages/grafana-toolkit/src/cli/tasks/package.build.ts index 0d72e4c2b2a..5e00ffb2f47 100644 --- a/packages/grafana-toolkit/src/cli/tasks/package.build.ts +++ b/packages/grafana-toolkit/src/cli/tasks/package.build.ts @@ -1,6 +1,5 @@ import execa = require('execa'); import { promises as fs } from 'fs'; -// @ts-ignore import * as path from 'path'; import chalk from 'chalk'; import { useSpinner } from '../utils/useSpinner'; diff --git a/packages/grafana-toolkit/src/cli/tasks/plugin.ci.ts b/packages/grafana-toolkit/src/cli/tasks/plugin.ci.ts index 16a4c5d8086..eb880cd5c96 100644 --- a/packages/grafana-toolkit/src/cli/tasks/plugin.ci.ts +++ b/packages/grafana-toolkit/src/cli/tasks/plugin.ci.ts @@ -2,8 +2,6 @@ import { Task, TaskRunner } from './task'; import { pluginBuildRunner } from './plugin.build'; import { getPluginJson } from '../../config/utils/pluginValidation'; import { getPluginId } from '../../config/utils/getPluginId'; - -// @ts-ignore import execa = require('execa'); import path = require('path'); import fs from 'fs-extra'; diff --git a/packages/grafana-toolkit/src/cli/tasks/plugin.dev.ts b/packages/grafana-toolkit/src/cli/tasks/plugin.dev.ts index 34eeb0b93fc..7585bdf5956 100644 --- a/packages/grafana-toolkit/src/cli/tasks/plugin.dev.ts +++ b/packages/grafana-toolkit/src/cli/tasks/plugin.dev.ts @@ -2,8 +2,6 @@ import { Task, TaskRunner } from './task'; import { bundlePlugin as bundleFn, PluginBundleOptions } from './plugin/bundle'; import { useSpinner } from '../utils/useSpinner'; import { lintPlugin } from './plugin.build'; - -// @ts-ignore import execa = require('execa'); import path = require('path'); @@ -15,7 +13,7 @@ const yarnlink = () => try { // Make sure we are not using package.json defined toolkit await execa('yarn', ['remove', '@grafana/toolkit']); - } catch (e) { + } catch (e: any) { console.log('\n', e.message, '\n'); } await execa('yarn', ['link', '@grafana/toolkit']); diff --git a/packages/grafana-toolkit/src/cli/tasks/plugin.utils.ts b/packages/grafana-toolkit/src/cli/tasks/plugin.utils.ts index 92940148274..2ffeabfc784 100755 --- a/packages/grafana-toolkit/src/cli/tasks/plugin.utils.ts +++ b/packages/grafana-toolkit/src/cli/tasks/plugin.utils.ts @@ -5,8 +5,6 @@ import { getPluginId } from '../../config/utils/getPluginId'; import { getCiFolder } from '../../plugins/env'; import { useSpinner } from '../utils/useSpinner'; import path = require('path'); - -// @ts-ignore import execa = require('execa'); interface Command extends Array {} @@ -120,7 +118,7 @@ const prepareRelease = ({ dryrun, verbose }: any) => console.log('skipping empty line'); } } - } catch (ex) { + } catch (ex: any) { const err: string = ex.message; if (opts['okOnError'] && Array.isArray(opts['okOnError'])) { let trueError = true; diff --git a/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.managed.ts b/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.managed.ts index 2dafe879489..052c067a759 100644 --- a/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.managed.ts +++ b/packages/grafana-toolkit/src/cli/tasks/plugin/bundle.managed.ts @@ -18,7 +18,7 @@ const bundleManagedPluginsRunner: TaskRunner = async () => console.log(`[${scope}]: ${plugin} building...`); await execa('yarn', ['build'], { cwd: `${MANAGED_PLUGINS_PATH}/${scope}/${plugin}` }); console.log(`[${scope}]: ${plugin} bundled`); - } catch (e) { + } catch (e: any) { console.log(e.stdout); } } diff --git a/packages/grafana-toolkit/src/cli/utils/githubRelease.ts b/packages/grafana-toolkit/src/cli/utils/githubRelease.ts index 54df0ffba9c..a63a5609b52 100644 --- a/packages/grafana-toolkit/src/cli/utils/githubRelease.ts +++ b/packages/grafana-toolkit/src/cli/utils/githubRelease.ts @@ -3,8 +3,6 @@ import { getPluginJson } from '../../config/utils/pluginValidation'; import { getCiFolder } from '../../plugins/env'; import path = require('path'); import fs = require('fs'); -// @ts-ignore -// import execa = require('execa'); import GithubClient from './githubClient'; import { AxiosResponse } from 'axios'; @@ -79,7 +77,7 @@ class GitHubRelease { if (latestRelease.data.tag_name === `v${pluginInfo.version}`) { await this.git.client.delete(`releases/${latestRelease.data.id}`); } - } catch (reason) { + } catch (reason: any) { if (reason.response.status !== 404) { // 404 just means no release found. Not an error. Anything else though, re throw the error throw reason; @@ -102,7 +100,7 @@ class GitHubRelease { `https://uploads.github.com/repos/${this.username}/${this.repository}/releases/${newReleaseResponse.data.id}/assets` ); await Promise.all(publishPromises); - } catch (reason) { + } catch (reason: any) { console.error(reason.data?.message ?? reason.response.data ?? reason); // Rethrow the error so that we can trigger a non-zero exit code to circle-ci throw reason; diff --git a/packages/grafana-toolkit/src/cli/utils/useSpinner.ts b/packages/grafana-toolkit/src/cli/utils/useSpinner.ts index a80df432f52..6ba94e330c2 100644 --- a/packages/grafana-toolkit/src/cli/utils/useSpinner.ts +++ b/packages/grafana-toolkit/src/cli/utils/useSpinner.ts @@ -6,7 +6,7 @@ export const useSpinner = async (label: string, fn: () => Promise, killProc try { await fn(); spinner.succeed(); - } catch (err) { + } catch (err: any) { spinner.fail(err.message || err); if (err.stdout) { diff --git a/packages/grafana-toolkit/src/config/webpack.plugin.config.ts b/packages/grafana-toolkit/src/config/webpack.plugin.config.ts index 9b1539a5acd..8f6a1809f80 100644 --- a/packages/grafana-toolkit/src/config/webpack.plugin.config.ts +++ b/packages/grafana-toolkit/src/config/webpack.plugin.config.ts @@ -274,7 +274,7 @@ export const loadWebpackConfig: WebpackConfigurationGetter = async (options) => ); } return (configGetter as CustomWebpackConfigurationGetter)(baseConfig, options); - } catch (err) { + } catch (err: any) { if (err.code === 'ENOENT') { return baseConfig; } diff --git a/packages/grafana-toolkit/src/plugins/manifest.ts b/packages/grafana-toolkit/src/plugins/manifest.ts index 66c5bff94f6..b06417df778 100644 --- a/packages/grafana-toolkit/src/plugins/manifest.ts +++ b/packages/grafana-toolkit/src/plugins/manifest.ts @@ -75,7 +75,7 @@ export async function signManifest(manifest: ManifestInfo): Promise { } return info.data; - } catch (err) { + } catch (err: any) { if ((err.response && err.response.data) || err.response.data.message) { throw new Error('Error signing manifest: ' + err.response.data.message); } diff --git a/packages/grafana-toolkit/tsconfig.json b/packages/grafana-toolkit/tsconfig.json index b6c80bdbb7f..76f8cf95687 100644 --- a/packages/grafana-toolkit/tsconfig.json +++ b/packages/grafana-toolkit/tsconfig.json @@ -4,7 +4,8 @@ "module": "commonjs", "outDir": "dist/src", "rootDirs": ["."], - "typeRoots": ["node_modules/@types"] + "typeRoots": ["node_modules/@types"], + "useUnknownInCatchVariables": false }, "exclude": ["dist", "node_modules"], "extends": "@grafana/tsconfig", diff --git a/packages/grafana-ui/package.json b/packages/grafana-ui/package.json index a0f66f73b1a..59d424676d8 100644 --- a/packages/grafana-ui/package.json +++ b/packages/grafana-ui/package.json @@ -124,7 +124,7 @@ "rollup-plugin-visualizer": "4.2.0", "storybook-dark-mode": "1.0.8", "ts-loader": "8.0.11", - "typescript": "4.3.4", + "typescript": "4.4.3", "webpack-filter-warnings-plugin": "1.2.1" }, "types": "src/index.ts", diff --git a/packages/grafana-ui/src/components/DataLinks/SelectionReference.ts b/packages/grafana-ui/src/components/DataLinks/SelectionReference.ts index fa6964f1ee5..725ec3f2ce4 100644 --- a/packages/grafana-ui/src/components/DataLinks/SelectionReference.ts +++ b/packages/grafana-ui/src/components/DataLinks/SelectionReference.ts @@ -1,4 +1,6 @@ -export class SelectionReference { +import { VirtualElement } from '@popperjs/core/lib/types'; + +export class SelectionReference implements VirtualElement { getBoundingClientRect() { const selection = window.getSelection(); const node = selection && selection.anchorNode; @@ -15,7 +17,7 @@ export class SelectionReference { right: 0, width: 0, height: 0, - }; + } as DOMRect; } get clientWidth() { diff --git a/packages/jaeger-ui-components/package.json b/packages/jaeger-ui-components/package.json index 586bc49ba61..14dcd78a14d 100644 --- a/packages/jaeger-ui-components/package.json +++ b/packages/jaeger-ui-components/package.json @@ -11,7 +11,7 @@ "devDependencies": { "@wojtekmaj/enzyme-adapter-react-17": "0.6.2", "enzyme": "3.11.0", - "typescript": "4.3.4" + "typescript": "4.4.3" }, "dependencies": { "@emotion/css": "11.1.3", diff --git a/public/app/plugins/datasource/cloud-monitoring/components/LabelFilter.tsx b/public/app/plugins/datasource/cloud-monitoring/components/LabelFilter.tsx index 45b64655bf1..1dd0b441721 100644 --- a/public/app/plugins/datasource/cloud-monitoring/components/LabelFilter.tsx +++ b/public/app/plugins/datasource/cloud-monitoring/components/LabelFilter.tsx @@ -20,14 +20,14 @@ const operators = ['=', '!=', '=~', '!=~']; const FilterButton = React.forwardRef>( ({ value, isOpen, invalid, ...rest }, ref) => { - return ; + return ; } ); FilterButton.displayName = 'FilterButton'; const OperatorButton = React.forwardRef>(({ value, ...rest }, ref) => { return ( - ); diff --git a/tsconfig.json b/tsconfig.json index e9e82570335..1143460287f 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -12,7 +12,8 @@ "typeRoots": ["node_modules/@types", "public/app/types"], "allowJs": true, "strictNullChecks": true, - "resolveJsonModule": true + "resolveJsonModule": true, + "useUnknownInCatchVariables": false }, "extends": "@grafana/tsconfig/base.json", "include": [ diff --git a/yarn.lock b/yarn.lock index 21f574378a2..76c4f342ab3 100644 --- a/yarn.lock +++ b/yarn.lock @@ -23384,21 +23384,16 @@ tslib@2.0.1: resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.1.tgz#410eb0d113e5b6356490eec749603725b021b43e" integrity sha512-SgIkNheinmEBgx1IUNirK0TUD4X9yjjBRTqqjggWCU3pUEqIk3/Uwl3yRixYKT6WjQuGiwDv4NomL3wqRCj+CQ== -tslib@2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.2.0.tgz#fb2c475977e35e241311ede2693cee1ec6698f5c" - integrity sha512-gS9GVHRU+RGn5KQM2rllAlR3dU6m7AcpJKdtH8gFvQiC4Otgk98XnmMU+nZenHt/+VhnBPWwgrJsyrdcw6i23w== +tslib@2.3.1, tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.0: + version "2.3.1" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" + integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== tslib@^1.10.0, tslib@^1.8.1, tslib@^1.9.0, tslib@^1.9.3: version "1.14.1" resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== -tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0, tslib@^2.2.0, tslib@^2.3.0: - version "2.3.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01" - integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw== - tslib@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a" @@ -23529,6 +23524,11 @@ typescript@4.3.4: resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc" integrity sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew== +typescript@4.4.3: + version "4.4.3" + resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324" + integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA== + typescript@~3.9.7: version "3.9.7" resolved "https://registry.yarnpkg.com/typescript/-/typescript-3.9.7.tgz#98d600a5ebdc38f40cb277522f12dc800e9e25fa"