felangel / felangel/mason

feat: Read a default configuration file by convention instead of configuration

Open
#508 2 comments 0 reactions 1 assignee Claimed by @felangel View on GitHub
question waiting for response
Dominant language
Dart
Stars
1.1k
Forks
113
PR merge metrics
No merged PRs in 30d

Description

**Description**

I have a brick that generates two files:

1. page
2. controller

To be able to share the brick across projects, I've added some variables:

1. project_name
2. page_id
3. page_name

This works great, but when you are working on a project, the ```project_name``` is for that project always the same. Asking the ```project_name``` is redundant and error-prone.

So I've added a configuration file ```mason-variables.json```.

The Flutter project source is also generated using Mason, which means that this file is in my case always available and the content is specific for the generated Flutter project.

```
{
"project_name": "flutter_demo_app"
}
```
So now I can run:
```
mason make rubigo_page -c mason-variables.json
```

and now the brick only asks for

1. page_id
2. page_name

Is there a way that I can eliminate the need for adding ```-c mason-variables.json``` to the mason command?

Of course, I could write a shell script, but that's not platform-independent. I also tried mason_hooks, but the pre_gen hook is executed after the variables are asked to the user.

A better idea might be to solve this by convention, for example, that a file with the name ```mason-variables.json``` in the working directory is read by default by Mason.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.