From 6ce323aa556de35b0e930503acced27aa8a2b75a Mon Sep 17 00:00:00 2001 From: blam Date: Fri, 25 Feb 2022 11:27:37 +0100 Subject: [PATCH] chore: one more deprecations Signed-off-by: blam --- .changeset/little-carpets-itch.md | 1 + plugins/scaffolder/api-report.md | 6 +++--- .../fields/RepoUrlPicker/RepoUrlPicker.tsx | 4 ++-- .../components/secrets/SecretsContext.test.tsx | 2 +- .../src/components/secrets/SecretsContext.tsx | 18 ++++++++++++------ plugins/scaffolder/src/extensions/index.tsx | 3 ++- 6 files changed, 21 insertions(+), 13 deletions(-) diff --git a/.changeset/little-carpets-itch.md b/.changeset/little-carpets-itch.md index e1db4d23cd..6a4d95c140 100644 --- a/.changeset/little-carpets-itch.md +++ b/.changeset/little-carpets-itch.md @@ -6,6 +6,7 @@ Added some deprecations as follows: - **DEPRECATED**: `TemplateCardComponent` and `TaskPageComponent` props have been deprecated, and moved to a `components` prop instead. You can pass them in through there instead. - **DEPRECATED**: `TemplateList` and `TemplateListProps` has been deprecated. Please use the `TemplateCard` to create your own list component instead. +- **DEPRECATED**: `setSecret` has been deprecated in favour of `setSecrets` when calling `useTemplateSecrets` Other notable changes: diff --git a/plugins/scaffolder/api-report.md b/plugins/scaffolder/api-report.md index f610e38a8b..22ab288f0d 100644 --- a/plugins/scaffolder/api-report.md +++ b/plugins/scaffolder/api-report.md @@ -465,10 +465,10 @@ export type TemplateParameterSchema = { // @public (undocumented) export const TemplateTypePicker: () => JSX.Element | null; +// Warning: (ae-forgotten-export) The symbol "ScaffolderUseTemplateSecrets" needs to be exported by the entry point index.d.ts +// // @public -export const useTemplateSecrets: () => { - setSecret: (input: Record) => void; -}; +export const useTemplateSecrets: () => ScaffolderUseTemplateSecrets; // Warnings were encountered during analysis: // diff --git a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx index fe7c4b18a4..17fd5ef665 100644 --- a/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx +++ b/plugins/scaffolder/src/components/fields/RepoUrlPicker/RepoUrlPicker.tsx @@ -56,7 +56,7 @@ export const RepoUrlPicker = ( ); const integrationApi = useApi(scmIntegrationsApiRef); const scmAuthApi = useApi(scmAuthApiRef); - const { setSecret } = useTemplateSecrets(); + const { setSecrets } = useTemplateSecrets(); const allowedHosts = useMemo( () => uiSchema?.['ui:options']?.allowedHosts ?? [], [uiSchema], @@ -114,7 +114,7 @@ export const RepoUrlPicker = ( // set the secret using the key provided in the the ui:options for use // in the templating the manifest with ${{ secrets[secretsKey] }} - setSecret({ [requestUserCredentials.secretsKey]: token }); + setSecrets({ [requestUserCredentials.secretsKey]: token }); }, 500, [state, uiSchema], diff --git a/plugins/scaffolder/src/components/secrets/SecretsContext.test.tsx b/plugins/scaffolder/src/components/secrets/SecretsContext.test.tsx index 37d35c9015..3b84c074d7 100644 --- a/plugins/scaffolder/src/components/secrets/SecretsContext.test.tsx +++ b/plugins/scaffolder/src/components/secrets/SecretsContext.test.tsx @@ -36,7 +36,7 @@ describe('SecretsContext', () => { ); expect(result.current.context?.secrets.foo).toEqual(undefined); - act(() => result.current.hook.setSecret({ foo: 'bar' })); + act(() => result.current.hook.setSecrets({ foo: 'bar' })); expect(result.current.context?.secrets.foo).toEqual('bar'); }); diff --git a/plugins/scaffolder/src/components/secrets/SecretsContext.tsx b/plugins/scaffolder/src/components/secrets/SecretsContext.tsx index 6570f9d901..def05c076c 100644 --- a/plugins/scaffolder/src/components/secrets/SecretsContext.tsx +++ b/plugins/scaffolder/src/components/secrets/SecretsContext.tsx @@ -48,11 +48,17 @@ export const SecretsContextProvider = ({ children }: PropsWithChildren<{}>) => { ); }; +export interface ScaffolderUseTemplateSecrets { + /** @deprecated use setSecrets instead */ + setSecret: (input: Record) => void; + setSecrets: (input: Record) => void; +} + /** * Hook to access the secrets context. * @public */ -export const useTemplateSecrets = () => { +export const useTemplateSecrets = (): ScaffolderUseTemplateSecrets => { const value = useContext(SecretsContext); if (!value) { throw new Error( @@ -60,14 +66,14 @@ export const useTemplateSecrets = () => { ); } - const { setSecrets } = value; + const { setSecrets: updateSecrets } = value; - const setSecret = useCallback( + const setSecrets = useCallback( (input: Record) => { - setSecrets(currentSecrets => ({ ...currentSecrets, ...input })); + updateSecrets(currentSecrets => ({ ...currentSecrets, ...input })); }, - [setSecrets], + [updateSecrets], ); - return { setSecret }; + return { setSecret: setSecrets, setSecrets }; }; diff --git a/plugins/scaffolder/src/extensions/index.tsx b/plugins/scaffolder/src/extensions/index.tsx index a46f6e7af5..53db4cd927 100644 --- a/plugins/scaffolder/src/extensions/index.tsx +++ b/plugins/scaffolder/src/extensions/index.tsx @@ -48,7 +48,8 @@ export function createScaffolderFieldExtension< }; } -export const ScaffolderFieldExtensions: React.ComponentType = () => null; +export const ScaffolderFieldExtensions: React.ComponentType = + (): JSX.Element | null => null; attachComponentData( ScaffolderFieldExtensions,