Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

disallow some configuration & transformer chaining #78

Open
6 tasks
boneskull opened this issue Jan 31, 2020 · 1 comment
Open
6 tasks

disallow some configuration & transformer chaining #78

boneskull opened this issue Jan 31, 2020 · 1 comment
Labels
help wanted Extra attention is needed package-cli Involving cli package package-common Involving common package package-transformers Involving transformers package

Comments

@boneskull
Copy link
Contributor

Normally I wouldn't go for this, as I like to give the user a lot of control, but I think we're doing way too much work to support every potential use-case.

To that end, I want to remove some configuration. Transformers, I think, are way too convoluted and try to do too many things.

So:

  1. Remove the ability to use multiple transformers in sequence
  2. The only one that's really useful with others is filter, so filtering should become an option to all transformers, where applicable.
  3. Reconfigure "input" filter in diff command to compare everything, then rely on output filters (defined in previous item) to remove cruft by default
  4. Remove input filters
  5. Each command will have some configuration over how it works with each transform that it works with. I recommend a "default" transformer config--where appropriate (like fields; see json transformer should use field labels #39) and overrides on a per-transform basis
  6. Only a subset of transformer configuration should be configurable by the user. fields should not be; most of the table configuration should not be. Each configuration option will need to be evaluated on a case-by-case basis.

I envision looking more closely at this when I get to documenting configuration (#66). But if someone wants to take a crack at it, I can make myself available to help.

@boneskull boneskull added help wanted Extra attention is needed package-common Involving common package package-cli Involving cli package package-transformers Involving transformers package labels Jan 31, 2020
@boneskull
Copy link
Contributor Author

what's needed here, I think, is essentially a flowchart or outline of how configuration should work. it needs to answer these questions:

  1. what is configurable?
  2. for each configurable subsystem, where does its configuration live?
  3. for each configurable item in each configurable subsystem, what actors can configure it? other subsystems, users, etc.
  4. for each configurable subsystem, illustrate the configuration precedence: if two actors configure a subsystem, which actor is preferred?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
help wanted Extra attention is needed package-cli Involving cli package package-common Involving common package package-transformers Involving transformers package
Projects
None yet
Development

No branches or pull requests

1 participant