In the original custom scripts (hooks) feature #149, the proposal to add scripts listed two really good use cases -- running dart fix --apply or flutter pub get after a block executes. I'm wondering if a hook could be baked in to the brick's config that executes command line statements before or after a brick executes.
For example, right now I believe I have to add hooks to my brick just to run dart fix --apply, which I do for most everything.
Future<void> run(HookContext context) async {
final String path = context.vars['feature_name'];
var result = await Process.run('dart', ['fix', '--apply', path], runInShell: true);
context.logger.info(result.stdout.toString());
}
It might be convenient to be able to run these common scripts like this:
name: my_brick
vars:
feature_name:
type: string
description: The feature name
prompt: What is the feature name?
post-scripts:
- dart fix --apply {{{feature_name}}}
- flutter pub run build_runner build --delete-conflicting-outputs
- echo "Be sure to ..."
Additional Context
Perhaps the cross platform nature of blocks might make scripts difficult to run, but I still face that if I use a hook and Process.run(). Not sure if the lack of cross-platform scripting is a blocker or a potential footgun.
Description
In the original custom scripts (hooks) feature #149, the proposal to add scripts listed two really good use cases -- running
dart fix --apply
orflutter pub get
after a block executes. I'm wondering if a hook could be baked in to the brick's config that executes command line statements before or after a brick executes.For example, right now I believe I have to add hooks to my brick just to run
dart fix --apply
, which I do for most everything.It might be convenient to be able to run these common scripts like this:
Additional Context Perhaps the cross platform nature of blocks might make scripts difficult to run, but I still face that if I use a hook and
Process.run()
. Not sure if the lack of cross-platform scripting is a blocker or a potential footgun.