Dist::...emover(3pm)

πŸ“¦
version 0.105 Β· 4 versions
, in debian bookworm, debian trixie, ubuntu noble, ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

So like, Dist::Zilla::Role::PluginBundle::PluginRemover β€” it's a Perl module, it's a role, and bestie, it does exactly one iconic thing: it adds -remove functionality to a bundle. That's the whole vibe. That's the manual page: Dist::...emover(3pm).


✨ VERSION ✨

version 0.105 πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

# in Dist::Zilla::PluginBundle::MyBundle

with (
  'Dist::Zilla::Role::PluginBundle', # or PluginBundle::Easy
  'Dist::Zilla::Role::PluginBundle::PluginRemover'
);

# PluginRemover should probably be last
# (unless you're doing something more complex)

🌸 DESCRIPTION 🌸

okay so here's the tea: this role lets your Dist::Zilla Plugin Bundle automatically remove any plugins that get specified by the -remove attribute β€” literally the same energy as what @Filter does:

[@MyBundle]
-remove = PluginIDontWant
-remove = OtherDumbPlugin

But wait, what if you wanna use an attribute named -remove for your own bundle?? No conflict, no drama β€” you can just override the plugin_remover_attribute sub to define a different attribute name:

# in your bundle package
sub plugin_remover_attribute { 'scurvy_cur' }

And then the role does its lil magic trick: it adds a method modifier to bundle_config, which is the method that the root PluginBundle role requires, and that PluginBundle::Easy wraps. πŸ‘‘


πŸ’… METHODS πŸ’…

πŸŽ€ plugin_remover_attribute

Returns the name of the attribute containing the array ref of plugins to remove. Simple as that.

Defaults to -remove. ✨

🧚 remove_plugins

$class->remove_plugins(\@to_remove, @plugins);
$class->remove_plugins(['Foo'], [Foo => 'DZP::Foo'], [Bar => 'DZP::Bar']);

Takes an arrayref of plugin names to remove (like what will be in the config payload for -remove), removes them from the list of plugins passed, and returns the remaining plugins. Cleanup queen behavior, fr fr.

This is used by the bundle_config modifier but is defined separately in case you would like to use the functionality without the voodoo that occurs when consuming this role. πŸ™ˆ

The plugin name to match against all plugins can be given as either the plugin moniker (like you might provide in your config file, expanded via expand_config in Dist::Zilla::Util), or the unique plugin name used to differentiate multiple plugins of the same type. For example, in this configuration:

[Foo::Bar / plugin 1]
[Foo::Bar / plugin 2]

passing 'Foo::Bar' to remove_plugins will remove both these plugins from the configuration, but only the first is removed when passing 'plugin 1'. iykyk πŸ’€


🫢 SUPPORT 🫢

πŸ’œ Perldoc

You can find documentation for this module with the perldoc command.

perldoc Dist::Zilla::Role::PluginBundle::PluginRemover

🌈 Websites

The following websites have more information about this module, and may be of help to you. As always, in addition to those websites please use your favorite search engine to discover more resources.

  • MetaCPAN

A modern, open-source CPAN search engine, useful to view POD in HTML format.

<http://metacpan.org/release/Dist-Zilla-Role-PluginBundle-PluginRemover>

πŸ“ Bugs / Feature Requests

Please report any bugs or feature requests by email to bug-dist-zilla-role-pluginbundle-pluginremover at rt.cpan.org, or through the web interface at <https://rt.cpan.org/Public/Bug/Report.html?Queue=Dist-Zilla-Role-PluginBundle-PluginRemover>. You will be automatically notified of any progress on the request by the system. 🫑

⭐ Source Code

<https://github.com/rwstauner/Dist-Zilla-Role-PluginBundle-PluginRemover>

git clone https://github.com/rwstauner/Dist-Zilla-Role-PluginBundle-PluginRemover.git

πŸ‘‘ AUTHOR πŸ‘‘

Randy Stauner <rwstauner@cpan.org>


πŸ’– CONTRIBUTOR πŸ’–

Karen Etheridge <ether@cpan.org>


This software is copyright (c) 2011 by Randy Stauner.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.


okay that's the whole page bestie, no cap πŸ’… this was documented as Dist::...emover(3pm) with perl v5.34.0, dated 2022-06-13 β€” go forth and remove some plugins, you absolute icon πŸŽ€βœ¨

πŸ“¦ where this page comes from