aws-amplify / amplify-cli

The AWS Amplify CLI is a toolchain for simplifying serverless web and mobile development.
Apache License 2.0
2.82k stars 820 forks source link

cli.json is case insensitive and it is really hard to read #8347

Open Peng-Qian opened 3 years ago

Peng-Qian commented 3 years ago

Is this related to a new or existing Amplify category?

New category

Is this related to another service?

amplify_flutter

Describe the feature you'd like to request

Hi teams,

The generated file cli.json in flutter are case insensitive, it is really hard to read

{
  "features": {
    "graphqltransformer": {
      "addmissingownerfields": true,
      "improvepluralization": true,
      "validatetypenamereservedwords": true,
      "useexperimentalpipelinedtransformer": false,
      "enableiterativegsiupdates": true,
      "secondarykeyasgsi": true,
      "skipoverridemutationinputtypes": true
    },
    "frontend-ios": {
      "enablexcodeintegration": true
    },
    "auth": {
      "enablecaseinsensitivity": true,
      "useinclusiveterminology": true,
      "breakcirculardependency": true,
      "forcealiasattributes": false
    },
    "codegen": {
      "useappsyncmodelgenplugin": true,
      "usedocsgeneratorplugin": true,
      "usetypesgeneratorplugin": true,
      "cleangeneratedmodelsdirectory": true,
      "retaincasestyle": true,
      "addtimestampfields": true,
      "handlelistnullabilitytransparently": true,
      "emitauthprovider": true,
      "generateindexrules": true,
      "enabledartnullsafety": true
    },
    "appsync": {
      "generategraphqlpermissions": true
    },
    "latestregionsupport": {
      "pinpoint": 1,
      "translate": 1,
      "transcribe": 1,
      "rekognition": 1,
      "textract": 1,
      "comprehend": 1
    }
  }
}

Describe the solution you'd like

camel case will be good solution, I believe most developers will happy with it

Describe alternatives you've considered

lowercase with underscores

Additional context

No response

Is this something that you'd be interested in working on?

renebrandel commented 3 years ago

Hi @Peng-Qian - thanks for the feedback!

The cli.json is an "advanced" capability just for feature flag management. We don't have any plans right now to change the casing because the time spent in this file should be minimal at best. Unless others feel passionate about this, I'll happy to re-open. @-mention me if you have any further questions.

Mr0cket commented 2 years ago

@renebrandel Where can I find the documentation for the feature flags in the cli.json config file?

kevcam4891 commented 2 years ago

Regardless of how frequent one might be expected to interface with this file, I've got to agree: it is incredibly difficult to read. It is almost frustrating to read, without trying to sound too dramatic.