Extension Configuration File
In order to define the properties of an extension and the various functions that an extension can invoke, each extension should have an extension configuration file named extension.json in the root directory with the following default contents:
{
"name": "pro-api-sdk",
"uuid": "",
"displayName": "PRO API SDK",
"description": "嘉立创EDA & EasyEDA 专业版扩展 API 开发工具",
"version": "1.0.0",
"publisher": "JLCEDA <support@lceda.cn>",
"engines": {
"eda": "^2.3.0"
},
"license": "Apache-2.0",
"repository": {
"type": "extension-store",
"url": ""
},
"categories": "Other",
"keywords": ["SDK"],
"images": {
"logo": "./images/logo.png"
},
"homepage": "https://pro.lceda.cn",
"bugs": "https://lceda.cn/page/feedback?originPage=other",
"activationEvents": {},
"entry": "./dist/index",
"dependentExtensions": {},
"headerMenus": {
"home": [
{
"id": "API SDK",
"title": "API SDK",
"menuItems": [
{
"id": "About",
"title": "About...",
"registerFn": "about"
}
]
}
],
"sch": [
{
"id": "API SDK",
"title": "API SDK",
"menuItems": [
{
"id": "About",
"title": "About...",
"registerFn": "about"
}
]
}
],
"pcb": [
{
"id": "API SDK",
"title": "API SDK",
"menuItems": [
{
"id": "About",
"title": "About...",
"registerFn": "about"
}
]
}
]
}
}2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
name string
Extension name. It can only contain lowercase English characters a-z, numbers 0-9, and underscores -, and is 5-30 characters long.
uuid string
UUID. A unique ID for the extension that can contain only lowercase English characters a-z, numbers 0-9, and is 32 characters long.
displayName string
Display name.
description string
Description.
version string
Version number. The format is major.minor.patch.
publisher string
Developer Information.
engines Object feature
The engine to which the extension applies.
engines.eda string feature
Extended adapted version of EasyEDA Professional (online).
license string
Open Source License. It is recommended to go to Choose a License to select the appropriate open source license for your project.
repository Object feature in working
Repository information for the source code of the extension.
repository.type string feature in working
The type of source code repository. Optional values are extension-store git mercurial svn ftp github gitlab gitlab-selfhosted gitee gitea bitbucket coding gnu-savannah gitbucket gogs.
repository.url string feature in working
Source code repository URL.
categories string | Array<string>
The extension's classification. Optional values are Schematic Symbol PCB Footprint Panel Library Project Other.
keywords Array<string>
Keywords.
images Object
Images.
images.logo string
Logo. Size 1:1, PNG/JPEG format. Logos can be drawn using an AI generation tool such as AutoDraw and a minimum size of 500×500 is recommended.
images.banner string feature
Banner. Size 64:27, for presentation of extension's store page, JPEG format.
homepage string
Project homepage.
bugs string
Vulnerability feedback channel. Please fill in a correct URI.
activationEvents Object feature in working
Extension's activation event.
entry string
Entry file. No modification is recommended, it is correctly defined within the SDK.
dependentExtensions Object feature in working
Dependencies on other extensions. Supports the use of 32-bit UUIDs of extensions in the Extension Store (automatic pulling supported), or user-defined extension names (manual upload required).
headerMenus Object
The header menu registered when the extension is initialized.
The header menu is currently supported to be configured separately according to the following pages:
{
"headerMenus": {
"home": [],
"blank": [],
"sch": [],
"symbol": [],
"pcb": [],
"footprint": [],
"pcbView": [],
"panel": [],
"panelView": []
}
}2
3
4
5
6
7
8
9
10
11
12
13
headerMenus[].id string
Menu item ID. must be unique.
headerMenus[].title string
Menu item title.
headerMenus[].menuItems Object
Menu item subitems. Up to two levels of subitems can be nested.
menuItems conflicts with registerFn, only one of them is allowed to exist in the same level.
headerMenus[].registerFn string
Menu associated registered method. The method here is associated with a method exported within the code of this extension, you need to export the specified method as an ES Module using export and fill in its method name here.
registerFn conflicts with menuItems, only one of them is allowed to exist in the same level.