Configuration

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.

Exporter configuration interface

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.

Exporter Configuration File

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