From 6e7a08a3bbb7ece140f6610e8917ef7a35c8c1c4 Mon Sep 17 00:00:00 2001 From: Sebastian Sdorra Date: Sat, 19 Oct 2019 16:38:07 +0200 Subject: [PATCH] use reflow to migrate from flow to typescript --- package.json | 1 + scm-ui/babel-preset/index.js | 3 +- scm-ui/babel-preset/package.json | 3 +- scm-ui/jest-preset/jest-preset.js | 4 +- scm-ui/ui-components/.storybook/config.js | 2 +- scm-ui/ui-components/package.json | 6 +- .../src/{Autocomplete.js => Autocomplete.tsx} | 44 +- ...cation.js => BackendErrorNotification.tsx} | 34 +- .../{BranchSelector.js => BranchSelector.tsx} | 49 +- .../src/{Breadcrumb.js => Breadcrumb.tsx} | 55 +- .../src/{CardColumn.js => CardColumn.tsx} | 35 +- ...CardColumnGroup.js => CardColumnGroup.tsx} | 37 +- ...Now.stories.js => DateFromNow.stories.tsx} | 12 +- .../src/{DateFromNow.js => DateFromNow.tsx} | 25 +- .../{ErrorBoundary.js => ErrorBoundary.tsx} | 19 +- ...rNotification.js => ErrorNotification.tsx} | 29 +- .../src/{ErrorPage.js => ErrorPage.tsx} | 17 +- scm-ui/ui-components/src/FileSize.test.js | 10 - scm-ui/ui-components/src/FileSize.test.ts | 10 + .../src/{FileSize.js => FileSize.tsx} | 9 +- scm-ui/ui-components/src/GroupAutocomplete.js | 27 - .../ui-components/src/GroupAutocomplete.tsx | 26 + scm-ui/ui-components/src/Help.js | 27 - scm-ui/ui-components/src/Help.tsx | 29 + .../src/{HelpIcon.js => HelpIcon.tsx} | 7 +- scm-ui/ui-components/src/Icon.js | 29 - scm-ui/ui-components/src/Icon.tsx | 43 + .../ui-components/src/{Image.js => Image.tsx} | 14 +- .../{LinkPaginator.js => LinkPaginator.tsx} | 48 +- scm-ui/ui-components/src/Loading.stories.js | 11 - scm-ui/ui-components/src/Loading.stories.tsx | 9 + .../src/{Loading.js => Loading.tsx} | 17 +- scm-ui/ui-components/src/Logo.js | 17 - scm-ui/ui-components/src/Logo.stories.js | 17 - scm-ui/ui-components/src/Logo.stories.tsx | 16 + scm-ui/ui-components/src/Logo.tsx | 16 + .../src/{MailLink.js => MailLink.tsx} | 7 +- .../src/MarkdownHeadingRenderer.test.js | 18 - .../src/MarkdownHeadingRenderer.test.ts | 15 + ...enderer.js => MarkdownHeadingRenderer.tsx} | 27 +- .../ui-components/src/MarkdownView.stories.js | 22 - .../src/MarkdownView.stories.tsx | 21 + .../src/{MarkdownView.js => MarkdownView.tsx} | 47 +- .../src/{Notification.js => Notification.tsx} | 33 +- ...PageActions.js => OverviewPageActions.tsx} | 25 +- .../{Paginator.test.js => Paginator.test.tsx} | 126 ++- .../src/{Paginator.js => Paginator.tsx} | 43 +- .../{ProtectedRoute.js => ProtectedRoute.tsx} | 15 +- .../{StatePaginator.js => StatePaginator.tsx} | 37 +- .../src/SyntaxHighlighter.stories.js | 36 - .../src/SyntaxHighlighter.stories.tsx | 35 + ...axHighlighter.js => SyntaxHighlighter.tsx} | 12 +- scm-ui/ui-components/src/{Tag.js => Tag.tsx} | 27 +- scm-ui/ui-components/src/Tooltip.js | 32 - scm-ui/ui-components/src/Tooltip.tsx | 35 + scm-ui/ui-components/src/UserAutocomplete.js | 27 - scm-ui/ui-components/src/UserAutocomplete.tsx | 26 + ...ocomplete.js => UserGroupAutocomplete.tsx} | 25 +- .../{HttpServer.go.js => HttpServer.go.ts} | 0 ...{HttpServer.java.js => HttpServer.java.ts} | 0 .../src/__resources__/HttpServer.js.js | 7 - .../{HttpServer.py.js => HttpServer.py.ts} | 0 .../{test-page.md.js => test-page.md.ts} | 0 ...s.test.js.snap => storyshots.test.ts.snap} | 186 +--- scm-ui/ui-components/src/apiclient.test.js | 78 -- scm-ui/ui-components/src/apiclient.test.ts | 74 ++ .../src/{apiclient.js => apiclient.ts} | 69 +- scm-ui/ui-components/src/avatar/Avatar.js | 8 - scm-ui/ui-components/src/avatar/Avatar.ts | 6 + .../{AvatarImage.js => AvatarImage.tsx} | 20 +- .../{AvatarWrapper.js => AvatarWrapper.tsx} | 9 +- scm-ui/ui-components/src/avatar/index.js | 4 - scm-ui/ui-components/src/avatar/index.ts | 2 + .../buttons/{AddButton.js => AddButton.tsx} | 5 +- .../src/buttons/{Button.js => Button.tsx} | 59 +- .../{ButtonAddons.js => ButtonAddons.tsx} | 15 +- .../{ButtonGroup.js => ButtonGroup.tsx} | 17 +- .../{CreateButton.js => CreateButton.tsx} | 7 +- .../{DeleteButton.js => DeleteButton.tsx} | 5 +- .../{DownloadButton.js => DownloadButton.tsx} | 18 +- .../buttons/{EditButton.js => EditButton.tsx} | 5 +- ...Button.js => RemoveEntryOfTableButton.tsx} | 17 +- .../{SubmitButton.js => SubmitButton.tsx} | 13 +- scm-ui/ui-components/src/buttons/index.js | 14 - .../src/buttons/index.stories.js | 75 -- .../src/buttons/index.stories.tsx | 74 ++ scm-ui/ui-components/src/buttons/index.ts | 14 + .../{Configuration.js => Configuration.tsx} | 85 +- .../src/config/ConfigurationBinder.js | 104 --- .../src/config/ConfigurationBinder.tsx | 134 +++ scm-ui/ui-components/src/config/index.js | 3 - scm-ui/ui-components/src/config/index.ts | 2 + scm-ui/ui-components/src/errors.test.js | 37 - scm-ui/ui-components/src/errors.test.ts | 40 + .../src/{errors.js => errors.ts} | 37 +- ...TableField.js => AddEntryToTableField.tsx} | 44 +- ...s => AutocompleteAddEntryToTableField.tsx} | 45 +- .../src/forms/{Checkbox.js => Checkbox.tsx} | 21 +- scm-ui/ui-components/src/forms/DropDown.js | 43 - scm-ui/ui-components/src/forms/DropDown.tsx | 56 ++ .../forms/{FilterInput.js => FilterInput.tsx} | 27 +- .../forms/{InputField.js => InputField.tsx} | 47 +- ...lWithHelpIcon.js => LabelWithHelpIcon.tsx} | 20 +- .../src/forms/MemberNameTagGroup.js | 39 - .../src/forms/MemberNameTagGroup.tsx | 42 + ...nfirmation.js => PasswordConfirmation.tsx} | 56 +- .../src/forms/{Radio.js => Radio.tsx} | 21 +- .../src/forms/{Select.js => Select.tsx} | 39 +- .../src/forms/{TagGroup.js => TagGroup.tsx} | 19 +- .../src/forms/{Textarea.js => Textarea.tsx} | 27 +- scm-ui/ui-components/src/forms/index.js | 16 - scm-ui/ui-components/src/forms/index.ts | 17 + .../ui-components/src/{index.js => index.ts} | 50 +- .../src/layout/{Footer.js => Footer.tsx} | 15 +- .../src/layout/{Header.js => Header.tsx} | 61 +- .../src/layout/{Level.js => Level.tsx} | 13 +- .../src/layout/{Page.js => Page.tsx} | 39 +- .../{PageActions.js => PageActions.tsx} | 13 +- .../src/layout/{Subtitle.js => Subtitle.tsx} | 5 +- .../src/layout/{Title.js => Title.tsx} | 5 +- scm-ui/ui-components/src/layout/index.js | 10 - scm-ui/ui-components/src/layout/index.ts | 9 + .../{ConfirmAlert.js => ConfirmAlert.tsx} | 21 +- .../src/modals/{Modal.js => Modal.tsx} | 31 +- scm-ui/ui-components/src/modals/index.js | 5 - scm-ui/ui-components/src/modals/index.ts | 4 + .../ui-components/src/navigation/NavAction.js | 27 - .../src/navigation/NavAction.tsx | 33 + .../navigation/{NavLink.js => NavLink.tsx} | 28 +- .../{Navigation.js => Navigation.tsx} | 5 +- ...aryNavigation.js => PrimaryNavigation.tsx} | 65 +- ...ationLink.js => PrimaryNavigationLink.tsx} | 15 +- .../navigation/{Section.js => Section.tsx} | 7 +- .../{SubNavigation.js => SubNavigation.tsx} | 31 +- scm-ui/ui-components/src/navigation/index.js | 10 - scm-ui/ui-components/src/navigation/index.ts | 9 + .../src/repos/{Diff.js => Diff.tsx} | 13 +- .../src/repos/{DiffFile.js => DiffFile.tsx} | 111 +-- scm-ui/ui-components/src/repos/DiffTypes.js | 74 -- scm-ui/ui-components/src/repos/DiffTypes.ts | 75 ++ .../repos/{LoadingDiff.js => LoadingDiff.tsx} | 46 +- ...ChangesetAuthor.js => ChangesetAuthor.tsx} | 25 +- ...uttonGroup.js => ChangesetButtonGroup.tsx} | 23 +- .../src/repos/changesets/ChangesetDiff.js | 38 - .../src/repos/changesets/ChangesetDiff.tsx | 39 + .../{ChangesetId.js => ChangesetId.tsx} | 24 +- .../{ChangesetList.js => ChangesetList.tsx} | 11 +- .../{ChangesetRow.js => ChangesetRow.tsx} | 47 +- .../{ChangesetTag.js => ChangesetTag.tsx} | 9 +- ...angesetTagBase.js => ChangesetTagBase.tsx} | 13 +- .../{ChangesetTags.js => ChangesetTags.tsx} | 12 +- .../changesets/ChangesetTagsCollapsed.js | 30 - .../changesets/ChangesetTagsCollapsed.tsx | 29 + .../src/repos/changesets/changesets.test.js | 22 - .../src/repos/changesets/changesets.test.ts | 20 + .../{changesets.js => changesets.ts} | 25 +- .../src/repos/changesets/index.js | 13 - .../src/repos/changesets/index.ts | 12 + scm-ui/ui-components/src/repos/diffs.test.js | 76 -- scm-ui/ui-components/src/repos/diffs.test.ts | 75 ++ .../src/repos/{diffs.js => diffs.ts} | 5 +- .../src/repos/{index.js => index.ts} | 16 +- scm-ui/ui-components/src/repositories.test.js | 99 -- scm-ui/ui-components/src/repositories.test.ts | 98 ++ .../src/{repositories.js => repositories.ts} | 3 +- scm-ui/ui-components/src/storyshots.test.js | 6 - scm-ui/ui-components/src/storyshots.test.ts | 6 + scm-ui/ui-components/src/urls.test.js | 74 -- scm-ui/ui-components/src/urls.test.ts | 72 ++ scm-ui/ui-components/src/{urls.js => urls.ts} | 11 +- ...{validation.test.js => validation.test.ts} | 110 ++- .../src/{validation.js => validation.ts} | 1 - scm-ui/ui-extensions/package.json | 2 +- ...nPoint.test.js => ExtensionPoint.test.tsx} | 78 +- .../{ExtensionPoint.js => ExtensionPoint.tsx} | 17 +- scm-ui/ui-extensions/src/binder.test.js | 52 -- scm-ui/ui-extensions/src/binder.test.ts | 65 ++ .../src/{binder.js => binder.ts} | 20 +- scm-ui/ui-extensions/src/index.js | 3 - scm-ui/ui-extensions/src/index.ts | 2 + .../src/testing/{Label.js => Label.tsx} | 5 +- scm-ui/ui-scripts/src/webpack.config.js | 11 +- scm-ui/ui-types/package.json | 2 +- scm-ui/ui-types/src/Action.js | 7 - scm-ui/ui-types/src/Action.ts | 6 + scm-ui/ui-types/src/Autocomplete.js | 10 - scm-ui/ui-types/src/Autocomplete.ts | 9 + scm-ui/ui-types/src/Branches.js | 14 - scm-ui/ui-types/src/Branches.ts | 13 + scm-ui/ui-types/src/Changesets.js | 25 - scm-ui/ui-types/src/Changesets.ts | 24 + scm-ui/ui-types/src/Config.js | 25 - scm-ui/ui-types/src/Config.ts | 24 + scm-ui/ui-types/src/Group.js | 20 - scm-ui/ui-types/src/Group.ts | 19 + scm-ui/ui-types/src/IndexResources.js | 7 - scm-ui/ui-types/src/IndexResources.ts | 6 + scm-ui/ui-types/src/Me.js | 11 - scm-ui/ui-types/src/Me.ts | 9 + scm-ui/ui-types/src/NamespaceStrategies.js | 9 - scm-ui/ui-types/src/NamespaceStrategies.ts | 7 + scm-ui/ui-types/src/Plugin.js | 38 - scm-ui/ui-types/src/Plugin.ts | 37 + scm-ui/ui-types/src/Repositories.js | 24 - scm-ui/ui-types/src/Repositories.ts | 23 + ...ermissions.js => RepositoryPermissions.ts} | 15 +- scm-ui/ui-types/src/RepositoryRole.js | 13 - scm-ui/ui-types/src/RepositoryRole.ts | 10 + scm-ui/ui-types/src/RepositoryTypes.js | 14 - scm-ui/ui-types/src/RepositoryTypes.ts | 12 + scm-ui/ui-types/src/Sources.js | 25 - scm-ui/ui-types/src/Sources.ts | 23 + scm-ui/ui-types/src/Tags.js | 8 - scm-ui/ui-types/src/Tags.ts | 7 + scm-ui/ui-types/src/User.js | 20 - scm-ui/ui-types/src/User.ts | 19 + scm-ui/ui-types/src/{hal.js => hal.ts} | 17 +- scm-ui/ui-types/src/index.js | 32 - scm-ui/ui-types/src/index.ts | 31 + scm-ui/ui-webapp/package.json | 2 - ...BaseUrlSettings.js => BaseUrlSettings.tsx} | 33 +- .../form/{ConfigForm.js => ConfigForm.tsx} | 105 ++- ...GeneralSettings.js => GeneralSettings.tsx} | 77 +- .../{LoginAttempt.js => LoginAttempt.tsx} | 51 +- ...ySelect.js => NamespaceStrategySelect.tsx} | 29 +- .../admin/components/form/ProxySettings.js | 146 --- .../admin/components/form/ProxySettings.tsx | 145 +++ ...rayConfigTable.js => ArrayConfigTable.tsx} | 22 +- .../components/table/ProxyExcludesTable.js | 35 - .../components/table/ProxyExcludesTable.tsx | 34 + .../admin/containers/{Admin.js => Admin.tsx} | 75 +- .../{AdminDetails.js => AdminDetails.tsx} | 47 +- .../{GlobalConfig.js => GlobalConfig.tsx} | 99 +- .../{config.test.js => config.test.ts} | 177 ++-- .../admin/modules/{config.js => config.ts} | 53 +- ...es.test.js => namespaceStrategies.test.ts} | 125 +-- ...ceStrategies.js => namespaceStrategies.ts} | 57 +- ...nModal.js => CancelPendingActionModal.tsx} | 26 +- ...dingAction.js => ExecutePendingAction.tsx} | 27 +- .../components/ExecutePendingActionModal.js | 45 - .../components/ExecutePendingActionModal.tsx | 43 + ...endingModal.js => ExecutePendingModal.tsx} | 72 +- ...inActionModal.js => PluginActionModal.tsx} | 59 +- .../admin/plugins/components/PluginAvatar.js | 22 - .../admin/plugins/components/PluginAvatar.tsx | 29 + ...ttomActions.js => PluginBottomActions.tsx} | 7 +- .../{PluginEntry.js => PluginEntry.tsx} | 65 +- .../plugins/components/PluginGroupEntry.js | 22 - .../plugins/components/PluginGroupEntry.tsx | 23 + .../admin/plugins/components/PluginList.js | 27 - .../admin/plugins/components/PluginList.tsx | 32 + .../{PluginModal.js => PluginModal.tsx} | 99 +- ...uginTopActions.js => PluginTopActions.tsx} | 17 +- .../plugins/components/SuccessNotification.js | 25 - .../components/SuccessNotification.tsx | 24 + ...ctionModal.js => UpdateAllActionModal.tsx} | 26 +- ...{groupByCategory.js => groupByCategory.ts} | 9 +- .../{waitForRestart.js => waitForRestart.ts} | 7 +- ...PluginsOverview.js => PluginsOverview.tsx} | 157 ++-- .../src/admin/plugins/modules/plugins.test.js | 353 ------- .../src/admin/plugins/modules/plugins.test.ts | 362 ++++++++ .../modules/{plugins.js => plugins.ts} | 102 +- .../{AvailableVerbs.js => AvailableVerbs.tsx} | 15 +- ...leDetails.js => PermissionRoleDetails.tsx} | 27 +- .../components/PermissionRoleDetailsTable.js | 38 - .../components/PermissionRoleDetailsTable.tsx | 37 + ...issionRoleRow.js => PermissionRoleRow.tsx} | 13 +- .../roles/components/PermissionRoleTable.js | 37 - .../roles/components/PermissionRoleTable.tsx | 36 + .../admin/roles/components/SystemRoleTag.js | 30 - .../admin/roles/components/SystemRoleTag.tsx | 29 + ...sitoryRole.js => CreateRepositoryRole.tsx} | 49 +- ...sitoryRole.js => DeleteRepositoryRole.tsx} | 67 +- ...positoryRole.js => EditRepositoryRole.tsx} | 51 +- ...toryRoleForm.js => RepositoryRoleForm.tsx} | 71 +- ...RepositoryRoles.js => RepositoryRoles.tsx} | 72 +- ...sitoryRole.js => SingleRepositoryRole.tsx} | 69 +- .../modules/{roles.test.js => roles.test.ts} | 414 +++++---- .../roles/modules/{roles.js => roles.ts} | 144 ++- .../components/{InfoBox.js => InfoBox.tsx} | 43 +- scm-ui/ui-webapp/src/components/InfoItem.js | 8 - scm-ui/ui-webapp/src/components/InfoItem.ts | 9 + .../{LoginForm.js => LoginForm.tsx} | 52 +- .../{LoginInfo.js => LoginInfo.tsx} | 48 +- .../src/containers/{App.js => App.tsx} | 55 +- ...UserPassword.js => ChangeUserPassword.tsx} | 70 +- .../src/containers/{Index.js => Index.tsx} | 51 +- .../src/containers/IndexErrorPage.js | 26 - .../src/containers/IndexErrorPage.tsx | 23 + .../src/containers/{Login.js => Login.tsx} | 53 +- .../src/containers/{Logout.js => Logout.tsx} | 44 +- .../src/containers/{Main.js => Main.tsx} | 50 +- .../{PluginLoader.js => PluginLoader.tsx} | 35 +- .../containers/{Profile.js => Profile.tsx} | 58 +- .../{ProfileInfo.js => ProfileInfo.tsx} | 25 +- .../{ScrollToTop.js => ScrollToTop.ts} | 12 +- scm-ui/ui-webapp/src/containers/loadBundle.js | 58 -- scm-ui/ui-webapp/src/containers/loadBundle.ts | 58 ++ scm-ui/ui-webapp/src/createReduxStore.js | 52 -- scm-ui/ui-webapp/src/createReduxStore.ts | 48 + .../{GroupForm.js => GroupForm.tsx} | 103 +- ...{groupValidation.js => groupValidation.ts} | 3 +- .../components/navLinks/EditGroupNavLink.js | 28 - .../navLinks/EditGroupNavLink.test.js | 29 - .../navLinks/EditGroupNavLink.test.tsx | 31 + .../components/navLinks/EditGroupNavLink.tsx | 29 + .../navLinks/SetPermissionsNavLink.js | 28 - .../navLinks/SetPermissionsNavLink.tsx | 32 + .../src/groups/components/navLinks/index.js | 2 - .../src/groups/components/navLinks/index.ts | 2 + .../table/{Details.js => Details.tsx} | 31 +- .../table/{GroupMember.js => GroupMember.tsx} | 9 +- .../src/groups/components/table/GroupRow.js | 38 - .../src/groups/components/table/GroupRow.tsx | 39 + .../table/{GroupTable.js => GroupTable.tsx} | 19 +- .../src/groups/components/table/index.js | 3 - .../src/groups/components/table/index.ts | 3 + .../{CreateGroup.js => CreateGroup.tsx} | 59 +- .../{DeleteGroup.js => DeleteGroup.tsx} | 67 +- .../{EditGroup.js => EditGroup.tsx} | 49 +- .../containers/{Groups.js => Groups.tsx} | 69 +- .../{SingleGroup.js => SingleGroup.tsx} | 75 +- .../{groups.test.js => groups.test.ts} | 432 +++++---- .../groups/modules/{groups.js => groups.ts} | 123 ++- scm-ui/ui-webapp/src/i18n.js | 43 - scm-ui/ui-webapp/src/i18n.ts | 43 + scm-ui/ui-webapp/src/index.js | 32 - scm-ui/ui-webapp/src/index.tsx | 31 + scm-ui/ui-webapp/src/modules/auth.test.js | 369 -------- scm-ui/ui-webapp/src/modules/auth.test.ts | 487 ++++++++++ .../src/modules/{auth.js => auth.ts} | 81 +- .../ui-webapp/src/modules/changePassword.js | 16 - .../src/modules/changePassword.test.js | 25 - .../src/modules/changePassword.test.ts | 27 + .../ui-webapp/src/modules/changePassword.ts | 22 + scm-ui/ui-webapp/src/modules/failure.test.js | 130 --- scm-ui/ui-webapp/src/modules/failure.test.ts | 159 ++++ .../src/modules/{failure.js => failure.ts} | 37 +- scm-ui/ui-webapp/src/modules/indexResource.js | 201 ---- .../src/modules/indexResource.test.js | 480 ---------- .../src/modules/indexResource.test.ts | 492 ++++++++++ scm-ui/ui-webapp/src/modules/indexResource.ts | 196 ++++ scm-ui/ui-webapp/src/modules/pending.test.js | 143 --- scm-ui/ui-webapp/src/modules/pending.test.ts | 169 ++++ .../src/modules/{pending.js => pending.ts} | 46 +- scm-ui/ui-webapp/src/modules/types.js | 4 - scm-ui/ui-webapp/src/modules/types.ts | 4 + ...sionCheckbox.js => PermissionCheckbox.tsx} | 30 +- .../{SetPermissions.js => SetPermissions.tsx} | 77 +- ...ions.test.js => handlePermissions.test.ts} | 33 +- ...dlePermissions.js => handlePermissions.ts} | 22 +- ...chButtonGroup.js => BranchButtonGroup.tsx} | 21 +- .../{BranchDetail.js => BranchDetail.tsx} | 21 +- .../{BranchForm.js => BranchForm.tsx} | 55 +- .../{BranchRow.js => BranchRow.tsx} | 13 +- .../{BranchTable.js => BranchTable.tsx} | 19 +- .../{BranchView.js => BranchView.tsx} | 18 +- .../branches/components/DefaultBranchTag.js | 30 - .../branches/components/DefaultBranchTag.tsx | 29 + .../{BranchRoot.js => BranchRoot.tsx} | 57 +- ...anchesOverview.js => BranchesOverview.tsx} | 65 +- .../{CreateBranch.js => CreateBranch.tsx} | 77 +- .../{branches.test.js => branches.test.ts} | 336 ++++--- .../modules/{branches.js => branches.ts} | 169 ++-- .../repos/branches/util/orderBranches.test.js | 51 - .../repos/branches/util/orderBranches.test.ts | 61 ++ .../{orderBranches.js => orderBranches.ts} | 16 +- .../src/repos/components/EditRepoNavLink.js | 28 - .../repos/components/EditRepoNavLink.test.js | 35 - .../repos/components/EditRepoNavLink.test.tsx | 34 + .../src/repos/components/EditRepoNavLink.tsx | 29 + .../repos/components/PermissionsNavLink.js | 28 - .../components/PermissionsNavLink.test.js | 35 - .../components/PermissionsNavLink.test.tsx | 33 + .../repos/components/PermissionsNavLink.tsx | 30 + ...tailTable.js => RepositoryDetailTable.tsx} | 27 +- ...sitoryDetails.js => RepositoryDetails.tsx} | 19 +- .../components/RepositoryNavLink.test.js | 52 -- .../components/RepositoryNavLink.test.tsx | 50 + ...sitoryNavLink.js => RepositoryNavLink.tsx} | 19 +- ...angesetDetails.js => ChangesetDetails.tsx} | 51 +- .../{RepositoryForm.js => RepositoryForm.tsx} | 128 +-- .../src/repos/components/form/index.js | 2 - .../src/repos/components/form/index.ts | 2 + .../form/repositoryValidation.test.js | 106 --- .../form/repositoryValidation.test.ts | 104 +++ ...yValidation.js => repositoryValidation.ts} | 5 +- .../repos/components/list/RepositoryAvatar.js | 24 - .../components/list/RepositoryAvatar.tsx | 28 + ...RepositoryEntry.js => RepositoryEntry.tsx} | 29 +- ...ryEntryLink.js => RepositoryEntryLink.tsx} | 13 +- ...GroupEntry.js => RepositoryGroupEntry.tsx} | 11 +- .../{RepositoryList.js => RepositoryList.tsx} | 11 +- .../components/list/groupByNamespace.test.js | 74 -- .../components/list/groupByNamespace.test.ts | 73 ++ ...roupByNamespace.js => groupByNamespace.ts} | 7 +- .../src/repos/components/list/index.js | 2 - .../src/repos/components/list/index.ts | 2 + .../{ChangesetView.js => ChangesetView.tsx} | 51 +- .../{Changesets.js => Changesets.tsx} | 64 +- .../{ChangesetsRoot.js => ChangesetsRoot.tsx} | 66 +- .../containers/{Create.js => Create.tsx} | 95 +- .../{DeleteRepo.js => DeleteRepo.tsx} | 67 +- .../containers/{EditRepo.js => EditRepo.tsx} | 47 +- .../containers/{Overview.js => Overview.tsx} | 69 +- .../{RepositoryRoot.js => RepositoryRoot.tsx} | 107 ++- .../src/repos/modules/changesets.test.js | 620 ------------- .../src/repos/modules/changesets.test.ts | 678 ++++++++++++++ .../modules/{changesets.js => changesets.ts} | 142 +-- .../ui-webapp/src/repos/modules/repos.test.js | 858 ----------------- .../ui-webapp/src/repos/modules/repos.test.ts | 878 ++++++++++++++++++ .../src/repos/modules/{repos.js => repos.ts} | 182 ++-- ...yTypes.test.js => repositoryTypes.test.ts} | 130 +-- ...{repositoryTypes.js => repositoryTypes.ts} | 56 +- .../components/PermissionCheckbox.js | 31 - .../components/PermissionCheckbox.tsx | 30 + .../{RoleSelector.js => RoleSelector.tsx} | 31 +- .../buttons/DeletePermissionButton.test.js | 92 -- .../buttons/DeletePermissionButton.test.tsx | 92 ++ ...onButton.js => DeletePermissionButton.tsx} | 47 +- ...n.test.js => permissionValidation.test.ts} | 51 +- ...nValidation.js => permissionValidation.ts} | 9 +- ...ialog.js => AdvancedPermissionsDialog.tsx} | 50 +- ...issionForm.js => CreatePermissionForm.tsx} | 106 ++- .../{Permissions.js => Permissions.tsx} | 133 +-- ...nglePermission.js => SinglePermission.tsx} | 128 +-- .../permissions/modules/permissions.test.js | 783 ---------------- .../permissions/modules/permissions.test.ts | 806 ++++++++++++++++ .../{permissions.js => permissions.ts} | 361 ++++--- .../components/{FileIcon.js => FileIcon.tsx} | 13 +- .../repos/sources/components/FileTree.test.js | 12 - .../repos/sources/components/FileTree.test.ts | 10 + .../components/{FileTree.js => FileTree.tsx} | 77 +- .../sources/components/FileTreeLeaf.test.js | 30 - .../sources/components/FileTreeLeaf.test.ts | 28 + .../{FileTreeLeaf.js => FileTreeLeaf.tsx} | 39 +- .../components/content/DownloadViewer.js | 26 - .../components/content/DownloadViewer.tsx | 25 + ...leButtonAddons.js => FileButtonAddons.tsx} | 23 +- .../{ImageViewer.js => ImageViewer.tsx} | 13 +- .../content/SourcecodeViewer.test.js | 33 - .../content/SourcecodeViewer.test.ts | 29 + ...urcecodeViewer.js => SourcecodeViewer.tsx} | 42 +- .../containers/{Content.js => Content.tsx} | 88 +- .../{HistoryView.js => HistoryView.tsx} | 37 +- .../containers/{Sources.js => Sources.tsx} | 83 +- .../{SourcesView.js => SourcesView.tsx} | 53 +- .../repos/sources/containers/contentType.js | 16 - .../sources/containers/contentType.test.js | 29 - .../sources/containers/contentType.test.ts | 28 + .../repos/sources/containers/contentType.ts | 17 + .../repos/sources/containers/history.test.js | 53 -- .../repos/sources/containers/history.test.ts | 52 ++ .../containers/{history.js => history.ts} | 11 +- .../src/repos/sources/modules/sources.test.js | 274 ------ .../src/repos/sources/modules/sources.test.ts | 278 ++++++ .../modules/{sources.js => sources.ts} | 56 +- ...SetUserPassword.js => SetUserPassword.tsx} | 53 +- .../components/{UserForm.js => UserForm.tsx} | 114 ++- .../components/navLinks/EditUserNavLink.js | 28 - .../navLinks/EditUserNavLink.test.js | 27 - .../navLinks/EditUserNavLink.test.tsx | 27 + .../components/navLinks/EditUserNavLink.tsx | 27 + .../components/navLinks/SetPasswordNavLink.js | 28 - .../navLinks/SetPasswordNavLink.test.js | 31 - .../navLinks/SetPasswordNavLink.test.tsx | 31 + .../navLinks/SetPasswordNavLink.tsx | 32 + .../navLinks/SetPermissionsNavLink.js | 28 - .../navLinks/SetPermissionsNavLink.test.js | 31 - .../navLinks/SetPermissionsNavLink.test.tsx | 31 + .../navLinks/SetPermissionsNavLink.tsx | 32 + .../src/users/components/navLinks/index.js | 3 - .../src/users/components/navLinks/index.ts | 3 + .../src/users/components/setPassword.js | 13 - .../src/users/components/setPassword.test.js | 25 - .../src/users/components/setPassword.test.ts | 24 + .../src/users/components/setPassword.ts | 18 + .../table/{Details.js => Details.tsx} | 29 +- .../src/users/components/table/UserRow.js | 43 - .../src/users/components/table/UserRow.tsx | 44 + .../table/{UserTable.js => UserTable.tsx} | 21 +- .../src/users/components/table/index.js | 3 - .../src/users/components/table/index.ts | 3 + .../users/components/userValidation.test.js | 40 - .../users/components/userValidation.test.ts | 39 + .../{userValidation.js => userValidation.ts} | 4 +- .../{CreateUser.js => CreateUser.tsx} | 51 +- .../{DeleteUser.js => DeleteUser.tsx} | 67 +- .../containers/{EditUser.js => EditUser.tsx} | 39 +- .../{SingleUser.js => SingleUser.tsx} | 79 +- .../users/containers/{Users.js => Users.tsx} | 69 +- .../modules/{users.test.js => users.test.ts} | 422 +++++---- .../src/users/modules/{users.js => users.ts} | 124 ++- ...-public-path.js => webpack-public-path.ts} | 2 +- yarn.lock | 71 +- 495 files changed, 14239 insertions(+), 13766 deletions(-) rename scm-ui/ui-components/src/{Autocomplete.js => Autocomplete.tsx} (70%) rename scm-ui/ui-components/src/{BackendErrorNotification.js => BackendErrorNotification.tsx} (74%) rename scm-ui/ui-components/src/{BranchSelector.js => BranchSelector.tsx} (64%) rename scm-ui/ui-components/src/{Breadcrumb.js => Breadcrumb.tsx} (64%) rename scm-ui/ui-components/src/{CardColumn.js => CardColumn.tsx} (77%) rename scm-ui/ui-components/src/{CardColumnGroup.js => CardColumnGroup.tsx} (67%) rename scm-ui/ui-components/src/{DateFromNow.stories.js => DateFromNow.stories.tsx} (62%) rename scm-ui/ui-components/src/{DateFromNow.js => DateFromNow.tsx} (77%) rename scm-ui/ui-components/src/{ErrorBoundary.js => ErrorBoundary.tsx} (70%) rename scm-ui/ui-components/src/{ErrorNotification.js => ErrorNotification.tsx} (52%) rename scm-ui/ui-components/src/{ErrorPage.js => ErrorPage.tsx} (70%) delete mode 100644 scm-ui/ui-components/src/FileSize.test.js create mode 100644 scm-ui/ui-components/src/FileSize.test.ts rename scm-ui/ui-components/src/{FileSize.js => FileSize.tsx} (76%) delete mode 100644 scm-ui/ui-components/src/GroupAutocomplete.js create mode 100644 scm-ui/ui-components/src/GroupAutocomplete.tsx delete mode 100644 scm-ui/ui-components/src/Help.js create mode 100644 scm-ui/ui-components/src/Help.tsx rename scm-ui/ui-components/src/{HelpIcon.js => HelpIcon.tsx} (74%) delete mode 100644 scm-ui/ui-components/src/Icon.js create mode 100644 scm-ui/ui-components/src/Icon.tsx rename scm-ui/ui-components/src/{Image.js => Image.tsx} (69%) rename scm-ui/ui-components/src/{LinkPaginator.js => LinkPaginator.tsx} (74%) delete mode 100644 scm-ui/ui-components/src/Loading.stories.js create mode 100644 scm-ui/ui-components/src/Loading.stories.tsx rename scm-ui/ui-components/src/{Loading.js => Loading.tsx} (60%) delete mode 100644 scm-ui/ui-components/src/Logo.js delete mode 100644 scm-ui/ui-components/src/Logo.stories.js create mode 100644 scm-ui/ui-components/src/Logo.stories.tsx create mode 100644 scm-ui/ui-components/src/Logo.tsx rename scm-ui/ui-components/src/{MailLink.js => MailLink.tsx} (63%) delete mode 100644 scm-ui/ui-components/src/MarkdownHeadingRenderer.test.js create mode 100644 scm-ui/ui-components/src/MarkdownHeadingRenderer.test.ts rename scm-ui/ui-components/src/{MarkdownHeadingRenderer.js => MarkdownHeadingRenderer.tsx} (61%) delete mode 100644 scm-ui/ui-components/src/MarkdownView.stories.js create mode 100644 scm-ui/ui-components/src/MarkdownView.stories.tsx rename scm-ui/ui-components/src/{MarkdownView.js => MarkdownView.tsx} (72%) rename scm-ui/ui-components/src/{Notification.js => Notification.tsx} (53%) rename scm-ui/ui-components/src/{OverviewPageActions.js => OverviewPageActions.tsx} (65%) rename scm-ui/ui-components/src/{Paginator.test.js => Paginator.test.tsx} (65%) rename scm-ui/ui-components/src/{Paginator.js => Paginator.tsx} (71%) rename scm-ui/ui-components/src/{ProtectedRoute.js => ProtectedRoute.tsx} (68%) rename scm-ui/ui-components/src/{StatePaginator.js => StatePaginator.tsx} (79%) delete mode 100644 scm-ui/ui-components/src/SyntaxHighlighter.stories.js create mode 100644 scm-ui/ui-components/src/SyntaxHighlighter.stories.tsx rename scm-ui/ui-components/src/{SyntaxHighlighter.js => SyntaxHighlighter.tsx} (60%) rename scm-ui/ui-components/src/{Tag.js => Tag.tsx} (64%) delete mode 100644 scm-ui/ui-components/src/Tooltip.js create mode 100644 scm-ui/ui-components/src/Tooltip.tsx delete mode 100644 scm-ui/ui-components/src/UserAutocomplete.js create mode 100644 scm-ui/ui-components/src/UserAutocomplete.tsx rename scm-ui/ui-components/src/{UserGroupAutocomplete.js => UserGroupAutocomplete.tsx} (70%) rename scm-ui/ui-components/src/__resources__/{HttpServer.go.js => HttpServer.go.ts} (100%) rename scm-ui/ui-components/src/__resources__/{HttpServer.java.js => HttpServer.java.ts} (100%) delete mode 100644 scm-ui/ui-components/src/__resources__/HttpServer.js.js rename scm-ui/ui-components/src/__resources__/{HttpServer.py.js => HttpServer.py.ts} (100%) rename scm-ui/ui-components/src/__resources__/{test-page.md.js => test-page.md.ts} (100%) rename scm-ui/ui-components/src/__snapshots__/{storyshots.test.js.snap => storyshots.test.ts.snap} (94%) delete mode 100644 scm-ui/ui-components/src/apiclient.test.js create mode 100644 scm-ui/ui-components/src/apiclient.test.ts rename scm-ui/ui-components/src/{apiclient.js => apiclient.ts} (53%) delete mode 100644 scm-ui/ui-components/src/avatar/Avatar.js create mode 100644 scm-ui/ui-components/src/avatar/Avatar.ts rename scm-ui/ui-components/src/avatar/{AvatarImage.js => AvatarImage.tsx} (50%) rename scm-ui/ui-components/src/avatar/{AvatarWrapper.js => AvatarWrapper.tsx} (59%) delete mode 100644 scm-ui/ui-components/src/avatar/index.js create mode 100644 scm-ui/ui-components/src/avatar/index.ts rename scm-ui/ui-components/src/buttons/{AddButton.js => AddButton.tsx} (65%) rename scm-ui/ui-components/src/buttons/{Button.js => Button.tsx} (62%) rename scm-ui/ui-components/src/buttons/{ButtonAddons.js => ButtonAddons.tsx} (69%) rename scm-ui/ui-components/src/buttons/{ButtonGroup.js => ButtonGroup.tsx} (51%) rename scm-ui/ui-components/src/buttons/{CreateButton.js => CreateButton.tsx} (71%) rename scm-ui/ui-components/src/buttons/{DeleteButton.js => DeleteButton.tsx} (66%) rename scm-ui/ui-components/src/buttons/{DownloadButton.js => DownloadButton.tsx} (63%) rename scm-ui/ui-components/src/buttons/{EditButton.js => EditButton.tsx} (64%) rename scm-ui/ui-components/src/buttons/{RemoveEntryOfTableButton.js => RemoveEntryOfTableButton.tsx} (65%) rename scm-ui/ui-components/src/buttons/{SubmitButton.js => SubmitButton.tsx} (75%) delete mode 100644 scm-ui/ui-components/src/buttons/index.js delete mode 100644 scm-ui/ui-components/src/buttons/index.stories.js create mode 100644 scm-ui/ui-components/src/buttons/index.stories.tsx create mode 100644 scm-ui/ui-components/src/buttons/index.ts rename scm-ui/ui-components/src/config/{Configuration.js => Configuration.tsx} (67%) delete mode 100644 scm-ui/ui-components/src/config/ConfigurationBinder.js create mode 100644 scm-ui/ui-components/src/config/ConfigurationBinder.tsx delete mode 100644 scm-ui/ui-components/src/config/index.js create mode 100644 scm-ui/ui-components/src/config/index.ts delete mode 100644 scm-ui/ui-components/src/errors.test.js create mode 100644 scm-ui/ui-components/src/errors.test.ts rename scm-ui/ui-components/src/{errors.js => errors.ts} (73%) rename scm-ui/ui-components/src/forms/{AddEntryToTableField.js => AddEntryToTableField.tsx} (65%) rename scm-ui/ui-components/src/forms/{AutocompleteAddEntryToTableField.js => AutocompleteAddEntryToTableField.tsx} (65%) rename scm-ui/ui-components/src/forms/{Checkbox.js => Checkbox.tsx} (77%) delete mode 100644 scm-ui/ui-components/src/forms/DropDown.js create mode 100644 scm-ui/ui-components/src/forms/DropDown.tsx rename scm-ui/ui-components/src/forms/{FilterInput.js => FilterInput.tsx} (66%) rename scm-ui/ui-components/src/forms/{InputField.js => InputField.tsx} (67%) rename scm-ui/ui-components/src/forms/{LabelWithHelpIcon.js => LabelWithHelpIcon.tsx} (59%) delete mode 100644 scm-ui/ui-components/src/forms/MemberNameTagGroup.js create mode 100644 scm-ui/ui-components/src/forms/MemberNameTagGroup.tsx rename scm-ui/ui-components/src/forms/{PasswordConfirmation.js => PasswordConfirmation.tsx} (63%) rename scm-ui/ui-components/src/forms/{Radio.js => Radio.tsx} (71%) rename scm-ui/ui-components/src/forms/{Select.js => Select.tsx} (65%) rename scm-ui/ui-components/src/forms/{TagGroup.js => TagGroup.tsx} (78%) rename scm-ui/ui-components/src/forms/{Textarea.js => Textarea.tsx} (71%) delete mode 100644 scm-ui/ui-components/src/forms/index.js create mode 100644 scm-ui/ui-components/src/forms/index.ts rename scm-ui/ui-components/src/{index.js => index.ts} (61%) rename scm-ui/ui-components/src/layout/{Footer.js => Footer.tsx} (53%) rename scm-ui/ui-components/src/layout/{Header.js => Header.tsx} (82%) rename scm-ui/ui-components/src/layout/{Level.js => Level.tsx} (59%) rename scm-ui/ui-components/src/layout/{Page.js => Page.tsx} (77%) rename scm-ui/ui-components/src/layout/{PageActions.js => PageActions.tsx} (65%) rename scm-ui/ui-components/src/layout/{Subtitle.js => Subtitle.tsx} (81%) rename scm-ui/ui-components/src/layout/{Title.js => Title.tsx} (81%) delete mode 100644 scm-ui/ui-components/src/layout/index.js create mode 100644 scm-ui/ui-components/src/layout/index.ts rename scm-ui/ui-components/src/modals/{ConfirmAlert.js => ConfirmAlert.tsx} (76%) rename scm-ui/ui-components/src/modals/{Modal.js => Modal.tsx} (67%) delete mode 100644 scm-ui/ui-components/src/modals/index.js create mode 100644 scm-ui/ui-components/src/modals/index.ts delete mode 100644 scm-ui/ui-components/src/navigation/NavAction.js create mode 100644 scm-ui/ui-components/src/navigation/NavAction.tsx rename scm-ui/ui-components/src/navigation/{NavLink.js => NavLink.tsx} (61%) rename scm-ui/ui-components/src/navigation/{Navigation.js => Navigation.tsx} (74%) rename scm-ui/ui-components/src/navigation/{PrimaryNavigation.js => PrimaryNavigation.tsx} (51%) rename scm-ui/ui-components/src/navigation/{PrimaryNavigationLink.js => PrimaryNavigationLink.tsx} (69%) rename scm-ui/ui-components/src/navigation/{Section.js => Section.tsx} (78%) rename scm-ui/ui-components/src/navigation/{SubNavigation.js => SubNavigation.tsx} (62%) delete mode 100644 scm-ui/ui-components/src/navigation/index.js create mode 100644 scm-ui/ui-components/src/navigation/index.ts rename scm-ui/ui-components/src/repos/{Diff.js => Diff.tsx} (65%) rename scm-ui/ui-components/src/repos/{DiffFile.js => DiffFile.tsx} (73%) delete mode 100644 scm-ui/ui-components/src/repos/DiffTypes.js create mode 100644 scm-ui/ui-components/src/repos/DiffTypes.ts rename scm-ui/ui-components/src/repos/{LoadingDiff.js => LoadingDiff.tsx} (62%) rename scm-ui/ui-components/src/repos/changesets/{ChangesetAuthor.js => ChangesetAuthor.tsx} (60%) rename scm-ui/ui-components/src/repos/changesets/{ChangesetButtonGroup.js => ChangesetButtonGroup.tsx} (55%) delete mode 100644 scm-ui/ui-components/src/repos/changesets/ChangesetDiff.js create mode 100644 scm-ui/ui-components/src/repos/changesets/ChangesetDiff.tsx rename scm-ui/ui-components/src/repos/changesets/{ChangesetId.js => ChangesetId.tsx} (61%) rename scm-ui/ui-components/src/repos/changesets/{ChangesetList.js => ChangesetList.tsx} (67%) rename scm-ui/ui-components/src/repos/changesets/{ChangesetRow.js => ChangesetRow.tsx} (76%) rename scm-ui/ui-components/src/repos/changesets/{ChangesetTag.js => ChangesetTag.tsx} (59%) rename scm-ui/ui-components/src/repos/changesets/{ChangesetTagBase.js => ChangesetTagBase.tsx} (50%) rename scm-ui/ui-components/src/repos/changesets/{ChangesetTags.js => ChangesetTags.tsx} (67%) delete mode 100644 scm-ui/ui-components/src/repos/changesets/ChangesetTagsCollapsed.js create mode 100644 scm-ui/ui-components/src/repos/changesets/ChangesetTagsCollapsed.tsx delete mode 100644 scm-ui/ui-components/src/repos/changesets/changesets.test.js create mode 100644 scm-ui/ui-components/src/repos/changesets/changesets.test.ts rename scm-ui/ui-components/src/repos/changesets/{changesets.js => changesets.ts} (54%) delete mode 100644 scm-ui/ui-components/src/repos/changesets/index.js create mode 100644 scm-ui/ui-components/src/repos/changesets/index.ts delete mode 100644 scm-ui/ui-components/src/repos/diffs.test.js create mode 100644 scm-ui/ui-components/src/repos/diffs.test.ts rename scm-ui/ui-components/src/repos/{diffs.js => diffs.ts} (78%) rename scm-ui/ui-components/src/repos/{index.js => index.ts} (69%) delete mode 100644 scm-ui/ui-components/src/repositories.test.js create mode 100644 scm-ui/ui-components/src/repositories.test.ts rename scm-ui/ui-components/src/{repositories.js => repositories.ts} (85%) delete mode 100644 scm-ui/ui-components/src/storyshots.test.js create mode 100644 scm-ui/ui-components/src/storyshots.test.ts delete mode 100644 scm-ui/ui-components/src/urls.test.js create mode 100644 scm-ui/ui-components/src/urls.test.ts rename scm-ui/ui-components/src/{urls.js => urls.ts} (77%) rename scm-ui/ui-components/src/{validation.test.js => validation.test.ts} (52%) rename scm-ui/ui-components/src/{validation.js => validation.ts} (98%) rename scm-ui/ui-extensions/src/{ExtensionPoint.test.js => ExtensionPoint.test.tsx} (63%) rename scm-ui/ui-extensions/src/{ExtensionPoint.js => ExtensionPoint.tsx} (79%) delete mode 100644 scm-ui/ui-extensions/src/binder.test.js create mode 100644 scm-ui/ui-extensions/src/binder.test.ts rename scm-ui/ui-extensions/src/{binder.js => binder.ts} (83%) delete mode 100644 scm-ui/ui-extensions/src/index.js create mode 100644 scm-ui/ui-extensions/src/index.ts rename scm-ui/ui-extensions/src/testing/{Label.js => Label.tsx} (75%) delete mode 100644 scm-ui/ui-types/src/Action.js create mode 100644 scm-ui/ui-types/src/Action.ts delete mode 100644 scm-ui/ui-types/src/Autocomplete.js create mode 100644 scm-ui/ui-types/src/Autocomplete.ts delete mode 100644 scm-ui/ui-types/src/Branches.js create mode 100644 scm-ui/ui-types/src/Branches.ts delete mode 100644 scm-ui/ui-types/src/Changesets.js create mode 100644 scm-ui/ui-types/src/Changesets.ts delete mode 100644 scm-ui/ui-types/src/Config.js create mode 100644 scm-ui/ui-types/src/Config.ts delete mode 100644 scm-ui/ui-types/src/Group.js create mode 100644 scm-ui/ui-types/src/Group.ts delete mode 100644 scm-ui/ui-types/src/IndexResources.js create mode 100644 scm-ui/ui-types/src/IndexResources.ts delete mode 100644 scm-ui/ui-types/src/Me.js create mode 100644 scm-ui/ui-types/src/Me.ts delete mode 100644 scm-ui/ui-types/src/NamespaceStrategies.js create mode 100644 scm-ui/ui-types/src/NamespaceStrategies.ts delete mode 100644 scm-ui/ui-types/src/Plugin.js create mode 100644 scm-ui/ui-types/src/Plugin.ts delete mode 100644 scm-ui/ui-types/src/Repositories.js create mode 100644 scm-ui/ui-types/src/Repositories.ts rename scm-ui/ui-types/src/{RepositoryPermissions.js => RepositoryPermissions.ts} (50%) delete mode 100644 scm-ui/ui-types/src/RepositoryRole.js create mode 100644 scm-ui/ui-types/src/RepositoryRole.ts delete mode 100644 scm-ui/ui-types/src/RepositoryTypes.js create mode 100644 scm-ui/ui-types/src/RepositoryTypes.ts delete mode 100644 scm-ui/ui-types/src/Sources.js create mode 100644 scm-ui/ui-types/src/Sources.ts delete mode 100644 scm-ui/ui-types/src/Tags.js create mode 100644 scm-ui/ui-types/src/Tags.ts delete mode 100644 scm-ui/ui-types/src/User.js create mode 100644 scm-ui/ui-types/src/User.ts rename scm-ui/ui-types/src/{hal.js => hal.ts} (53%) delete mode 100644 scm-ui/ui-types/src/index.js create mode 100644 scm-ui/ui-types/src/index.ts rename scm-ui/ui-webapp/src/admin/components/form/{BaseUrlSettings.js => BaseUrlSettings.tsx} (52%) rename scm-ui/ui-webapp/src/admin/components/form/{ConfigForm.js => ConfigForm.tsx} (70%) rename scm-ui/ui-webapp/src/admin/components/form/{GeneralSettings.js => GeneralSettings.tsx} (56%) rename scm-ui/ui-webapp/src/admin/components/form/{LoginAttempt.js => LoginAttempt.tsx} (59%) rename scm-ui/ui-webapp/src/admin/components/form/{NamespaceStrategySelect.js => NamespaceStrategySelect.tsx} (68%) delete mode 100644 scm-ui/ui-webapp/src/admin/components/form/ProxySettings.js create mode 100644 scm-ui/ui-webapp/src/admin/components/form/ProxySettings.tsx rename scm-ui/ui-webapp/src/admin/components/table/{ArrayConfigTable.js => ArrayConfigTable.tsx} (74%) delete mode 100644 scm-ui/ui-webapp/src/admin/components/table/ProxyExcludesTable.js create mode 100644 scm-ui/ui-webapp/src/admin/components/table/ProxyExcludesTable.tsx rename scm-ui/ui-webapp/src/admin/containers/{Admin.js => Admin.tsx} (78%) rename scm-ui/ui-webapp/src/admin/containers/{AdminDetails.js => AdminDetails.tsx} (65%) rename scm-ui/ui-webapp/src/admin/containers/{GlobalConfig.js => GlobalConfig.tsx} (60%) rename scm-ui/ui-webapp/src/admin/modules/{config.test.js => config.test.ts} (58%) rename scm-ui/ui-webapp/src/admin/modules/{config.js => config.ts} (75%) rename scm-ui/ui-webapp/src/admin/modules/{namespaceStrategies.test.js => namespaceStrategies.test.ts} (53%) rename scm-ui/ui-webapp/src/admin/modules/{namespaceStrategies.js => namespaceStrategies.ts} (62%) rename scm-ui/ui-webapp/src/admin/plugins/components/{CancelPendingActionModal.js => CancelPendingActionModal.tsx} (51%) rename scm-ui/ui-webapp/src/admin/plugins/components/{ExecutePendingAction.js => ExecutePendingAction.tsx} (62%) delete mode 100644 scm-ui/ui-webapp/src/admin/plugins/components/ExecutePendingActionModal.js create mode 100644 scm-ui/ui-webapp/src/admin/plugins/components/ExecutePendingActionModal.tsx rename scm-ui/ui-webapp/src/admin/plugins/components/{ExecutePendingModal.js => ExecutePendingModal.tsx} (69%) rename scm-ui/ui-webapp/src/admin/plugins/components/{PluginActionModal.js => PluginActionModal.tsx} (79%) delete mode 100644 scm-ui/ui-webapp/src/admin/plugins/components/PluginAvatar.js create mode 100644 scm-ui/ui-webapp/src/admin/plugins/components/PluginAvatar.tsx rename scm-ui/ui-webapp/src/admin/plugins/components/{PluginBottomActions.js => PluginBottomActions.tsx} (77%) rename scm-ui/ui-webapp/src/admin/plugins/components/{PluginEntry.js => PluginEntry.tsx} (74%) delete mode 100644 scm-ui/ui-webapp/src/admin/plugins/components/PluginGroupEntry.js create mode 100644 scm-ui/ui-webapp/src/admin/plugins/components/PluginGroupEntry.tsx delete mode 100644 scm-ui/ui-webapp/src/admin/plugins/components/PluginList.js create mode 100644 scm-ui/ui-webapp/src/admin/plugins/components/PluginList.tsx rename scm-ui/ui-webapp/src/admin/plugins/components/{PluginModal.js => PluginModal.tsx} (73%) rename scm-ui/ui-webapp/src/admin/plugins/components/{PluginTopActions.js => PluginTopActions.tsx} (59%) delete mode 100644 scm-ui/ui-webapp/src/admin/plugins/components/SuccessNotification.js create mode 100644 scm-ui/ui-webapp/src/admin/plugins/components/SuccessNotification.tsx rename scm-ui/ui-webapp/src/admin/plugins/components/{UpdateAllActionModal.js => UpdateAllActionModal.tsx} (51%) rename scm-ui/ui-webapp/src/admin/plugins/components/{groupByCategory.js => groupByCategory.ts} (78%) rename scm-ui/ui-webapp/src/admin/plugins/components/{waitForRestart.js => waitForRestart.ts} (81%) rename scm-ui/ui-webapp/src/admin/plugins/containers/{PluginsOverview.js => PluginsOverview.tsx} (63%) delete mode 100644 scm-ui/ui-webapp/src/admin/plugins/modules/plugins.test.js create mode 100644 scm-ui/ui-webapp/src/admin/plugins/modules/plugins.test.ts rename scm-ui/ui-webapp/src/admin/plugins/modules/{plugins.js => plugins.ts} (72%) rename scm-ui/ui-webapp/src/admin/roles/components/{AvailableVerbs.js => AvailableVerbs.tsx} (60%) rename scm-ui/ui-webapp/src/admin/roles/components/{PermissionRoleDetails.js => PermissionRoleDetails.tsx} (54%) delete mode 100644 scm-ui/ui-webapp/src/admin/roles/components/PermissionRoleDetailsTable.js create mode 100644 scm-ui/ui-webapp/src/admin/roles/components/PermissionRoleDetailsTable.tsx rename scm-ui/ui-webapp/src/admin/roles/components/{PermissionRoleRow.js => PermissionRoleRow.tsx} (72%) delete mode 100644 scm-ui/ui-webapp/src/admin/roles/components/PermissionRoleTable.js create mode 100644 scm-ui/ui-webapp/src/admin/roles/components/PermissionRoleTable.tsx delete mode 100644 scm-ui/ui-webapp/src/admin/roles/components/SystemRoleTag.js create mode 100644 scm-ui/ui-webapp/src/admin/roles/components/SystemRoleTag.tsx rename scm-ui/ui-webapp/src/admin/roles/containers/{CreateRepositoryRole.js => CreateRepositoryRole.tsx} (60%) rename scm-ui/ui-webapp/src/admin/roles/containers/{DeleteRepositoryRole.js => DeleteRepositoryRole.tsx} (57%) rename scm-ui/ui-webapp/src/admin/roles/containers/{EditRepositoryRole.js => EditRepositoryRole.tsx} (57%) rename scm-ui/ui-webapp/src/admin/roles/containers/{RepositoryRoleForm.js => RepositoryRoleForm.tsx} (70%) rename scm-ui/ui-webapp/src/admin/roles/containers/{RepositoryRoles.js => RepositoryRoles.tsx} (65%) rename scm-ui/ui-webapp/src/admin/roles/containers/{SingleRepositoryRole.js => SingleRepositoryRole.tsx} (61%) rename scm-ui/ui-webapp/src/admin/roles/modules/{roles.test.js => roles.test.ts} (53%) rename scm-ui/ui-webapp/src/admin/roles/modules/{roles.js => roles.ts} (79%) rename scm-ui/ui-webapp/src/components/{InfoBox.js => InfoBox.tsx} (56%) delete mode 100644 scm-ui/ui-webapp/src/components/InfoItem.js create mode 100644 scm-ui/ui-webapp/src/components/InfoItem.ts rename scm-ui/ui-webapp/src/components/{LoginForm.js => LoginForm.tsx} (65%) rename scm-ui/ui-webapp/src/components/{LoginInfo.js => LoginInfo.tsx} (63%) rename scm-ui/ui-webapp/src/containers/{App.js => App.tsx} (65%) rename scm-ui/ui-webapp/src/containers/{ChangeUserPassword.js => ChangeUserPassword.tsx} (69%) rename scm-ui/ui-webapp/src/containers/{Index.js => Index.tsx} (59%) delete mode 100644 scm-ui/ui-webapp/src/containers/IndexErrorPage.js create mode 100644 scm-ui/ui-webapp/src/containers/IndexErrorPage.tsx rename scm-ui/ui-webapp/src/containers/{Login.js => Login.tsx} (66%) rename scm-ui/ui-webapp/src/containers/{Logout.js => Logout.tsx} (58%) rename scm-ui/ui-webapp/src/containers/{Main.js => Main.tsx} (71%) rename scm-ui/ui-webapp/src/containers/{PluginLoader.js => PluginLoader.tsx} (77%) rename scm-ui/ui-webapp/src/containers/{Profile.js => Profile.tsx} (64%) rename scm-ui/ui-webapp/src/containers/{ProfileInfo.js => ProfileInfo.tsx} (74%) rename scm-ui/ui-webapp/src/containers/{ScrollToTop.js => ScrollToTop.ts} (72%) delete mode 100644 scm-ui/ui-webapp/src/containers/loadBundle.js create mode 100644 scm-ui/ui-webapp/src/containers/loadBundle.ts delete mode 100644 scm-ui/ui-webapp/src/createReduxStore.js create mode 100644 scm-ui/ui-webapp/src/createReduxStore.ts rename scm-ui/ui-webapp/src/groups/components/{GroupForm.js => GroupForm.tsx} (63%) rename scm-ui/ui-webapp/src/groups/components/{groupValidation.js => groupValidation.ts} (70%) delete mode 100644 scm-ui/ui-webapp/src/groups/components/navLinks/EditGroupNavLink.js delete mode 100644 scm-ui/ui-webapp/src/groups/components/navLinks/EditGroupNavLink.test.js create mode 100644 scm-ui/ui-webapp/src/groups/components/navLinks/EditGroupNavLink.test.tsx create mode 100644 scm-ui/ui-webapp/src/groups/components/navLinks/EditGroupNavLink.tsx delete mode 100644 scm-ui/ui-webapp/src/groups/components/navLinks/SetPermissionsNavLink.js create mode 100644 scm-ui/ui-webapp/src/groups/components/navLinks/SetPermissionsNavLink.tsx delete mode 100644 scm-ui/ui-webapp/src/groups/components/navLinks/index.js create mode 100644 scm-ui/ui-webapp/src/groups/components/navLinks/index.ts rename scm-ui/ui-webapp/src/groups/components/table/{Details.js => Details.tsx} (67%) rename scm-ui/ui-webapp/src/groups/components/table/{GroupMember.js => GroupMember.tsx} (76%) delete mode 100644 scm-ui/ui-webapp/src/groups/components/table/GroupRow.js create mode 100644 scm-ui/ui-webapp/src/groups/components/table/GroupRow.tsx rename scm-ui/ui-webapp/src/groups/components/table/{GroupTable.js => GroupTable.tsx} (54%) delete mode 100644 scm-ui/ui-webapp/src/groups/components/table/index.js create mode 100644 scm-ui/ui-webapp/src/groups/components/table/index.ts rename scm-ui/ui-webapp/src/groups/containers/{CreateGroup.js => CreateGroup.tsx} (63%) rename scm-ui/ui-webapp/src/groups/containers/{DeleteGroup.js => DeleteGroup.tsx} (57%) rename scm-ui/ui-webapp/src/groups/containers/{EditGroup.js => EditGroup.tsx} (67%) rename scm-ui/ui-webapp/src/groups/containers/{Groups.js => Groups.tsx} (71%) rename scm-ui/ui-webapp/src/groups/containers/{SingleGroup.js => SingleGroup.tsx} (72%) rename scm-ui/ui-webapp/src/groups/modules/{groups.test.js => groups.test.ts} (55%) rename scm-ui/ui-webapp/src/groups/modules/{groups.js => groups.ts} (80%) delete mode 100644 scm-ui/ui-webapp/src/i18n.js create mode 100644 scm-ui/ui-webapp/src/i18n.ts delete mode 100644 scm-ui/ui-webapp/src/index.js create mode 100644 scm-ui/ui-webapp/src/index.tsx delete mode 100644 scm-ui/ui-webapp/src/modules/auth.test.js create mode 100644 scm-ui/ui-webapp/src/modules/auth.test.ts rename scm-ui/ui-webapp/src/modules/{auth.js => auth.ts} (77%) delete mode 100644 scm-ui/ui-webapp/src/modules/changePassword.js delete mode 100644 scm-ui/ui-webapp/src/modules/changePassword.test.js create mode 100644 scm-ui/ui-webapp/src/modules/changePassword.test.ts create mode 100644 scm-ui/ui-webapp/src/modules/changePassword.ts delete mode 100644 scm-ui/ui-webapp/src/modules/failure.test.js create mode 100644 scm-ui/ui-webapp/src/modules/failure.test.ts rename scm-ui/ui-webapp/src/modules/{failure.js => failure.ts} (72%) delete mode 100644 scm-ui/ui-webapp/src/modules/indexResource.js delete mode 100644 scm-ui/ui-webapp/src/modules/indexResource.test.js create mode 100644 scm-ui/ui-webapp/src/modules/indexResource.test.ts create mode 100644 scm-ui/ui-webapp/src/modules/indexResource.ts delete mode 100644 scm-ui/ui-webapp/src/modules/pending.test.js create mode 100644 scm-ui/ui-webapp/src/modules/pending.test.ts rename scm-ui/ui-webapp/src/modules/{pending.js => pending.ts} (65%) delete mode 100644 scm-ui/ui-webapp/src/modules/types.js create mode 100644 scm-ui/ui-webapp/src/modules/types.ts rename scm-ui/ui-webapp/src/permissions/components/{PermissionCheckbox.js => PermissionCheckbox.tsx} (54%) rename scm-ui/ui-webapp/src/permissions/components/{SetPermissions.js => SetPermissions.tsx} (71%) rename scm-ui/ui-webapp/src/permissions/components/{handlePermissions.test.js => handlePermissions.test.ts} (54%) rename scm-ui/ui-webapp/src/permissions/components/{handlePermissions.js => handlePermissions.ts} (67%) rename scm-ui/ui-webapp/src/repos/branches/components/{BranchButtonGroup.js => BranchButtonGroup.tsx} (64%) rename scm-ui/ui-webapp/src/repos/branches/components/{BranchDetail.js => BranchDetail.tsx} (53%) rename scm-ui/ui-webapp/src/repos/branches/components/{BranchForm.js => BranchForm.tsx} (68%) rename scm-ui/ui-webapp/src/repos/branches/components/{BranchRow.js => BranchRow.tsx} (71%) rename scm-ui/ui-webapp/src/repos/branches/components/{BranchTable.js => BranchTable.tsx} (64%) rename scm-ui/ui-webapp/src/repos/branches/components/{BranchView.js => BranchView.tsx} (58%) delete mode 100644 scm-ui/ui-webapp/src/repos/branches/components/DefaultBranchTag.js create mode 100644 scm-ui/ui-webapp/src/repos/branches/components/DefaultBranchTag.tsx rename scm-ui/ui-webapp/src/repos/branches/containers/{BranchRoot.js => BranchRoot.tsx} (66%) rename scm-ui/ui-webapp/src/repos/branches/containers/{BranchesOverview.js => BranchesOverview.tsx} (64%) rename scm-ui/ui-webapp/src/repos/branches/containers/{CreateBranch.js => CreateBranch.tsx} (67%) rename scm-ui/ui-webapp/src/repos/branches/modules/{branches.test.js => branches.test.ts} (54%) rename scm-ui/ui-webapp/src/repos/branches/modules/{branches.js => branches.ts} (74%) delete mode 100644 scm-ui/ui-webapp/src/repos/branches/util/orderBranches.test.js create mode 100644 scm-ui/ui-webapp/src/repos/branches/util/orderBranches.test.ts rename scm-ui/ui-webapp/src/repos/branches/util/{orderBranches.js => orderBranches.ts} (56%) delete mode 100644 scm-ui/ui-webapp/src/repos/components/EditRepoNavLink.js delete mode 100644 scm-ui/ui-webapp/src/repos/components/EditRepoNavLink.test.js create mode 100644 scm-ui/ui-webapp/src/repos/components/EditRepoNavLink.test.tsx create mode 100644 scm-ui/ui-webapp/src/repos/components/EditRepoNavLink.tsx delete mode 100644 scm-ui/ui-webapp/src/repos/components/PermissionsNavLink.js delete mode 100644 scm-ui/ui-webapp/src/repos/components/PermissionsNavLink.test.js create mode 100644 scm-ui/ui-webapp/src/repos/components/PermissionsNavLink.test.tsx create mode 100644 scm-ui/ui-webapp/src/repos/components/PermissionsNavLink.tsx rename scm-ui/ui-webapp/src/repos/components/{RepositoryDetailTable.js => RepositoryDetailTable.tsx} (58%) rename scm-ui/ui-webapp/src/repos/components/{RepositoryDetails.js => RepositoryDetails.tsx} (51%) delete mode 100644 scm-ui/ui-webapp/src/repos/components/RepositoryNavLink.test.js create mode 100644 scm-ui/ui-webapp/src/repos/components/RepositoryNavLink.test.tsx rename scm-ui/ui-webapp/src/repos/components/{RepositoryNavLink.js => RepositoryNavLink.tsx} (55%) rename scm-ui/ui-webapp/src/repos/components/changesets/{ChangesetDetails.js => ChangesetDetails.tsx} (72%) rename scm-ui/ui-webapp/src/repos/components/form/{RepositoryForm.js => RepositoryForm.tsx} (61%) delete mode 100644 scm-ui/ui-webapp/src/repos/components/form/index.js create mode 100644 scm-ui/ui-webapp/src/repos/components/form/index.ts delete mode 100644 scm-ui/ui-webapp/src/repos/components/form/repositoryValidation.test.js create mode 100644 scm-ui/ui-webapp/src/repos/components/form/repositoryValidation.test.ts rename scm-ui/ui-webapp/src/repos/components/form/{repositoryValidation.js => repositoryValidation.ts} (64%) delete mode 100644 scm-ui/ui-webapp/src/repos/components/list/RepositoryAvatar.js create mode 100644 scm-ui/ui-webapp/src/repos/components/list/RepositoryAvatar.tsx rename scm-ui/ui-webapp/src/repos/components/list/{RepositoryEntry.js => RepositoryEntry.tsx} (74%) rename scm-ui/ui-webapp/src/repos/components/list/{RepositoryEntryLink.js => RepositoryEntryLink.tsx} (67%) rename scm-ui/ui-webapp/src/repos/components/list/{RepositoryGroupEntry.js => RepositoryGroupEntry.tsx} (62%) rename scm-ui/ui-webapp/src/repos/components/list/{RepositoryList.js => RepositoryList.tsx} (63%) delete mode 100644 scm-ui/ui-webapp/src/repos/components/list/groupByNamespace.test.js create mode 100644 scm-ui/ui-webapp/src/repos/components/list/groupByNamespace.test.ts rename scm-ui/ui-webapp/src/repos/components/list/{groupByNamespace.js => groupByNamespace.ts} (84%) delete mode 100644 scm-ui/ui-webapp/src/repos/components/list/index.js create mode 100644 scm-ui/ui-webapp/src/repos/components/list/index.ts rename scm-ui/ui-webapp/src/repos/containers/{ChangesetView.js => ChangesetView.tsx} (62%) rename scm-ui/ui-webapp/src/repos/containers/{Changesets.js => Changesets.tsx} (73%) rename scm-ui/ui-webapp/src/repos/containers/{ChangesetsRoot.js => ChangesetsRoot.tsx} (77%) rename scm-ui/ui-webapp/src/repos/containers/{Create.js => Create.tsx} (56%) rename scm-ui/ui-webapp/src/repos/containers/{DeleteRepo.js => DeleteRepo.tsx} (58%) rename scm-ui/ui-webapp/src/repos/containers/{EditRepo.js => EditRepo.tsx} (71%) rename scm-ui/ui-webapp/src/repos/containers/{Overview.js => Overview.tsx} (71%) rename scm-ui/ui-webapp/src/repos/containers/{RepositoryRoot.js => RepositoryRoot.tsx} (77%) delete mode 100644 scm-ui/ui-webapp/src/repos/modules/changesets.test.js create mode 100644 scm-ui/ui-webapp/src/repos/modules/changesets.test.ts rename scm-ui/ui-webapp/src/repos/modules/{changesets.js => changesets.ts} (79%) delete mode 100644 scm-ui/ui-webapp/src/repos/modules/repos.test.js create mode 100644 scm-ui/ui-webapp/src/repos/modules/repos.test.ts rename scm-ui/ui-webapp/src/repos/modules/{repos.js => repos.ts} (73%) rename scm-ui/ui-webapp/src/repos/modules/{repositoryTypes.test.js => repositoryTypes.test.ts} (51%) rename scm-ui/ui-webapp/src/repos/modules/{repositoryTypes.js => repositoryTypes.ts} (61%) delete mode 100644 scm-ui/ui-webapp/src/repos/permissions/components/PermissionCheckbox.js create mode 100644 scm-ui/ui-webapp/src/repos/permissions/components/PermissionCheckbox.tsx rename scm-ui/ui-webapp/src/repos/permissions/components/{RoleSelector.js => RoleSelector.tsx} (57%) delete mode 100644 scm-ui/ui-webapp/src/repos/permissions/components/buttons/DeletePermissionButton.test.js create mode 100644 scm-ui/ui-webapp/src/repos/permissions/components/buttons/DeletePermissionButton.test.tsx rename scm-ui/ui-webapp/src/repos/permissions/components/buttons/{DeletePermissionButton.js => DeletePermissionButton.tsx} (50%) rename scm-ui/ui-webapp/src/repos/permissions/components/{permissionValidation.test.js => permissionValidation.test.ts} (52%) rename scm-ui/ui-webapp/src/repos/permissions/components/{permissionValidation.js => permissionValidation.ts} (73%) rename scm-ui/ui-webapp/src/repos/permissions/containers/{AdvancedPermissionsDialog.js => AdvancedPermissionsDialog.tsx} (63%) rename scm-ui/ui-webapp/src/repos/permissions/containers/{CreatePermissionForm.js => CreatePermissionForm.tsx} (68%) rename scm-ui/ui-webapp/src/repos/permissions/containers/{Permissions.js => Permissions.tsx} (74%) rename scm-ui/ui-webapp/src/repos/permissions/containers/{SinglePermission.js => SinglePermission.tsx} (70%) delete mode 100644 scm-ui/ui-webapp/src/repos/permissions/modules/permissions.test.js create mode 100644 scm-ui/ui-webapp/src/repos/permissions/modules/permissions.test.ts rename scm-ui/ui-webapp/src/repos/permissions/modules/{permissions.js => permissions.ts} (66%) rename scm-ui/ui-webapp/src/repos/sources/components/{FileIcon.js => FileIcon.tsx} (60%) delete mode 100644 scm-ui/ui-webapp/src/repos/sources/components/FileTree.test.js create mode 100644 scm-ui/ui-webapp/src/repos/sources/components/FileTree.test.ts rename scm-ui/ui-webapp/src/repos/sources/components/{FileTree.js => FileTree.tsx} (67%) delete mode 100644 scm-ui/ui-webapp/src/repos/sources/components/FileTreeLeaf.test.js create mode 100644 scm-ui/ui-webapp/src/repos/sources/components/FileTreeLeaf.test.ts rename scm-ui/ui-webapp/src/repos/sources/components/{FileTreeLeaf.js => FileTreeLeaf.tsx} (67%) delete mode 100644 scm-ui/ui-webapp/src/repos/sources/components/content/DownloadViewer.js create mode 100644 scm-ui/ui-webapp/src/repos/sources/components/content/DownloadViewer.tsx rename scm-ui/ui-webapp/src/repos/sources/components/content/{FileButtonAddons.js => FileButtonAddons.tsx} (67%) rename scm-ui/ui-webapp/src/repos/sources/components/content/{ImageViewer.js => ImageViewer.tsx} (59%) delete mode 100644 scm-ui/ui-webapp/src/repos/sources/components/content/SourcecodeViewer.test.js create mode 100644 scm-ui/ui-webapp/src/repos/sources/components/content/SourcecodeViewer.test.ts rename scm-ui/ui-webapp/src/repos/sources/components/content/{SourcecodeViewer.js => SourcecodeViewer.tsx} (64%) rename scm-ui/ui-webapp/src/repos/sources/containers/{Content.js => Content.tsx} (70%) rename scm-ui/ui-webapp/src/repos/sources/containers/{HistoryView.js => HistoryView.tsx} (78%) rename scm-ui/ui-webapp/src/repos/sources/containers/{Sources.js => Sources.tsx} (78%) rename scm-ui/ui-webapp/src/repos/sources/containers/{SourcesView.js => SourcesView.tsx} (61%) delete mode 100644 scm-ui/ui-webapp/src/repos/sources/containers/contentType.js delete mode 100644 scm-ui/ui-webapp/src/repos/sources/containers/contentType.test.js create mode 100644 scm-ui/ui-webapp/src/repos/sources/containers/contentType.test.ts create mode 100644 scm-ui/ui-webapp/src/repos/sources/containers/contentType.ts delete mode 100644 scm-ui/ui-webapp/src/repos/sources/containers/history.test.js create mode 100644 scm-ui/ui-webapp/src/repos/sources/containers/history.test.ts rename scm-ui/ui-webapp/src/repos/sources/containers/{history.js => history.ts} (71%) delete mode 100644 scm-ui/ui-webapp/src/repos/sources/modules/sources.test.js create mode 100644 scm-ui/ui-webapp/src/repos/sources/modules/sources.test.ts rename scm-ui/ui-webapp/src/repos/sources/modules/{sources.js => sources.ts} (73%) rename scm-ui/ui-webapp/src/users/components/{SetUserPassword.js => SetUserPassword.tsx} (71%) rename scm-ui/ui-webapp/src/users/components/{UserForm.js => UserForm.tsx} (67%) delete mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/EditUserNavLink.js delete mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/EditUserNavLink.test.js create mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/EditUserNavLink.test.tsx create mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/EditUserNavLink.tsx delete mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/SetPasswordNavLink.js delete mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/SetPasswordNavLink.test.js create mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/SetPasswordNavLink.test.tsx create mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/SetPasswordNavLink.tsx delete mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/SetPermissionsNavLink.js delete mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/SetPermissionsNavLink.test.js create mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/SetPermissionsNavLink.test.tsx create mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/SetPermissionsNavLink.tsx delete mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/index.js create mode 100644 scm-ui/ui-webapp/src/users/components/navLinks/index.ts delete mode 100644 scm-ui/ui-webapp/src/users/components/setPassword.js delete mode 100644 scm-ui/ui-webapp/src/users/components/setPassword.test.js create mode 100644 scm-ui/ui-webapp/src/users/components/setPassword.test.ts create mode 100644 scm-ui/ui-webapp/src/users/components/setPassword.ts rename scm-ui/ui-webapp/src/users/components/table/{Details.js => Details.tsx} (60%) delete mode 100644 scm-ui/ui-webapp/src/users/components/table/UserRow.js create mode 100644 scm-ui/ui-webapp/src/users/components/table/UserRow.tsx rename scm-ui/ui-webapp/src/users/components/table/{UserTable.js => UserTable.tsx} (52%) delete mode 100644 scm-ui/ui-webapp/src/users/components/table/index.js create mode 100644 scm-ui/ui-webapp/src/users/components/table/index.ts delete mode 100644 scm-ui/ui-webapp/src/users/components/userValidation.test.js create mode 100644 scm-ui/ui-webapp/src/users/components/userValidation.test.ts rename scm-ui/ui-webapp/src/users/components/{userValidation.js => userValidation.ts} (83%) rename scm-ui/ui-webapp/src/users/containers/{CreateUser.js => CreateUser.tsx} (62%) rename scm-ui/ui-webapp/src/users/containers/{DeleteUser.js => DeleteUser.tsx} (57%) rename scm-ui/ui-webapp/src/users/containers/{EditUser.js => EditUser.tsx} (69%) rename scm-ui/ui-webapp/src/users/containers/{SingleUser.js => SingleUser.tsx} (70%) rename scm-ui/ui-webapp/src/users/containers/{Users.js => Users.tsx} (70%) rename scm-ui/ui-webapp/src/users/modules/{users.test.js => users.test.ts} (54%) rename scm-ui/ui-webapp/src/users/modules/{users.js => users.ts} (79%) rename scm-ui/ui-webapp/src/{webpack-public-path.js => webpack-public-path.ts} (80%) diff --git a/package.json b/package.json index ba8e9e5e51..315db8e629 100644 --- a/package.json +++ b/package.json @@ -12,6 +12,7 @@ "deploy": "ui-scripts publish" }, "devDependencies": { + "babel-plugin-reflow": "^0.2.7", "lerna": "^3.17.0" }, "resolutions": { diff --git a/scm-ui/babel-preset/index.js b/scm-ui/babel-preset/index.js index c3c750e59c..54c71e3741 100644 --- a/scm-ui/babel-preset/index.js +++ b/scm-ui/babel-preset/index.js @@ -2,7 +2,8 @@ module.exports = () => ({ presets: [ require("@babel/preset-env"), require("@babel/preset-flow"), - require("@babel/preset-react") + require("@babel/preset-react"), + require("@babel/preset-typescript") ], plugins: [ require("@babel/plugin-proposal-class-properties"), diff --git a/scm-ui/babel-preset/package.json b/scm-ui/babel-preset/package.json index ba7f1eca06..4751670f65 100644 --- a/scm-ui/babel-preset/package.json +++ b/scm-ui/babel-preset/package.json @@ -13,7 +13,8 @@ "@babel/plugin-proposal-optional-chaining": "^7.6.0", "@babel/preset-env": "^7.6.3", "@babel/preset-flow": "^7.0.0", - "@babel/preset-react": "^7.6.3" + "@babel/preset-react": "^7.6.3", + "@babel/preset-typescript": "^7.6.0" }, "publishConfig": { "access": "public" diff --git a/scm-ui/jest-preset/jest-preset.js b/scm-ui/jest-preset/jest-preset.js index 0f8d359e1d..ffdeac244b 100644 --- a/scm-ui/jest-preset/jest-preset.js +++ b/scm-ui/jest-preset/jest-preset.js @@ -24,7 +24,7 @@ module.exports = { path.join(root, "src") ], transform: { - "^.+\\.js$": "@scm-manager/jest-preset" + "^.+\\.(ts|tsx|js)$": "@scm-manager/jest-preset" }, transformIgnorePatterns: [ "node_modules/(?!(@scm-manager)/)" @@ -39,7 +39,7 @@ module.exports = { setupFiles: [path.resolve(__dirname, "src", "setup.js")], collectCoverage: true, collectCoverageFrom: [ - "src/**/*.{js,jsx}" + "src/**/*.{ts,tsx,js,jsx}" ], coverageDirectory: path.join(reportDirectory, "coverage-" + name), coveragePathIgnorePatterns: [ diff --git a/scm-ui/ui-components/.storybook/config.js b/scm-ui/ui-components/.storybook/config.js index aedb86772a..0bfd5bbf42 100644 --- a/scm-ui/ui-components/.storybook/config.js +++ b/scm-ui/ui-components/.storybook/config.js @@ -25,4 +25,4 @@ addDecorator( }) ); -configure(require.context("../src", true, /\.stories\.js$/), module); +configure(require.context("../src", true, /\.stories\.tsx?$/), module); diff --git a/scm-ui/ui-components/package.json b/scm-ui/ui-components/package.json index e2e5139ba6..7c44229a62 100644 --- a/scm-ui/ui-components/package.json +++ b/scm-ui/ui-components/package.json @@ -2,7 +2,7 @@ "name": "@scm-manager/ui-components", "version": "2.0.0-SNAPSHOT", "description": "UI Components for SCM-Manager and its plugins", - "main": "src/index.js", + "main": "src/index.ts", "files": [ "dist", "src" @@ -13,8 +13,8 @@ "scripts": { "test": "jest", "storybook": "start-storybook -s ../ui-webapp/public", - "storyshots": "jest --testPathPattern=\"storyshots.test.js\" --collectCoverage=false", - "update-storyshots": "jest --testPathPattern=\"storyshots.test.js\" --collectCoverage=false -u" + "storyshots": "jest --testPathPattern=\"storyshots.test.ts\" --collectCoverage=false", + "update-storyshots": "jest --testPathPattern=\"storyshots.test.ts\" --collectCoverage=false -u" }, "devDependencies": { "@scm-manager/ui-tests": "^2.0.0-SNAPSHOT", diff --git a/scm-ui/ui-components/src/Autocomplete.js b/scm-ui/ui-components/src/Autocomplete.tsx similarity index 70% rename from scm-ui/ui-components/src/Autocomplete.js rename to scm-ui/ui-components/src/Autocomplete.tsx index 116df6562a..55dc4d6182 100644 --- a/scm-ui/ui-components/src/Autocomplete.js +++ b/scm-ui/ui-components/src/Autocomplete.tsx @@ -1,28 +1,27 @@ -// @flow -import React from "react"; -import {Async, AsyncCreatable} from "react-select"; -import type {AutocompleteObject, SelectValue} from "@scm-manager/ui-types"; -import LabelWithHelpIcon from "./forms/LabelWithHelpIcon"; +import React from 'react'; +import { Async, AsyncCreatable } from 'react-select'; +import { AutocompleteObject, SelectValue } from '@scm-manager/ui-types'; +import LabelWithHelpIcon from './forms/LabelWithHelpIcon'; type Props = { - loadSuggestions: string => Promise, - valueSelected: SelectValue => void, - label: string, - helpText?: string, - value?: SelectValue, - placeholder: string, - loadingMessage: string, - noOptionsMessage: string, - creatable?: boolean + loadSuggestions: (p: string) => Promise; + valueSelected: (p: SelectValue) => void; + label: string; + helpText?: string; + value?: SelectValue; + placeholder: string; + loadingMessage: string; + noOptionsMessage: string; + creatable?: boolean; }; type State = {}; class Autocomplete extends React.Component { static defaultProps = { - placeholder: "Type here", - loadingMessage: "Loading...", - noOptionsMessage: "No suggestion available" + placeholder: 'Type here', + loadingMessage: 'Loading...', + noOptionsMessage: 'No suggestion available', }; handleInputChange = (newValue: SelectValue) => { @@ -33,12 +32,12 @@ class Autocomplete extends React.Component { isValidNewOption = ( inputValue: string, selectValue: SelectValue, - selectOptions: SelectValue[] + selectOptions: SelectValue[], ) => { const isNotDuplicated = !selectOptions .map(option => option.label) .includes(inputValue); - const isNotEmpty = inputValue !== ""; + const isNotEmpty = inputValue !== ''; return isNotEmpty && isNotDuplicated; }; @@ -51,7 +50,7 @@ class Autocomplete extends React.Component { loadingMessage, noOptionsMessage, loadSuggestions, - creatable + creatable, } = this.props; return (
@@ -70,7 +69,10 @@ class Autocomplete extends React.Component { onCreateOption={value => { this.handleInputChange({ label: value, - value: { id: value, displayName: value } + value: { + id: value, + displayName: value, + }, }); }} /> diff --git a/scm-ui/ui-components/src/BackendErrorNotification.js b/scm-ui/ui-components/src/BackendErrorNotification.tsx similarity index 74% rename from scm-ui/ui-components/src/BackendErrorNotification.js rename to scm-ui/ui-components/src/BackendErrorNotification.tsx index 31106593c4..256383241c 100644 --- a/scm-ui/ui-components/src/BackendErrorNotification.js +++ b/scm-ui/ui-components/src/BackendErrorNotification.tsx @@ -1,11 +1,13 @@ -// @flow -import React from "react"; -import { BackendError } from "./errors"; -import Notification from "./Notification"; +import React from 'react'; +import { BackendError } from './errors'; +import Notification from './Notification'; -import { translate } from "react-i18next"; +import { translate } from 'react-i18next'; -type Props = { error: BackendError, t: string => string }; +type Props = { + error: BackendError; + t: (p: string) => string; +}; class BackendErrorNotification extends React.Component { constructor(props: Props) { @@ -27,7 +29,7 @@ class BackendErrorNotification extends React.Component { renderErrorName = () => { const { error, t } = this.props; - const translation = t("errors." + error.errorCode + ".displayName"); + const translation = t('errors.' + error.errorCode + '.displayName'); if (translation === error.errorCode) { return error.message; } @@ -36,9 +38,9 @@ class BackendErrorNotification extends React.Component { renderErrorDescription = () => { const { error, t } = this.props; - const translation = t("errors." + error.errorCode + ".description"); + const translation = t('errors.' + error.errorCode + '.description'); if (translation === error.errorCode) { - return ""; + return ''; } return translation; }; @@ -49,7 +51,7 @@ class BackendErrorNotification extends React.Component { return ( <>

- {t("errors.violations")} + {t('errors.violations')}