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.2.32"
},
"license": "MIT License",
"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": "关于...",
"registerFn": "about"
}
]
}
],
"sch": [
{
"id": "API SDK",
"title": "API SDK",
"menuItems": [
{
"id": "About",
"title": "关于...",
"registerFn": "about"
}
]
}
],
"pcb": [
{
"id": "API SDK",
"title": "API SDK",
"menuItems": [
{
"id": "About",
"title": "关于...",
"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 in working
The engine to which the extension applies.
engines.eda string feature in working
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> feature
The extension's classification. Optional values are System
Schematic
Symbol
PCB
Footprint
3DModel
CBB
Panel
PanelLibrary
DocumentTree
IntegratedLibrary
Other
.
keywords Array<string> feature
Keywords.
images Object feature
Images.
images.logo string
Logo. Size 1:1
, PNG/JPEG format.
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.