[Feature Request]: Allow merging of multiple config files

Open
#704 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
5/5
Estimated time
Over a week
Newbie friendliness
35/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Stale
Tech stack
javascript
Domain
cli, tooling

Research direction

Start with the UI5 CLI configuration handling for ui5 serve and the ui5.yaml and mockserver.yaml examples in the issue. Define merge precedence and validation behavior for repeated --config inputs; done means both files can be supplied and their settings are combined without the temporary-file workarounds described.

Written by the indexing model from the issue text.

Description

Is your feature request related to a problem? Please describe.

In many projects, including now our own, one sees two or three different YAML configurations for UI5, each doing a different thing (one running with the mockserver middleware, a different one with the fiori local middleware &c.), but all sharing a lot of common information.

Describe the solution you'd like

Suppose I have e.g. ui5.yaml:

specVersion: "2.0"
metadata:
  name: ...
type: application
...

and mockserver.yaml:

server:
  customMiddleware:
    - name: sap-fe-mockserver
      beforeMiddleware: compression
      configuration:
        service:
          ...

I would like to be able to run e.g. ui5 serve --config ui5.yaml --config mockserver.yaml and have the two config files effectively merged into one configuration.

Describe alternatives you've considered

  • catting the config files together and passing it to ui5, but besides being wonky, the UI5 CLI doesn't support passing configuration on stdin
  • pasting the two configs into a new file using a pre-run NPM script, passing that to ui5 serve, deleting it afterwards (also not great)
Dominant language
JavaScript
Stars
511
Forks
83
Avg merge
1d 5h
Merged PRs (30d)
55

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from UI5/cli

All issues in UI5/cli

Similar issues

More JavaScript issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.