Offering an alternative appearance for an existing block does not need a new block, a build step or any JavaScript — it needs a registration and a CSS class.
register_block_style( 'core/quote', array(
'name' => 'turkerdev-pull',
'label' => __( 'Pull quote, large', 'turkerdev' ),
'inline_style' => '.is-style-turkerdev-pull { font-size: 1.5rem; border: 0; }',
) );
// and removing one core ships that the design does not want
// (this one IS javascript: wp.blocks.unregisterBlockStyle)
The style appears in the block’s sidebar and applies is-style-{name} to the wrapper, which is the whole mechanism. inline_style is convenient for a rule or two and belongs in the theme stylesheet for anything larger, since inline styles cannot be cached separately. Unregistering a core style requires JavaScript on enqueue_block_editor_assets, which is an asymmetry with no good reason behind it.