docs/releases/v1.30.0-next.4-changelog.md
Upgrade Helper: https://backstage.github.io/upgrade-helper/?to=1.30.0-next.4
MyGroupsPicker to use entityPresentationApi and make it consistent across scaffolder pickersprocess polyfill to use require.resolve for greater compatibility.@module-federation/enhanced to 0.3.16f72c2b: Fixing issue with extension blueprints inputs merging.
99abb6b: Support overriding of plugin extensions using the new plugin.withOverrides method.
import homePlugin from '@backstage/plugin-home';
export default homePlugin.withOverrides({
extensions: [
homePage.getExtension('page:home').override({
*factory(originalFactory) {
yield* originalFactory();
yield coreExtensionData.reactElement(<h1>My custom home page</h1>);
},
}),
],
});
a65cfc8: Add support for accessing extensions definitions provided by a plugin via plugin.getExtension(...). For this to work the extensions must be defined using the v2 format, typically using an extension blueprint.
34f1b2a: Support merging of inputs in extension blueprints, but stop merging output. In addition, the original factory in extension blueprints now returns a data container that both provides access to the returned data, but can also be forwarded as output.
2d21599: Added support for being able to override extension definitions.
const TestCard = EntityCardBlueprint.make({
...
});
TestCard.override({
// override attachment points
attachTo: { id: 'something-else', input: 'overridden' },
// extend the config schema
config: {
schema: {
newConfig: z => z.string().optional(),
}
},
// override factory
*factory(originalFactory, { inputs, config }){
const originalOutput = originalFactory();
yield coreExentsionData.reactElement(
<Wrapping>
{originalOutput.get(coreExentsionData.reactElement)}
</Wrapping>
);
}
});
Updated dependencies
2d21599: Added support for being able to override extension definitions.
const TestCard = EntityCardBlueprint.make({
...
});
TestCard.override({
// override attachment points
attachTo: { id: 'something-else', input: 'overridden' },
// extend the config schema
config: {
schema: {
newConfig: z => z.string().optional(),
}
},
// override factory
*factory(originalFactory, { inputs, config }){
const originalOutput = originalFactory();
yield coreExentsionData.reactElement(
<Wrapping>
{originalOutput.get(coreExentsionData.reactElement)}
</Wrapping>
);
}
});
264e10f: Deprecate existing ExtensionCreators in favour of their new Blueprint counterparts.
264e10f: Refactor .make method on Blueprints into two different methods, .make and .makeWithOverrides.
When using createExtensionBlueprint you can define parameters for the factory function, if you wish to take advantage of these parameters you should use .make when creating an extension instance of a Blueprint. If you wish to override more things other than the standard attachTo, name, namespace then you should use .makeWithOverrides instead.
.make is reserved for simple creation of extension instances from Blueprints using higher level parameters, whereas .makeWithOverrides is lower level and you have more control over the final extension.
Updated dependencies
tableOptions to all tables and additionally title to API tables.tableOptions to all tables and additionally title to API tables.