Dropserver Application Manifest
This page is valid for version 0.11.0 and above.
The Dropserver application manifest is a
JSON file located at the root of package and always named
The manifest represents data that pertains to a specific version of the app. Some of the data is different from version to version (such as the
version value) while others may be the same (such as the application
Some parts of the manifest are written directly by the app developer, typically by manually editing
dropapp.json, others are generated by the application packaging system.
Manifest files and the installation flow
The application packaging system runs the app in a sandbox and acquires metadata about the app by querying the running app. This metadata is then combined with the data in
dropapp.json to create a complete manifest that is included in the package (instead of the original
When a user uploads a new app or new version of an app, the process is repeated: the system runs the app in a sandbox, and overwrites the metadata from teh running app in the manifest. This ensures that tampering with the manifest values has no effect.
The following are keys of the manifest JSON object. All are optional except for
version, though many are highly recommended for obvious reasons.
The manifest file must be in the root of the package and must be named
name: The application name. Try to keep it under 30 characters.
version: Required. The Semver 2.0 version of the app. For the time being please avoid including pre-release and build metadata in the version.
entrypoint: If the module that exports your app is not
app.js, you can specify the path (relative to the root of the package) to that module here.
icon: Relative path to application icon. Icon should be in the app package and should be
webp. It should be square and at least 160 pixels in size. Please run your icon file through an optimizer program to keep the file size to a minimum!
accent-color: A CSS color to use to make the app stand out. Currently this color is applied to a thick border above the app box. Choose a bold color that marries with your icon colors. Assume the background is white or light grey, but do not worry about accessibility: the color is never used for text or as a background to text.
short-description: A short description for the application. Tell the user what this does for them in one short sentence. Try to keep in under 60 characters.
authors: An array of objects listing the authors of the app. Each author object consists of:
license: The software license as a SPDX string.
license-file: A path to the license file relative to the package root.
website: The URL of the website for the app. This could be a complete website, a single page, or a blog post introducing the app.
code: The URL of the app’s code repository.
funding: The URL where the author(s) can accept donations. If there are several options for donating, consider making a page on the app or author site that lists these options.
Automatically Generated Manifest Reference
These additional keys are automatically generated by the app packaging system:
schema: The integer version of the appspace data schema.
migrations: An array of migration functions that the app code provides.
release-date: The date in GMT is added by
ds-dev at packaging time. It serves to tell the user how old or recent this release is.