import { logger } from '@storybook/client-logger'; import { deletedDiff } from 'deep-object-diff'; import { dedent } from 'ts-dedent'; import light from './themes/light'; import type { ThemeVars, StorybookTheme } from './types'; import { convert } from './convert'; export const ensure = (input: ThemeVars): StorybookTheme => { if (!input) { return convert(light); } const missing = deletedDiff(light, input); if (Object.keys(missing).length) { logger.warn( dedent` Your theme is missing properties, you should update your theme! theme-data missing: `, missing ); } return convert(input); };