The configuration provides basic metadata about the package, such as its name or description. The configuration also contains all references to blueprints, all executable commands, and information about how the interface should change when the exporter runs.
Configuration of metadata can be done through the UI when editing detail of the exporter package. Locate the configuration
tab and change properties accordingly.
Following properties are available:
Exporter Name
- The name of the exporter, shown everywhere inside Supernova
Author Name
- Name of the author, shown in the list of installed exporters
Author Email
- Email of the author or support email so users can ask questions
Homepage
- Marketing or project URL for the current exporter
Description
- Description of the exporter used for search and in the list of installed exporters
Version
- The main version of the exporter. The version needs to follow semantic versioning X.X.X
- and needs to be bumped up, if you want to notify users that new version is available
Menu Item
- If provided, Supernova menu item will show this text instead of the default one. The default one is constructed as Export using [name]
GithubRepository
- Used to let Supernova know that exporter has a remote repository backing it, where you can publish a new version. You can learn more about remote exporters here.
All configuration data is contained inside exporter.json
file in the /Supernova
folder of the exporter package. It is also possible to change the configuration manually without the user interface. The configuration file has the following structure:
{"author" : "Supernova","contactEmail" : "","github" : "https:\/\/github.com\/Supernova-Studio\/supernova-exporter-flutter","homepage" : "https:\/\/supernova.io","id" : "1181EBAB-3AE3-4F29-A785-5C2A327EE426","input" : "sn.project","menuItem" : "Flutter Exporter","name" : "Flutter Exporter","overview" : "Flutter exporter supporting all the latest and greatest in the Flutter world. Proudly created and maintained by Supernova.","version" : "0.1.8","mapping" : [{"blueprintId" : "primary.MainDart","id" : "ITtbPKlxH","name" : "Main.dart","overview" : "Writes lib\/Main.dart","rule" : "lib\/main.dart","type" : "blueprint"}],"assetIds" : ["asset.zip"],"blueprintIds" : ["blueprint1","blueprint2"]}
As you can notice, there are a few additional properties not exposed in the interface:
id
- internal, unique UUID of the exporter. When making a copy of exporter, always make sure this ID changes, otherwise existing exporter will get replaced instead of making a copy
input
- Currently only supports sn.project option
which makes the exporter to use the data model of the currently opened Supernova project. More data contexts are planned in the future
blueprintIds
- Ids of all blueprints that are linked to this exporter. Any referenced blueprint has to have a backing definition file (.blazar
) inside /blueprints
folder and also configuration (.json) inside /config
folder, otherwise exporter package fails to load
mapping
- Commands to execute when running the exporter, such as interpreting a singular blueprint
assetIds
- Static assets to load and potentially copy into file system through the use of mapping commands