fix: workaround the typing issue by duplicating the FormProps type as this is the only exported type from the /alpha imports

Signed-off-by: blam <ben@blam.sh>
This commit is contained in:
blam
2023-01-02 16:15:13 +01:00
parent 56cda2cc49
commit 3053e582fc
5 changed files with 43 additions and 5 deletions
+5 -2
View File
@@ -42,5 +42,8 @@ export type { TaskPageProps } from './components/TaskPage';
/** next exports */
export { NextScaffolderPage } from './plugin';
export type { NextRouterProps } from './next';
export type { TemplateGroupFilter } from './next';
export {
type TemplateGroupFilter,
type NextRouterProps,
type FormProps,
} from './next';
@@ -24,13 +24,13 @@ import {
FieldExtensionOptions,
nextSelectedTemplateRouteRef,
SecretsContextProvider,
type FormProps,
} from '@backstage/plugin-scaffolder-react';
import { useElementFilter } from '@backstage/core-plugin-api';
import { TemplateEntityV1beta3 } from '@backstage/plugin-scaffolder-common';
import { TemplateGroupFilter } from '../TemplateListPage/TemplateGroups';
import { DEFAULT_SCAFFOLDER_FIELD_EXTENSIONS } from '../../extensions/default';
import { FormProps } from '../types';
/**
* The Props for the Scaffolder Router
@@ -42,11 +42,11 @@ import {
Stepper,
NextFieldExtensionOptions,
SecretsContext,
type FormProps,
} from '@backstage/plugin-scaffolder-react';
import { JsonValue } from '@backstage/types';
import { FormProps } from '../types';
export type TemplateWizardPageProps = {
type TemplateWizardPageProps = {
customFieldExtensions: NextFieldExtensionOptions<any, any>[];
FormProps?: FormProps;
};
+1
View File
@@ -16,3 +16,4 @@
export * from './Router';
export * from './TemplateListPage';
export * from './TemplateWizardPage';
export * from './types';
+34
View File
@@ -0,0 +1,34 @@
/*
* Copyright 2022 The Backstage Authors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* These types will be replaced eventually by the one in the scaffolder-react plugin.
* It is a temporary solution to avoid the `/alpha` types being re-exported and that not being supported right now.
* It exists already in the `scaffolder-react` plugin, so you may have to update both files.
*/
import type { FormProps as SchemaFormProps } from '@rjsf/core-v5';
/**
* Any `@rjsf/core` form properties that are publicly exposed to the `NextScaffolderpage`
*
* @alpha
* @deprecated use the import from {@link @backstage/plugin-scaffolder-react/alpha#FormProps} instead
*/
export type FormProps = Pick<
SchemaFormProps,
'transformErrors' | 'noHtml5Validate'
>;