Manifest File
The extension.json
file contains the manifest for an Extension and needs to be placed in a public
directory. You are required to provide a manifest file to publish an Extension to the Extensions Store.
Properties
Property | Type | Description |
---|---|---|
name | string | Required. The Extension's name. Length can be 1-60 characters. |
description | string | Required. The Extension's description. Length can be 1-255 characters. |
longDescription? | string | Optional. The Extension's longer description. Markdown is supported and recommended. |
version | string | Required. The Extension's version. Use 0 for now as this field is still a work in progress. |
icon? | string | Optional. The Extension's icon. This is a reference to a file on the repl. SVGs are accepted. |
tags? | string[] | Optional. A list of tags that describe the extension. |
coverImages? | CoverImage[] | Optional. A Cover Image belonging to an Extension. Max 4 coverImages per extension. |
website? | string | Optional. The Extension's website |
authorEmail? | string | Optional. The email address of the extension author |
fileHandlers? | FileHandler[] | Optional. An array of file handlers registered by the extension. |
tools? | Tool[] | Optional. An array of tools registered by the extension. |
scopes? | Scope[] | Optional. An array of scopes/permissions required by the extension. |
Types
CoverImage
A Cover Image belonging to your extension. Currently, only the first image will be used in the extension store. The path
should reference an image file on the Repl's file system.
Property | Type | Description |
---|---|---|
path | string | The path to the image. This is relative to the baseUrl |
label | string | The label of the image. This is used as the alt text for the image |
FileHandler
A file handler is a custom user experience around a particular file in the Workspace, in the form of a Pane.
Property | Type | Description |
---|---|---|
glob | string | A glob pattern that matches the files that this handler should be used for |
handler | string | The path to the handler. This is relative to the baseUrl |
name? | string | Optional. Required if more than one file handler is registered. Fallback value is the extension's name. |
icon? | string | Optional. Required if more than one file handler is registered. Fallback value is the extension's icon. |
Tool
A tool is a custom user experience in the Workspace, in the form of a Pane.
Property | Type | Description |
---|---|---|
handler | string | The path to the handler. This is relative to the baseUrl |
name? | string | Optional. Required if more than one tool is registered. Fallback value is the extension's name. |
icon? | string | Optional. Required if more than one tool is registered. Fallback value is the extension's icon. |
Scope
Scopes/Permissions required by the extension.
Property | Type | |
---|---|---|
name | ScopeType | The name of the scope |
reason | string | The reason why the extension needs this scope |
ScopeType
read
- Read any file in a Replwrite-exec
- Write to any file and execute any code in a Replrepldb:read
- Read all data in the key-value ReplDB in a Replrepldb:write
- Write or delete any key in the key-value ReplDB in a Repl
"read" | "write-exec" | "repldb:read" | "repldb:write";