apply core-imports codemod to all packages and plugins

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
This commit is contained in:
Patrik Oldsberg
2021-06-17 17:56:24 +02:00
parent 9b9a8f3925
commit d453c05dc3
541 changed files with 1549 additions and 1321 deletions
+5 -1
View File
@@ -15,13 +15,17 @@
*/
import { CatalogClient } from '@backstage/catalog-client';
import { configApiRef, discoveryApiRef, identityApiRef } from '@backstage/core';
import { createDevApp } from '@backstage/dev-utils';
import { scmIntegrationsApiRef } from '@backstage/integration-react';
import { catalogApiRef } from '@backstage/plugin-catalog-react';
import React from 'react';
import { scaffolderApiRef, ScaffolderClient } from '../src';
import { ScaffolderPage } from '../src/plugin';
import {
configApiRef,
discoveryApiRef,
identityApiRef,
} from '@backstage/core-plugin-api';
createDevApp()
.registerApi({
+1 -1
View File
@@ -14,9 +14,9 @@
* limitations under the License.
*/
import { ConfigReader } from '@backstage/core';
import { ScmIntegrations } from '@backstage/integration';
import { ScaffolderClient } from './api';
import { ConfigReader } from '@backstage/core-app-api';
describe('api', () => {
const discoveryApi = {} as any;
+6 -6
View File
@@ -16,17 +16,17 @@
import { EntityName } from '@backstage/catalog-model';
import { JsonObject, JsonValue } from '@backstage/config';
import {
createApiRef,
DiscoveryApi,
IdentityApi,
Observable,
} from '@backstage/core';
import { ResponseError } from '@backstage/errors';
import { ScmIntegrationRegistry } from '@backstage/integration';
import { Field, FieldValidation } from '@rjsf/core';
import ObservableImpl from 'zen-observable';
import { ListActionsResponse, ScaffolderTask, Status } from './types';
import {
createApiRef,
DiscoveryApi,
IdentityApi,
Observable,
} from '@backstage/core-plugin-api';
export const scaffolderApiRef = createApiRef<ScaffolderApi>({
id: 'plugin.scaffolder.service',
@@ -13,12 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ApiRegistry, ApiProvider } from '@backstage/core';
import React from 'react';
import { ScaffolderApi, scaffolderApiRef } from '../../api';
import { ActionsPage } from './ActionsPage';
import { rootRouteRef } from '../../routes';
import { renderInTestApp } from '@backstage/test-utils';
import { ApiRegistry, ApiProvider } from '@backstage/core-app-api';
const scaffolderApiMock: jest.Mocked<ScaffolderApi> = {
scaffold: jest.fn(),
@@ -15,14 +15,6 @@
*/
import React from 'react';
import { useAsync } from 'react-use';
import {
useApi,
Progress,
Content,
Header,
Page,
ErrorPage,
} from '@backstage/core';
import { scaffolderApiRef } from '../../api';
import {
Typography,
@@ -40,6 +32,15 @@ import { JSONSchema } from '@backstage/catalog-model';
import { JSONSchema7Definition } from 'json-schema';
import classNames from 'classnames';
import { useApi } from '@backstage/core-plugin-api';
import {
Progress,
Content,
Header,
Page,
ErrorPage,
} from '@backstage/core-components';
const useStyles = makeStyles(theme => ({
code: {
fontFamily: 'Menlo, monospace',
@@ -14,7 +14,6 @@
* limitations under the License.
*/
import { JsonObject } from '@backstage/config';
import { Content, StructuredMetadataTable } from '@backstage/core';
import {
Box,
Button,
@@ -29,6 +28,7 @@ import { FormProps, IChangeEvent, withTheme } from '@rjsf/core';
import { Theme as MuiTheme } from '@rjsf/material-ui';
import React, { useState } from 'react';
import { transformSchemaToProps } from './schema';
import { Content, StructuredMetadataTable } from '@backstage/core-components';
const Form = withTheme(MuiTheme);
type Step = {
@@ -16,13 +16,6 @@
import { CatalogApi } from '@backstage/catalog-client';
import { Entity } from '@backstage/catalog-model';
import {
ApiProvider,
ApiRegistry,
IdentityApi,
identityApiRef,
storageApiRef,
} from '@backstage/core';
import { catalogApiRef } from '@backstage/plugin-catalog-react';
import { MockStorageApi, wrapInTestApp } from '@backstage/test-utils';
import { render } from '@testing-library/react';
@@ -30,6 +23,13 @@ import React from 'react';
import { EntityFilterGroupsProvider } from '../../filter';
import { ResultsFilter } from './ResultsFilter';
import { ApiProvider, ApiRegistry } from '@backstage/core-app-api';
import {
IdentityApi,
identityApiRef,
storageApiRef,
} from '@backstage/core-plugin-api';
describe('Results Filter', () => {
const catalogApi: Partial<CatalogApi> = {
getEntities: () =>
@@ -17,19 +17,19 @@
import React from 'react';
import { MockStorageApi, wrapInTestApp } from '@backstage/test-utils';
import { fireEvent, render, waitFor } from '@testing-library/react';
import {
ApiProvider,
ApiRegistry,
IdentityApi,
identityApiRef,
storageApiRef,
} from '@backstage/core';
import { CatalogApi } from '@backstage/catalog-client';
import { Entity } from '@backstage/catalog-model';
import { catalogApiRef } from '@backstage/plugin-catalog-react';
import { EntityFilterGroupsProvider } from '../../filter';
import { ButtonGroup, ScaffolderFilter } from './ScaffolderFilter';
import { ApiProvider, ApiRegistry } from '@backstage/core-app-api';
import {
IdentityApi,
identityApiRef,
storageApiRef,
} from '@backstage/core-plugin-api';
describe('Catalog Filter', () => {
const catalogApi: Partial<CatalogApi> = {
getEntities: () =>
@@ -15,7 +15,6 @@
*/
import { Entity } from '@backstage/catalog-model';
import { IconComponent } from '@backstage/core';
import {
Card,
List,
@@ -35,6 +34,7 @@ import React, {
useState,
} from 'react';
import { FilterGroup, useEntityFilterGroup } from '../../filter';
import { IconComponent } from '@backstage/core-plugin-api';
export type ButtonGroup = {
name: string;
@@ -15,20 +15,6 @@
*/
import { EntityMeta, TemplateEntityV1alpha1 } from '@backstage/catalog-model';
import {
configApiRef,
Content,
ContentHeader,
Header,
ItemCardGrid,
Lifecycle,
Page,
Progress,
SupportButton,
useApi,
useRouteRef,
WarningPanel,
} from '@backstage/core';
import { useStarredEntities } from '@backstage/plugin-catalog-react';
import { Button, Link, makeStyles, Typography } from '@material-ui/core';
import StarIcon from '@material-ui/icons/Star';
@@ -42,6 +28,20 @@ import { ButtonGroup } from '../ScaffolderFilter/ScaffolderFilter';
import SearchToolbar from '../SearchToolbar/SearchToolbar';
import { TemplateCard } from '../TemplateCard';
import { configApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api';
import {
Content,
ContentHeader,
Header,
ItemCardGrid,
Lifecycle,
Page,
Progress,
SupportButton,
WarningPanel,
} from '@backstage/core-components';
const useStyles = makeStyles(theme => ({
contentWrapper: {
display: 'grid',
@@ -15,10 +15,12 @@
*/
import React from 'react';
import { IconComponent, Link } from '@backstage/core';
import { Grid, LinkProps, makeStyles, Typography } from '@material-ui/core';
import LanguageIcon from '@material-ui/icons/Language';
import { IconComponent } from '@backstage/core-plugin-api';
import { Link } from '@backstage/core-components';
const useStyles = makeStyles({
svgIcon: {
display: 'inline-block',
@@ -14,7 +14,6 @@
* limitations under the License.
*/
import { Page, Header, Lifecycle, Content, ErrorPage } from '@backstage/core';
import React, { useState, useEffect, memo, useMemo } from 'react';
import { makeStyles, Theme, createStyles } from '@material-ui/core/styles';
import Stepper from '@material-ui/core/Stepper';
@@ -40,6 +39,13 @@ import FiberManualRecordIcon from '@material-ui/icons/FiberManualRecord';
import classNames from 'classnames';
import { BackstageTheme } from '@backstage/theme';
import { TaskPageLinks } from './TaskPageLinks';
import {
Page,
Header,
Lifecycle,
Content,
ErrorPage,
} from '@backstage/core-components';
// typings are wrong for this library, so fallback to not parsing types.
const humanizeDuration = require('humanize-duration');
@@ -18,7 +18,6 @@ import {
RELATION_OWNED_BY,
TemplateEntityV1alpha1,
} from '@backstage/catalog-model';
import { Button, ItemCardHeader, useApi, useRouteRef } from '@backstage/core';
import {
ScmIntegrationIcon,
scmIntegrationsApiRef,
@@ -49,6 +48,9 @@ import { generatePath } from 'react-router';
import { rootRouteRef } from '../../routes';
import { FavouriteTemplate } from '../FavouriteTemplate/FavouriteTemplate';
import { Button, ItemCardHeader } from '@backstage/core-components';
import { useApi, useRouteRef } from '@backstage/core-plugin-api';
const useStyles = makeStyles(theme => ({
cardHeader: {
position: 'relative',
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { ApiProvider, ApiRegistry, errorApiRef } from '@backstage/core';
import { renderInTestApp, renderWithEffects } from '@backstage/test-utils';
import { lightTheme } from '@backstage/theme';
import { ThemeProvider } from '@material-ui/core';
@@ -25,6 +24,9 @@ import { ScaffolderApi, scaffolderApiRef } from '../../api';
import { rootRouteRef } from '../../routes';
import { TemplatePage } from './TemplatePage';
import { ApiProvider, ApiRegistry } from '@backstage/core-app-api';
import { errorApiRef } from '@backstage/core-plugin-api';
jest.mock('react-router-dom', () => {
return {
...(jest.requireActual('react-router-dom') as any),
@@ -14,16 +14,6 @@
* limitations under the License.
*/
import { JsonObject, JsonValue } from '@backstage/config';
import {
Content,
errorApiRef,
Header,
InfoCard,
Lifecycle,
Page,
useApi,
useRouteRef,
} from '@backstage/core';
import { LinearProgress } from '@material-ui/core';
import { FieldValidation, FormValidation, IChangeEvent } from '@rjsf/core';
import parseGitUrl from 'git-url-parse';
@@ -36,6 +26,15 @@ import { FieldExtensionOptions } from '../../extensions';
import { rootRouteRef } from '../../routes';
import { MultistepJsonForm } from '../MultistepJsonForm';
import {
Content,
Header,
InfoCard,
Lifecycle,
Page,
} from '@backstage/core-components';
import { errorApiRef, useApi, useRouteRef } from '@backstage/core-plugin-api';
const useTemplateParameterSchema = (templateName: string) => {
const scaffolderApi = useApi(scaffolderApiRef);
const { value, loading, error } = useAsync(
@@ -15,13 +15,13 @@
*/
import { Entity } from '@backstage/catalog-model';
import { ApiProvider, ApiRegistry } from '@backstage/core';
import { CatalogApi, catalogApiRef } from '@backstage/plugin-catalog-react';
import { renderInTestApp } from '@backstage/test-utils';
import { FieldProps } from '@rjsf/core';
import userEvent from '@testing-library/user-event';
import React from 'react';
import { EntityPicker } from './EntityPicker';
import { ApiProvider, ApiRegistry } from '@backstage/core-app-api';
const makeEntity = (kind: string, namespace: string, name: string): Entity => ({
apiVersion: 'backstage.io/v1beta1',
@@ -13,7 +13,6 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { useApi } from '@backstage/core';
import {
catalogApiRef,
formatEntityRefTitle,
@@ -24,6 +23,7 @@ import Autocomplete from '@material-ui/lab/Autocomplete';
import { FieldProps } from '@rjsf/core';
import React from 'react';
import { useAsync } from 'react-use';
import { useApi } from '@backstage/core-plugin-api';
export const EntityPicker = ({
onChange,
@@ -15,12 +15,12 @@
*/
import { Entity } from '@backstage/catalog-model';
import { ApiProvider, ApiRegistry } from '@backstage/core';
import { CatalogApi, catalogApiRef } from '@backstage/plugin-catalog-react';
import { renderInTestApp } from '@backstage/test-utils';
import { FieldProps } from '@rjsf/core';
import React from 'react';
import { OwnerPicker } from './OwnerPicker';
import { ApiProvider, ApiRegistry } from '@backstage/core-app-api';
const makeEntity = (kind: string, namespace: string, name: string): Entity => ({
apiVersion: 'backstage.io/v1beta1',
@@ -15,7 +15,6 @@
*/
import React, { useCallback, useEffect } from 'react';
import { FieldProps } from '@rjsf/core';
import { useApi, Progress } from '@backstage/core';
import { scaffolderApiRef } from '../../../api';
import { useAsync } from 'react-use';
import Select from '@material-ui/core/Select';
@@ -24,6 +23,9 @@ import Input from '@material-ui/core/Input';
import FormControl from '@material-ui/core/FormControl';
import FormHelperText from '@material-ui/core/FormHelperText';
import { useApi } from '@backstage/core-plugin-api';
import { Progress } from '@backstage/core-components';
function splitFormData(url: string | undefined) {
let host = undefined;
let owner = undefined;
@@ -17,7 +17,7 @@ import { useImmerReducer } from 'use-immer';
import { useEffect } from 'react';
import { scaffolderApiRef, LogEvent } from '../../api';
import { ScaffolderTask, Status, TaskOutput } from '../../types';
import { Subscription, useApi } from '@backstage/core';
import { Subscription, useApi } from '@backstage/core-plugin-api';
type Step = {
id: string;
+1 -1
View File
@@ -14,9 +14,9 @@
* limitations under the License.
*/
import { Extension, attachComponentData } from '@backstage/core';
import React from 'react';
import { FieldExtensionOptions } from './types';
import { Extension, attachComponentData } from '@backstage/core-plugin-api';
export const FIELD_EXTENSION_WRAPPER_KEY = 'scaffolder.extensions.wrapper.v1';
export const FIELD_EXTENSION_KEY = 'scaffolder.extensions.field.v1';
@@ -15,7 +15,6 @@
*/
import { TemplateEntityV1alpha1 } from '@backstage/catalog-model';
import { useApi } from '@backstage/core';
import { catalogApiRef } from '@backstage/plugin-catalog-react';
import React, { useCallback, useEffect, useRef, useState } from 'react';
import { useAsyncFn } from 'react-use';
@@ -26,6 +25,7 @@ import {
FilterGroupState,
FilterGroupStates,
} from './types';
import { useApi } from '@backstage/core-plugin-api';
/**
* Implementation of the shared filter groups state.
@@ -14,7 +14,6 @@
* limitations under the License.
*/
import { ApiProvider, ApiRegistry, storageApiRef } from '@backstage/core';
import { catalogApiRef } from '@backstage/plugin-catalog-react';
import { MockStorageApi } from '@backstage/test-utils';
import { act, renderHook } from '@testing-library/react-hooks';
@@ -23,6 +22,9 @@ import { EntityFilterGroupsProvider } from './EntityFilterGroupsProvider';
import { FilterGroup, FilterGroupStatesReady } from './types';
import { useEntityFilterGroup } from './useEntityFilterGroup';
import { ApiProvider, ApiRegistry } from '@backstage/core-app-api';
import { storageApiRef } from '@backstage/core-plugin-api';
describe('useEntityFilterGroup', () => {
let catalogApi: jest.Mocked<typeof catalogApiRef.T>;
let wrapper: ({ children }: { children?: React.ReactNode }) => JSX.Element;
+7 -7
View File
@@ -14,13 +14,6 @@
* limitations under the License.
*/
import {
createApiFactory,
createPlugin,
createRoutableExtension,
discoveryApiRef,
identityApiRef,
} from '@backstage/core';
import { scmIntegrationsApiRef } from '@backstage/integration-react';
import { scaffolderApiRef, ScaffolderClient } from './api';
import { EntityPicker } from './components/fields/EntityPicker';
@@ -31,6 +24,13 @@ import {
} from './components/fields/RepoUrlPicker';
import { createScaffolderFieldExtension } from './extensions';
import { registerComponentRouteRef, rootRouteRef } from './routes';
import {
createApiFactory,
createPlugin,
createRoutableExtension,
discoveryApiRef,
identityApiRef,
} from '@backstage/core-plugin-api';
export const scaffolderPlugin = createPlugin({
id: 'scaffolder',
+4 -1
View File
@@ -13,7 +13,10 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
import { createExternalRouteRef, createRouteRef } from '@backstage/core';
import {
createExternalRouteRef,
createRouteRef,
} from '@backstage/core-plugin-api';
export const registerComponentRouteRef = createExternalRouteRef({
id: 'register-component',