Use an `--env-config` flag instead of `--config=ENV` to tell the tap to parse environment variables

Summary

Currently, the way to tell a tap-based SDK to parse environment variables for settings is to pass a --config=ENV option to the tap invocation

my-tap --config=firstConfig.json --config=ENV -config=secondConfig.json

I suggest supporting a boolean --env-config instead.

Proposed benefits

Be more explicit about environment parsing option for settings and don't rely on the hardcoded ENV string.

Also, the position of --config=ENV in the multi-value sequence is not important, so in practice it acts only as a flag. It'd be good to make that understanding more explicit.

Proposal details

Add a new --env-config option to the tap CLI decorators:

click.option(
    "--env-config",
    is_flag=True,
    help="Use environment variables for configuration.",
)

The corresponding env_config boolean variable in the function would then be passed directly to the Tap constructor's parse_env_config argument.

Best reasons not to build

--env-config is not standard for Singer taps, so this would act as an extension to the common CLI options.

cc @aaronsteers

Edited by Edgar R. Mondragón