UNPKG

humpty

Version:

Makes sure your changelogs mention your breaking changes

43 lines (37 loc) 1.09 kB
import * as changeTypes from "./changeTypes"; const findReactApiChanges = (oldExport, newExport) => { const { api: newApi } = newExport; const apiChanges = []; oldExport.api.props.forEach(oldProp => { const newProp = newApi.props.find(p => p.name === oldProp.name); if (!newProp) { apiChanges.push({ propName: oldProp.name, changeType: changeTypes.PROP_REMOVED }); return; } if (oldProp.type.name !== newProp.type.name) { apiChanges.push({ propName: oldProp.name, changeType: changeTypes.PROP_TYPE_CHANGED, oldType: oldProp.type.name, newType: newProp.type.name }); } if (!oldProp.required && newProp.required) { apiChanges.push({ propName: oldProp.name, changeType: changeTypes.PROP_MADE_REQUIRED }); } if (oldProp.required && !newProp.required) { apiChanges.push({ propName: oldProp.name, changeType: changeTypes.PROP_MADE_OPTIONAL }); } }); return apiChanges; }; export default findReactApiChanges;