SUSHI 3.10.0 contains the following enhancements and bug fixes:
What's Changed
- New options for sushi init command by @jafeltra in #1459
- Override sushi-config options from command line by @LodewijkSioen in #1442
- Set version based on sushi-config.yaml in FSHOnly projects by @jafeltra in #1456
- Prevent logging an error when Parent doesn't have a mapping array by @jafeltra in #1455
New options for sushi init command
The sushi init command now allows users to specify the project name via a command line argument and other project metadata via command line options. In addition, there are flags to automatically choose default values and to automatically confirm initialization of the project folder.
For example, to start the initialization dialog for a project named MyBreakfastIG, run the following command:
$ sushi init MyBreakfastIG
Or to create a test IG called MyTestIG with status unknown and version 0.0.1, accepting all other default metadata values and immediately creating the project folder, run this command:
$ sushi init -c status:unknown -c version:0.0.1 -d -a MyTestIG
This feature is most helpful for people who create projects often (either for testing or as part of a script). For full usage information, run sushi help init or sushi init --help:
$ sushi help init
Usage: sushi init [options] [name]
initialize a SUSHI project
Arguments:
name project name
Options:
-c, --config <config> configure a specific property for the project (supported: 'id', 'canonical', 'status',
'version', 'releaselabel', 'publisher-name', 'publisher-url') (eg: --config status:draft)
-d, --default accept all remaining defaults
-a, --auto-initialize automatically initialize the SUSHI project in the current directory
-l, --log-level <level> specify the level of log messages (default: "info") (choices: "error", "warn", "info",
"debug")
-h, --help display help for command
Override sushi-config options from command line
Typically, SUSHI uses the sushi-config.yaml file to define the configuration options it uses when processing FSH. However, in rare cases, it may be useful to override the values provided in sushi-config.yaml without changing the file itself. For these cases, the --config (or -c) option can be used to specify a configuration property and the override value for it. Currently, this option only allows version, status, and releaselabel to be overridden.
For example, to temporarily change the version to 1.2.3 and status to draft when building the current directory, run:
$ sushi build -c version:1.2.3 -c status:draft .
Many thanks to @LodewijkSioen for thinking of and implementing this feature!
Set version based on sushi-config.yaml in FSHOnly projects
In SUSHI 2.x, SUSHI always defaulted the version of conformance resources to the version of the IG (as specified in sushi-config.yaml). In SUSHI 3.x, we removed this feature so that the version assignment could be controlled by the IG Publisher instead. This change, however, adversely impacted FSHOnly projects that do not use the IG Publisher. Now, starting in SUSHI 3.10.0, if a project has FSHOnly: true in its sushi-config.yaml, SUSHI will default the version of conformance resources to the project version specified in sushi-config.yaml. This restores the previous SUSHI 2.x behavior for FSHOnly projects.
New Contributors
- @LodewijkSioen made their first contribution in #1442
Install or Update
SUSHI 3.10.0 is the latest stable release of fsh-sushi. To install or update to SUSHI 3.10.0, run the following command:
$ npm install -g fsh-sushi
To revert to the previous SUSHI stable release (3.9.0), run the following command:
$ npm install -g fsh-sushi@3.9.0
To check or confirm what version of SUSHI you have installed, you can run the following command:
$ sushi -v
Full Changelog: v3.9.0...v3.10.0