diff --git a/packages/app/package.json b/packages/app/package.json index 168506d498..006067f28a 100644 --- a/packages/app/package.json +++ b/packages/app/package.json @@ -31,7 +31,7 @@ "react-hot-loader": "^4.12.21", "react-router": "6.0.0-beta.0", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0", + "react-use": "^15.3.3", "zen-observable": "^0.8.15" }, "devDependencies": { diff --git a/packages/cli/templates/default-plugin/package.json.hbs b/packages/cli/templates/default-plugin/package.json.hbs index d5d25b974a..4e85bf39bd 100644 --- a/packages/cli/templates/default-plugin/package.json.hbs +++ b/packages/cli/templates/default-plugin/package.json.hbs @@ -28,7 +28,7 @@ "@material-ui/lab": "4.0.0-alpha.45", "react": "^16.13.1", "react-dom": "^16.13.1", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^{{version}}", diff --git a/packages/core-api/package.json b/packages/core-api/package.json index 5aca780e30..7e14eaec37 100644 --- a/packages/core-api/package.json +++ b/packages/core-api/package.json @@ -37,7 +37,7 @@ "prop-types": "^15.7.2", "react": "^16.12.0", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0", + "react-use": "^15.3.3", "zen-observable": "^0.8.15" }, "devDependencies": { diff --git a/packages/core/package.json b/packages/core/package.json index 3faaa33ddf..8815c1379b 100644 --- a/packages/core/package.json +++ b/packages/core/package.json @@ -51,7 +51,7 @@ "react-router-dom": "6.0.0-beta.0", "react-sparklines": "^1.7.0", "react-syntax-highlighter": "^12.2.1", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/packages/core/src/layout/Sidebar/Intro.tsx b/packages/core/src/layout/Sidebar/Intro.tsx index b4bb56588e..912b343244 100644 --- a/packages/core/src/layout/Sidebar/Intro.tsx +++ b/packages/core/src/layout/Sidebar/Intro.tsx @@ -129,19 +129,27 @@ const recentlyViewedIntroText = export const SidebarIntro: FC = () => { const { isOpen } = useContext(SidebarContext); - const [ - { starredItemsDismissed, recentlyViewedItemsDismissed }, - setDismissedIntro, - ] = useLocalStorage(SIDEBAR_INTRO_LOCAL_STORAGE, { + const defaultValue = { starredItemsDismissed: false, recentlyViewedItemsDismissed: false, - }); + }; + const [dismissedIntro, setDismissedIntro] = useLocalStorage< + SidebarIntroLocalStorage + >(SIDEBAR_INTRO_LOCAL_STORAGE); + + const { starredItemsDismissed, recentlyViewedItemsDismissed } = + dismissedIntro ?? {}; const dismissStarred = () => { - setDismissedIntro(state => ({ ...state, starredItemsDismissed: true })); + setDismissedIntro(state => ({ + ...defaultValue, + ...state, + starredItemsDismissed: true, + })); }; const dismissRecentlyViewed = () => { setDismissedIntro(state => ({ + ...defaultValue, ...state, recentlyViewedItemsDismissed: true, })); diff --git a/packages/create-app/templates/default-app/packages/app/package.json.hbs b/packages/create-app/templates/default-app/packages/app/package.json.hbs index f29453b6dc..c3de7ada80 100644 --- a/packages/create-app/templates/default-app/packages/app/package.json.hbs +++ b/packages/create-app/templates/default-app/packages/app/package.json.hbs @@ -16,7 +16,7 @@ "react-dom": "^16.13.1", "react-router": "6.0.0-beta.0", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@testing-library/jest-dom": "^5.10.1", diff --git a/packages/create-app/templates/default-app/plugins/welcome/package.json.hbs b/packages/create-app/templates/default-app/plugins/welcome/package.json.hbs index 52e7a04f72..77e57c1a7c 100644 --- a/packages/create-app/templates/default-app/plugins/welcome/package.json.hbs +++ b/packages/create-app/templates/default-app/plugins/welcome/package.json.hbs @@ -25,7 +25,7 @@ "@material-ui/icons": "^4.9.1", "react": "^16.13.1", "react-dom": "^16.13.1", - "react-use": "^14.2.0", + "react-use": "^15.3.3", "react-router-dom": "6.0.0-beta.0" }, "devDependencies": { diff --git a/plugins/catalog/package.json b/plugins/catalog/package.json index 4ab0decfbe..d18aa339ca 100644 --- a/plugins/catalog/package.json +++ b/plugins/catalog/package.json @@ -35,7 +35,7 @@ "react-dom": "^16.13.1", "react-router": "6.0.0-beta.0", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0", + "react-use": "^15.3.3", "swr": "^0.2.2" }, "devDependencies": { diff --git a/plugins/catalog/src/components/EntityPage/EntityPage.tsx b/plugins/catalog/src/components/EntityPage/EntityPage.tsx index ce128777bd..c11844f722 100644 --- a/plugins/catalog/src/components/EntityPage/EntityPage.tsx +++ b/plugins/catalog/src/components/EntityPage/EntityPage.tsx @@ -87,7 +87,7 @@ export const EntityPage: FC<{}> = () => { const catalogApi = useApi(catalogApiRef); const [confirmationDialogOpen, setConfirmationDialogOpen] = useState(false); - const { value: entity, error, loading } = useAsync( + const { value: entity, error, loading } = useAsync( () => catalogApi.getEntityByName({ kind, namespace, name }), [catalogApi, kind, namespace, name], ); diff --git a/plugins/circleci/package.json b/plugins/circleci/package.json index 3cf357bbce..4902810f4b 100644 --- a/plugins/circleci/package.json +++ b/plugins/circleci/package.json @@ -33,7 +33,7 @@ "react-lazylog": "^4.5.2", "react-router": "6.0.0-beta.0", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/plugins/explore/package.json b/plugins/explore/package.json index 6840cf5e52..3036425b1b 100644 --- a/plugins/explore/package.json +++ b/plugins/explore/package.json @@ -29,7 +29,7 @@ "classnames": "^2.2.6", "react": "^16.13.1", "react-dom": "^16.13.1", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/plugins/github-actions/package.json b/plugins/github-actions/package.json index 55f1aab4de..0466af977a 100644 --- a/plugins/github-actions/package.json +++ b/plugins/github-actions/package.json @@ -36,7 +36,7 @@ "react": "^16.13.1", "react-dom": "^16.13.1", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/plugins/github-actions/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts b/plugins/github-actions/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts index d4c09abf7d..f471ce1875 100644 --- a/plugins/github-actions/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts +++ b/plugins/github-actions/src/components/WorkflowRunDetails/useWorkflowRunJobs.ts @@ -17,8 +17,14 @@ import { useAsync } from 'react-use'; import { Jobs } from '../../api/types'; export const useWorkflowRunJobs = (jobsUrl?: string) => { - const jobs = useAsync(async () => { - if (jobsUrl === undefined) return []; + const jobs = useAsync(async (): Promise => { + if (jobsUrl === undefined) { + return { + total_count: 0, + jobs: [], + }; + } + const data = await fetch(jobsUrl).then(d => d.json()); return data; }, [jobsUrl]); diff --git a/plugins/github-actions/src/components/useProjectName.ts b/plugins/github-actions/src/components/useProjectName.ts index 165baeead2..4f2651faf2 100644 --- a/plugins/github-actions/src/components/useProjectName.ts +++ b/plugins/github-actions/src/components/useProjectName.ts @@ -21,7 +21,7 @@ import { useApi } from '@backstage/core'; export const useProjectName = (name: EntityCompoundName) => { const catalogApi = useApi(catalogApiRef); - const { value, loading, error } = useAsync(async () => { + const { value, loading, error } = useAsync(async () => { const entity = await catalogApi.getEntityByName(name); return entity?.metadata.annotations?.['github.com/project-slug'] ?? ''; }); diff --git a/plugins/gitops-profiles/package.json b/plugins/gitops-profiles/package.json index 8157cfe519..0b838af358 100644 --- a/plugins/gitops-profiles/package.json +++ b/plugins/gitops-profiles/package.json @@ -29,7 +29,7 @@ "react": "^16.13.1", "react-dom": "^16.13.1", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/plugins/gitops-profiles/src/components/ClusterList/ClusterList.tsx b/plugins/gitops-profiles/src/components/ClusterList/ClusterList.tsx index 44578560e6..baab018415 100644 --- a/plugins/gitops-profiles/src/components/ClusterList/ClusterList.tsx +++ b/plugins/gitops-profiles/src/components/ClusterList/ClusterList.tsx @@ -31,7 +31,7 @@ import { import ClusterTable from '../ClusterTable/ClusterTable'; import { Button } from '@material-ui/core'; import { useAsync } from 'react-use'; -import { gitOpsApiRef, ListClusterStatusesResponse } from '../../api'; +import { gitOpsApiRef } from '../../api'; import { Alert } from '@material-ui/lab'; const ClusterList: FC<{}> = () => { @@ -39,19 +39,17 @@ const ClusterList: FC<{}> = () => { const githubAuth = useApi(githubAuthApiRef); const [githubUsername, setGithubUsername] = useState(String); - const { loading, error, value } = useAsync( - async () => { - const accessToken = await githubAuth.getAccessToken(['repo', 'user']); - if (!githubUsername) { - const userInfo = await api.fetchUserInfo({ accessToken }); - setGithubUsername(userInfo.login); - } - return api.listClusters({ - gitHubToken: accessToken, - gitHubUser: githubUsername, - }); - }, - ); + const { loading, error, value } = useAsync(async () => { + const accessToken = await githubAuth.getAccessToken(['repo', 'user']); + if (!githubUsername) { + const userInfo = await api.fetchUserInfo({ accessToken }); + setGithubUsername(userInfo.login); + } + return api.listClusters({ + gitHubToken: accessToken, + gitHubUser: githubUsername, + }); + }); let content: JSX.Element; if (loading) { content = ( diff --git a/plugins/gitops-profiles/src/components/ProfileCatalog/ProfileCatalog.tsx b/plugins/gitops-profiles/src/components/ProfileCatalog/ProfileCatalog.tsx index 3193bbea06..a5125fb006 100644 --- a/plugins/gitops-profiles/src/components/ProfileCatalog/ProfileCatalog.tsx +++ b/plugins/gitops-profiles/src/components/ProfileCatalog/ProfileCatalog.tsx @@ -201,7 +201,7 @@ const ProfileCatalog: FC<{}> = () => { setRunStatus([]); const cloneResponse = await api.cloneClusterFromTemplate({ - templateRepository: templateRepo, + templateRepository: templateRepo!, gitHubToken: githubAccessToken, gitHubUser: githubUsername, targetOrg: gitHubOrg, @@ -224,7 +224,7 @@ const ProfileCatalog: FC<{}> = () => { gitHubUser: githubUsername, targetOrg: gitHubOrg, targetRepo: gitHubRepo, - profiles: gitopsProfiles, + profiles: gitopsProfiles!, }); if (applyProfileResp.error === undefined) { diff --git a/plugins/graphiql/package.json b/plugins/graphiql/package.json index 193fe3d133..d4b6bfc7c4 100644 --- a/plugins/graphiql/package.json +++ b/plugins/graphiql/package.json @@ -40,7 +40,7 @@ "graphql": "15.1.0", "react": "^16.13.1", "react-dom": "^16.13.1", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/plugins/lighthouse/package.json b/plugins/lighthouse/package.json index eea841c174..5c8e06834c 100644 --- a/plugins/lighthouse/package.json +++ b/plugins/lighthouse/package.json @@ -30,7 +30,7 @@ "react-dom": "^16.13.1", "react-markdown": "^4.3.1", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/plugins/lighthouse/src/components/AuditList/index.tsx b/plugins/lighthouse/src/components/AuditList/index.tsx index 09ea882134..c83ce9f641 100644 --- a/plugins/lighthouse/src/components/AuditList/index.tsx +++ b/plugins/lighthouse/src/components/AuditList/index.tsx @@ -32,7 +32,7 @@ import { useApi, } from '@backstage/core'; -import { lighthouseApiRef, WebsiteListResponse } from '../../api'; +import { lighthouseApiRef } from '../../api'; import { useQuery } from '../../utils'; import LighthouseSupportButton from '../SupportButton'; import LighthouseIntro, { LIGHTHOUSE_INTRO_LOCAL_STORAGE } from '../Intro'; @@ -50,7 +50,7 @@ const AuditList: FC<{}> = () => { : 1; const lighthouseApi = useApi(lighthouseApiRef); - const { value, loading, error } = useAsync( + const { value, loading, error } = useAsync( async () => await lighthouseApi.getWebsiteList({ limit: LIMIT, diff --git a/plugins/lighthouse/src/components/AuditView/index.tsx b/plugins/lighthouse/src/components/AuditView/index.tsx index d323b1a005..12606482bf 100644 --- a/plugins/lighthouse/src/components/AuditView/index.tsx +++ b/plugins/lighthouse/src/components/AuditView/index.tsx @@ -117,7 +117,7 @@ const ConnectedAuditView: FC<{}> = () => { const params = useParams() as { id: string }; const classes = useStyles(); - const { loading, error, value: nextValue } = useAsync( + const { loading, error, value: nextValue } = useAsync( async () => await lighthouseApi.getWebsiteForAuditId(params.id), [params.id], ); diff --git a/plugins/register-component/package.json b/plugins/register-component/package.json index e1a095f1e4..b1bf461764 100644 --- a/plugins/register-component/package.json +++ b/plugins/register-component/package.json @@ -33,7 +33,7 @@ "react-hook-form": "^5.7.2", "react-router": "6.0.0-beta.0", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/plugins/rollbar/package.json b/plugins/rollbar/package.json index d2308b869e..3a1b0a94c5 100644 --- a/plugins/rollbar/package.json +++ b/plugins/rollbar/package.json @@ -32,7 +32,7 @@ "react-router": "6.0.0-beta.0", "react-router-dom": "6.0.0-beta.0", "react-sparklines": "^1.7.0", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/plugins/scaffolder/package.json b/plugins/scaffolder/package.json index e28387c30e..3be38f6ea1 100644 --- a/plugins/scaffolder/package.json +++ b/plugins/scaffolder/package.json @@ -37,7 +37,7 @@ "react-lazylog": "^4.5.2", "react-router": "6.0.0-beta.0", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0", + "react-use": "^15.3.3", "swr": "^0.2.2" }, "devDependencies": { diff --git a/plugins/sentry/package.json b/plugins/sentry/package.json index 3a5cbd5094..5c40d2ff24 100644 --- a/plugins/sentry/package.json +++ b/plugins/sentry/package.json @@ -30,7 +30,7 @@ "react": "^16.13.1", "react-dom": "^16.13.1", "react-sparklines": "^1.7.0", - "react-use": "^14.2.0", + "react-use": "^15.3.3", "timeago.js": "^4.0.2" }, "devDependencies": { diff --git a/plugins/tech-radar/package.json b/plugins/tech-radar/package.json index 0018a6faeb..3f4e63df69 100644 --- a/plugins/tech-radar/package.json +++ b/plugins/tech-radar/package.json @@ -32,7 +32,7 @@ "prop-types": "^15.7.2", "react": "^16.13.1", "react-dom": "^16.13.1", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/plugins/techdocs/package.json b/plugins/techdocs/package.json index 210d297c7d..cdfbf394f9 100644 --- a/plugins/techdocs/package.json +++ b/plugins/techdocs/package.json @@ -32,7 +32,7 @@ "react-dom": "^16.13.1", "react-router": "6.0.0-beta.0", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0", + "react-use": "^15.3.3", "sanitize-html": "^1.27.0" }, "devDependencies": { diff --git a/plugins/welcome/package.json b/plugins/welcome/package.json index 66fec93779..545954bc75 100644 --- a/plugins/welcome/package.json +++ b/plugins/welcome/package.json @@ -29,7 +29,7 @@ "react": "^16.13.1", "react-dom": "^16.13.1", "react-router-dom": "6.0.0-beta.0", - "react-use": "^14.2.0" + "react-use": "^15.3.3" }, "devDependencies": { "@backstage/cli": "^0.1.1-alpha.16", diff --git a/yarn.lock b/yarn.lock index dd3c0ce6d7..99db406126 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9666,10 +9666,10 @@ fast-deep-equal@2.0.1, fast-deep-equal@^2.0.1: resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49" integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk= -fast-deep-equal@^3.0.0, fast-deep-equal@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4" - integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA== +fast-deep-equal@^3.0.0, fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: + version "3.1.3" + resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" + integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q== fast-glob@^2.0.2, fast-glob@^2.2.6: version "2.2.7" @@ -17167,24 +17167,30 @@ react-transition-group@^4.0.0, react-transition-group@^4.3.0: loose-envify "^1.4.0" prop-types "^15.6.2" -react-use@^14.2.0: - version "14.2.0" - resolved "https://registry.npmjs.org/react-use/-/react-use-14.2.0.tgz#abac033fae5e358599b7e38084ff11b02e5d4868" - integrity sha512-vwC7jsBsiDENLrXGPqIH3W4mMS2j24h5jp4ol3jiiUQzZhCaG+ihumrShJxBI59hXso1pLHAePRQAg/fJjDcaQ== +react-universal-interface@^0.6.2: + version "0.6.2" + resolved "https://registry.npmjs.org/react-universal-interface/-/react-universal-interface-0.6.2.tgz#5e8d438a01729a4dbbcbeeceb0b86be146fe2b3b" + integrity sha512-dg8yXdcQmvgR13RIlZbTRQOoUrDciFVoSBZILwjE2LFISxZZ8loVJKAkuzswl5js8BHda79bIb2b84ehU8IjXw== + +react-use@^15.3.3: + version "15.3.3" + resolved "https://registry.npmjs.org/react-use/-/react-use-15.3.3.tgz#f16de7a16286c446388e8bd99680952fc3dc9a95" + integrity sha512-nYb94JbmDCaLZg3sOXmFW8HN+lXWxnl0caspXoYfZG1CON8JfLN9jMOyxRDUpm7dUq7WZ5mIept/ByqBQKJ0wQ== dependencies: "@types/js-cookie" "2.2.6" "@xobotyi/scrollbar-width" "1.9.5" copy-to-clipboard "^3.2.0" - fast-deep-equal "^3.1.1" + fast-deep-equal "^3.1.3" fast-shallow-equal "^1.0.0" js-cookie "^2.2.1" nano-css "^5.2.1" + react-universal-interface "^0.6.2" resize-observer-polyfill "^1.5.1" screenfull "^5.0.0" set-harmonic-interval "^1.0.1" throttle-debounce "^2.1.0" ts-easing "^0.2.0" - tslib "^1.10.0" + tslib "^2.0.0" react-virtualized@^9.21.0: version "9.21.2"