
* feat: (AppRunner) Mechanism to configure cli args and derive componentsjs vars from them implemented * fix: (AppRunner) tidying * fix: (AppRunner) tidying up * fix: (AppRunner) runCli method made sync * fix; (VarResolver) refactored to multiple files, and other stylistic fixes. * chore: (AppRunner) Uses builder pattern for yargs base arguments setup to enable better typescript inference * fix(AppRunner): refactoring AppRunner and VarResolver * fix(AppRunner): refactoring AppRunner promise handling * fix(AppRunner): verror dependency removal * fix: Simplify CLI error handling * feat: Use same config for both CLI and app instantiation * fix: Update typings and imports * feat: Split VariableResolver behaviour to 2 classes * feat: Move default value behaviour from CLI to ValueComputers * test: Add unit tests for new CLI classes * feat: Integrate new CLI configuration with all default configurations * feat: Add createApp function to AppRunner * docs: Update comments in CLI-related classes * fix: Various fixes and refactors Co-authored-by: damooo <damodara@protonmail.com>
Util
Various utility related options.
Auxiliary
Exports an object that contains a list of all auxiliary resources that need to be supported. In case you create a new auxiliary strategy you can just add it to this list.
- acl: Default list with only support for acl auxiliary resources.
- no-acl: An empty list which can be added to.
Identifiers
How identifiers should be interpreted. This is mostly relevant when creating pods and/or using a file-based backend.
- subdomain: New pod identifier would be
http://alice.test.com/
. File path ofhttp://alice.test.com/foo
would be/alice/foo
. - suffix: New pod identifier would be
http://test.com/alice
. Requests to subdomain identifiers would be rejected.
Index
This can be used to provide different behaviour for index files. This is mostly relevant for user interfaces.
- default: No special support.
- example: An example of how this could be configured. If this is needed the best solution is usually to not import anything here and have the index setup in the root config.
Logging
Which logger to use.
- no-logging: Disables all logging.
- winston: Uses the winston logger.
Representation-conversion
Used for converting from one content type to another when needed. When a new content type needs to be supported, this can be done by adding a corresponding converter to the ChainedConverter list.
- default: The default conversion setup which supports most RDF formats.
Resource-locker
Which locking mechanism to use to for example prevent 2 write simultaneous write requests.
- debug-void: No locking mechanism, does not prevent simultaneous read/writes.
- memory: Uses an in-memory locking mechanism.
- redis: Uses a Redis store for locking.
Variables
Various variables used by other options. These can usually be set through CLI parameters.
- default: The default list of variables.