esa-cli 1.0.1 → 1.0.2-beta.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/commands/commit/index.js +6 -1
- package/dist/commands/common/utils.js +84 -4
- package/dist/commands/deploy/index.js +18 -2
- package/dist/commands/login/index.js +22 -14
- package/dist/docs/Commands_en.md +261 -140
- package/dist/docs/Commands_zh_CN.md +256 -144
- package/dist/docs/Config_en.md +13 -7
- package/dist/docs/Config_zh_CN.md +13 -7
- package/dist/i18n/locales.json +5 -1
- package/dist/utils/compress.js +9 -3
- package/dist/utils/fileUtils/index.js +1 -1
- package/package.json +1 -1
- package/zh_CN.md +2 -2
|
@@ -1,272 +1,384 @@
|
|
|
1
|
-
##
|
|
1
|
+
## ESA CLI 命令
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**ESA CLI 提供多种命令来管理您的阿里云 ESA Functions & Pages。**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
**init** - 从各种 Web 框架和模板创建新项目。**
|
|
6
|
+
\*\***dev** - 启动本地开发服务器。** \***\*commit** - 提交代码并保存为新版本。**
|
|
7
|
+
\*\***deploy** - 将您的 Functions & Pages 部署到阿里云。** \***\*deployments** - 管理您的部署和版本。**
|
|
8
|
+
\*\***project** - 管理您的 Functions & Pages 项目。** \***\*site** - 列出您已激活的站点。**
|
|
9
|
+
\*\***domain** - 管理您的 Functions & Pages 的域名绑定。** \***\*route** - 管理您的 Functions & Pages 的路由绑定。**
|
|
10
|
+
\*\***login** - 使用您的阿里云账户授权 ESA CLI。** \***\*logout** - 移除 ESA CLI 访问您账户的授权。**
|
|
11
|
+
\*\***config** - 修改您的本地或全局配置。** \***\*lang** - 设置 CLI 的语言。
|
|
12
|
+
|
|
13
|
+
### 如何运行 ESA CLI 命令
|
|
14
|
+
|
|
15
|
+
**如果你是通过全局安装的esa-cli,如果需要运行请参考以下命令**
|
|
16
|
+
|
|
17
|
+
**安装方式**
|
|
6
18
|
|
|
7
|
-
```
|
|
8
|
-
esa-cli
|
|
19
|
+
```
|
|
20
|
+
npm i esa-cli@latest -g
|
|
9
21
|
```
|
|
10
22
|
|
|
11
|
-
|
|
12
|
-
- name:项目名
|
|
23
|
+
**执行命令**
|
|
13
24
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
- -t, --template string:指定模板名称
|
|
18
|
-
- -y, --yes boolean:对所有交互询问选择“是”(默认 false),模版采用helloworld
|
|
19
|
-
- --git boolean:在项目中初始化 git
|
|
20
|
-
- --deploy boolean:初始化完成后自动部署
|
|
25
|
+
```
|
|
26
|
+
esa-cli <COMMAND> <SUBCOMMAND> [PARAMETERS] [OPTIONS]
|
|
27
|
+
```
|
|
21
28
|
|
|
22
29
|
---
|
|
23
30
|
|
|
24
|
-
|
|
31
|
+
**如果你是在项目中本地安装 ESA CLI(而不是全局安装),运行 ESA CLI 的方式将取决于您的具体设置和包管理器。**
|
|
25
32
|
|
|
26
|
-
|
|
33
|
+
```
|
|
34
|
+
npx esa-cli <COMMAND> <SUBCOMMAND> [PARAMETERS] [OPTIONS]
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
**您可以将经常使用的 ESA CLI 命令添加为项目 package.json 文件中的脚本:**
|
|
27
38
|
|
|
28
|
-
```
|
|
29
|
-
|
|
39
|
+
```
|
|
40
|
+
{
|
|
41
|
+
...
|
|
42
|
+
"scripts": {
|
|
43
|
+
"deploy": "esa-cli deploy",
|
|
44
|
+
"dev": "esa-cli dev"
|
|
45
|
+
}
|
|
46
|
+
...
|
|
47
|
+
}
|
|
30
48
|
```
|
|
31
49
|
|
|
32
|
-
|
|
33
|
-
- entry:函数和Pages入口文件
|
|
50
|
+
**然后您可以使用您选择的包管理器运行它们:**
|
|
34
51
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
- --refresh-command string:保存自动刷新前执行的命令
|
|
39
|
-
- --local-upstream string:在本地开发中作为源站的主机
|
|
40
|
-
- --debug boolean:输出调试日志(默认 false)
|
|
52
|
+
```
|
|
53
|
+
npm run deploy
|
|
54
|
+
```
|
|
41
55
|
|
|
42
56
|
---
|
|
43
57
|
|
|
44
|
-
|
|
58
|
+
## init
|
|
45
59
|
|
|
46
|
-
|
|
60
|
+
**通过模板创建新项目。可选择各种 Web 框架和模板。默认安装依赖项,可选择立即部署您的项目。**
|
|
47
61
|
|
|
48
|
-
```bash
|
|
49
|
-
esa-cli commit [entry]
|
|
50
62
|
```
|
|
63
|
+
esa-cli init [<NAME>] [OPTIONS]
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**NAME\***可选(默认:工作目录名称)\*
|
|
67
|
+
**Functions & Pages 项目的名称。这既是目录名称,也是生成的 ESA CLI 配置中的 name 属性。**
|
|
68
|
+
|
|
69
|
+
**--framework, -f\***可选\*
|
|
70
|
+
**选择前端框架(react/vue/nextjs...)**
|
|
71
|
+
|
|
72
|
+
**--language, -l\***可选\*
|
|
73
|
+
**选择编程语言(typescript/javascript)。可选:typescript | javascript**
|
|
74
|
+
|
|
75
|
+
**--template, -t\***可选\*
|
|
76
|
+
**指定模板名称**
|
|
77
|
+
|
|
78
|
+
**--yes, -y\***可选\*
|
|
79
|
+
**对所有交互询问选择"是"(默认 false),模版采用helloworld**
|
|
51
80
|
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
81
|
+
**--git\***可选\*
|
|
82
|
+
**在项目中初始化 git**
|
|
83
|
+
|
|
84
|
+
**--deploy\***可选\*
|
|
85
|
+
**初始化完成后自动部署**
|
|
57
86
|
|
|
58
87
|
---
|
|
59
88
|
|
|
60
|
-
|
|
89
|
+
## dev
|
|
61
90
|
|
|
62
|
-
|
|
91
|
+
**启动本地开发服务器。**
|
|
63
92
|
|
|
64
|
-
```bash
|
|
65
|
-
esa-cli deploy [entry]
|
|
66
93
|
```
|
|
94
|
+
esa-cli dev [<ENTRY>] [OPTIONS]
|
|
95
|
+
```
|
|
96
|
+
|
|
97
|
+
**ENTRY\***可选\*
|
|
98
|
+
**函数和Pages入口文件**
|
|
99
|
+
|
|
100
|
+
**--port, -p\***可选\*
|
|
101
|
+
**监听端口**
|
|
102
|
+
|
|
103
|
+
**--minify, -m\***可选\*
|
|
104
|
+
**开发模式下压缩代码(默认 false)**
|
|
67
105
|
|
|
68
|
-
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
106
|
+
**--refresh-command\***可选\*
|
|
107
|
+
**保存自动刷新前执行的命令**
|
|
108
|
+
|
|
109
|
+
**--local-upstream\***可选\*
|
|
110
|
+
**在本地开发中作为源站的主机**
|
|
111
|
+
|
|
112
|
+
**--debug\***可选\*
|
|
113
|
+
**输出调试日志(默认 false)**
|
|
76
114
|
|
|
77
115
|
---
|
|
78
116
|
|
|
79
|
-
|
|
117
|
+
## commit
|
|
80
118
|
|
|
81
|
-
|
|
119
|
+
**提交代码并保存为新版本。**
|
|
82
120
|
|
|
83
|
-
```bash
|
|
84
|
-
esa-cli deployments list
|
|
85
121
|
```
|
|
122
|
+
esa-cli commit [<ENTRY>] [OPTIONS]
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
**ENTRY\***可选\*
|
|
126
|
+
**函数和Pages入口文件**
|
|
127
|
+
|
|
128
|
+
**--minify, -m\***可选\*
|
|
129
|
+
**提交前压缩代码(默认 false)**
|
|
86
130
|
|
|
87
|
-
|
|
131
|
+
**--assets, -a\***可选\*
|
|
132
|
+
**静态资源目录**
|
|
133
|
+
|
|
134
|
+
**--description, -d\***可选\*
|
|
135
|
+
**版本/例程描述(跳过交互输入)**
|
|
136
|
+
|
|
137
|
+
**--name, -n\***可选\*
|
|
138
|
+
**函数和Pages名称**
|
|
88
139
|
|
|
89
140
|
---
|
|
90
141
|
|
|
91
|
-
|
|
142
|
+
## deploy
|
|
92
143
|
|
|
93
|
-
|
|
144
|
+
**生成一个代码版本,并同时部署项目到仿真和线上环境。**
|
|
94
145
|
|
|
95
|
-
```bash
|
|
96
|
-
esa-cli deployments delete [deploymentId...]
|
|
97
146
|
```
|
|
147
|
+
esa-cli deploy [<ENTRY>] [OPTIONS]
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
**ENTRY\***可选\*
|
|
151
|
+
**函数和Pages入口文件,默认以 **`esa.jsonc`中entry配置为准
|
|
152
|
+
|
|
153
|
+
**--version, -v\***可选\*
|
|
154
|
+
**指定要部署的版本(跳过交互选择)**
|
|
155
|
+
|
|
156
|
+
**--environment, -e\***可选\*
|
|
157
|
+
**部署环境。可选:staging | production**
|
|
98
158
|
|
|
99
|
-
-
|
|
100
|
-
|
|
159
|
+
**--name, -n\***可选\*
|
|
160
|
+
**函数和Pages名称**
|
|
161
|
+
|
|
162
|
+
**--assets, -a\***可选\*
|
|
163
|
+
**静态资源目录(例如:./dist)**
|
|
164
|
+
|
|
165
|
+
**--description, -d\***可选\*
|
|
166
|
+
**版本描述**
|
|
167
|
+
|
|
168
|
+
**--minify, -m\***可选\*
|
|
169
|
+
**是否压缩代码**
|
|
101
170
|
|
|
102
171
|
---
|
|
103
172
|
|
|
104
|
-
|
|
173
|
+
## deployments
|
|
105
174
|
|
|
106
|
-
|
|
175
|
+
**管理您的部署和版本。**
|
|
107
176
|
|
|
108
|
-
|
|
109
|
-
|
|
177
|
+
### deployments list
|
|
178
|
+
|
|
179
|
+
**列出当前函数和Pages下所有代码版本。**
|
|
180
|
+
|
|
181
|
+
```
|
|
182
|
+
esa-cli deployments list
|
|
183
|
+
```
|
|
184
|
+
|
|
185
|
+
### deployments delete
|
|
186
|
+
|
|
187
|
+
**删除当前函数和Pages的一个或多个代码版本。**
|
|
188
|
+
|
|
189
|
+
```
|
|
190
|
+
esa-cli deployments delete [<DEPLOYMENT_ID>...] [OPTIONS]
|
|
110
191
|
```
|
|
111
192
|
|
|
112
|
-
|
|
193
|
+
**DEPLOYMENT_ID\***必需\*
|
|
194
|
+
**要删除的部署版本ID(可一次传多个)**
|
|
113
195
|
|
|
114
196
|
---
|
|
115
197
|
|
|
116
|
-
|
|
198
|
+
## project
|
|
199
|
+
|
|
200
|
+
**管理您的 Functions & Pages 项目。**
|
|
201
|
+
|
|
202
|
+
### project list
|
|
203
|
+
|
|
204
|
+
**列出账号下所有的函数和Pages。**
|
|
205
|
+
|
|
206
|
+
```
|
|
207
|
+
esa-cli project list
|
|
208
|
+
```
|
|
117
209
|
|
|
118
|
-
|
|
210
|
+
### project delete
|
|
119
211
|
|
|
120
|
-
|
|
121
|
-
|
|
212
|
+
**删除指定函数和Pages。**
|
|
213
|
+
|
|
214
|
+
```
|
|
215
|
+
esa-cli project delete <PROJECT_NAME> [OPTIONS]
|
|
122
216
|
```
|
|
123
217
|
|
|
124
|
-
|
|
125
|
-
|
|
218
|
+
**PROJECT_NAME\***必需\*
|
|
219
|
+
**要删除的函数或Pages名称**
|
|
126
220
|
|
|
127
221
|
---
|
|
128
222
|
|
|
129
|
-
|
|
223
|
+
## site
|
|
224
|
+
|
|
225
|
+
**列出您已激活的站点。**
|
|
130
226
|
|
|
131
|
-
|
|
227
|
+
### site list
|
|
132
228
|
|
|
133
|
-
|
|
229
|
+
**列出账号下所有已激活站点。**
|
|
230
|
+
|
|
231
|
+
```
|
|
134
232
|
esa-cli site list
|
|
135
233
|
```
|
|
136
234
|
|
|
137
|
-
无额外选项。
|
|
138
|
-
|
|
139
235
|
---
|
|
140
236
|
|
|
141
|
-
|
|
237
|
+
## domain
|
|
142
238
|
|
|
143
|
-
|
|
239
|
+
**管理您的 Functions & Pages 的域名绑定。**
|
|
144
240
|
|
|
145
|
-
|
|
146
|
-
|
|
241
|
+
### domain add
|
|
242
|
+
|
|
243
|
+
**绑定域名到当前函数和Pages。**
|
|
244
|
+
|
|
245
|
+
```
|
|
246
|
+
esa-cli domain add <DOMAIN> [OPTIONS]
|
|
147
247
|
```
|
|
148
248
|
|
|
149
|
-
|
|
150
|
-
- domain:要绑定的域名
|
|
249
|
+
**只有在该账号下激活的站点才能绑定**
|
|
151
250
|
|
|
152
|
-
|
|
251
|
+
**DOMAIN\***必需\*
|
|
252
|
+
**要绑定的域名(在该账号站点下已激活)**
|
|
153
253
|
|
|
154
|
-
###
|
|
254
|
+
### domain list
|
|
155
255
|
|
|
156
|
-
|
|
256
|
+
**查看当前函数和Pages所有已绑定域名。**
|
|
157
257
|
|
|
158
|
-
```
|
|
258
|
+
```
|
|
159
259
|
esa-cli domain list
|
|
160
260
|
```
|
|
161
261
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
---
|
|
165
|
-
|
|
166
|
-
### esa-cli domain delete <domain>
|
|
262
|
+
### domain delete
|
|
167
263
|
|
|
168
|
-
|
|
264
|
+
**删除当前函数和Pages下已绑定域名。**
|
|
169
265
|
|
|
170
|
-
```
|
|
171
|
-
esa-cli domain delete <
|
|
266
|
+
```
|
|
267
|
+
esa-cli domain delete <DOMAIN> [OPTIONS]
|
|
172
268
|
```
|
|
173
269
|
|
|
174
|
-
|
|
175
|
-
|
|
270
|
+
**DOMAIN\***必需\*
|
|
271
|
+
**要删除绑定的域名**
|
|
176
272
|
|
|
177
273
|
---
|
|
178
274
|
|
|
179
|
-
|
|
275
|
+
## route
|
|
276
|
+
|
|
277
|
+
**管理您的 Functions & Pages 的路由绑定。**
|
|
278
|
+
|
|
279
|
+
### route add
|
|
180
280
|
|
|
181
|
-
|
|
281
|
+
**为当前函数和Pages绑定一个路由。**
|
|
182
282
|
|
|
183
|
-
```
|
|
184
|
-
esa-cli route add [
|
|
283
|
+
```
|
|
284
|
+
esa-cli route add [<ROUTE>] [<SITE>] [OPTIONS]
|
|
185
285
|
```
|
|
186
286
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
- site:站点名称,例如:example.com
|
|
287
|
+
**ROUTE\***可选\*
|
|
288
|
+
**路由值,例如:example.com/_ 或 _.example.com/\***
|
|
190
289
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
- 主机名支持以 `*` 开头表示后缀匹配(如:`*.example.com`)
|
|
194
|
-
- 路径支持以 `*` 结尾表示前缀匹配(如:`/api/*`)
|
|
195
|
-
- -s, --site string:站点名称(需为已激活站点)
|
|
196
|
-
- -a, --alias string:路由名称(别名) 例如:apple、orange等
|
|
290
|
+
**SITE\***可选\*
|
|
291
|
+
**站点名称,例如:example.com**
|
|
197
292
|
|
|
198
|
-
|
|
293
|
+
**只有在该账号下激活的站点才能绑定**
|
|
199
294
|
|
|
200
|
-
|
|
295
|
+
**--route, -r\***可选*路由值,例如:example.com/*
|
|
201
296
|
|
|
202
|
-
|
|
297
|
+
- **主机名支持以 **`*` 开头表示后缀匹配(如:`*.example.com`)
|
|
298
|
+
- **路径支持以 **`*` 结尾表示前缀匹配(如:`/api/*`)
|
|
203
299
|
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
```
|
|
300
|
+
**--site, -s\***可选\*
|
|
301
|
+
**站点名称(需为账户下已激活站点)**
|
|
207
302
|
|
|
208
|
-
|
|
303
|
+
**--alias, -a\***可选\*
|
|
304
|
+
**路由名称(别名)例如:apple、orange等**
|
|
209
305
|
|
|
210
|
-
|
|
306
|
+
### route list
|
|
307
|
+
|
|
308
|
+
**查看当前函数和Pages下所有已绑定路由。**
|
|
211
309
|
|
|
212
|
-
|
|
310
|
+
```
|
|
311
|
+
esa-cli route list
|
|
312
|
+
```
|
|
213
313
|
|
|
214
|
-
|
|
314
|
+
### route delete
|
|
215
315
|
|
|
216
|
-
|
|
217
|
-
|
|
316
|
+
**删除函数和Pages下已绑定路由。**
|
|
317
|
+
|
|
318
|
+
```
|
|
319
|
+
esa-cli route delete <ROUTE_NAME> [OPTIONS]
|
|
218
320
|
```
|
|
219
321
|
|
|
220
|
-
|
|
221
|
-
|
|
322
|
+
**ROUTE_NAME\***必需\*
|
|
323
|
+
**要删除的路由名称**
|
|
222
324
|
|
|
223
325
|
---
|
|
224
326
|
|
|
225
|
-
|
|
327
|
+
## login
|
|
226
328
|
|
|
227
|
-
|
|
329
|
+
**使用您的阿里云账户授权 ESA CLI。**
|
|
228
330
|
|
|
229
|
-
```bash
|
|
230
|
-
esa-cli login
|
|
231
331
|
```
|
|
332
|
+
esa-cli login [OPTIONS]
|
|
333
|
+
```
|
|
334
|
+
|
|
335
|
+
**--access-key-id, --ak\***可选\*
|
|
336
|
+
**AccessKey ID (AK)**
|
|
337
|
+
|
|
338
|
+
**--access-key-secret, --sk\***可选\*
|
|
339
|
+
**AccessKey Secret (SK)**
|
|
340
|
+
|
|
341
|
+
**--endpoint, -e\***可选\*
|
|
342
|
+
**API 端点 URL 例子: esa.cn-hangzhou.aliyuncs.com**
|
|
232
343
|
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
-
|
|
237
|
-
|
|
238
|
-
- ESA_ACCESS_KEY_SECRET
|
|
344
|
+
**环境变量**从环境变量中读取:
|
|
345
|
+
|
|
346
|
+
- **ESA_ACCESS_KEY_ID**
|
|
347
|
+
- **ESA_ACCESS_KEY_SECRET**
|
|
348
|
+
- **ESA_ENDPOINT**
|
|
239
349
|
|
|
240
350
|
---
|
|
241
351
|
|
|
242
|
-
|
|
352
|
+
## logout
|
|
243
353
|
|
|
244
|
-
|
|
354
|
+
**移除 ESA CLI 访问您账户的授权。**
|
|
245
355
|
|
|
246
|
-
```
|
|
356
|
+
```
|
|
247
357
|
esa-cli logout
|
|
248
358
|
```
|
|
249
359
|
|
|
250
360
|
---
|
|
251
361
|
|
|
252
|
-
|
|
362
|
+
## config
|
|
253
363
|
|
|
254
|
-
|
|
364
|
+
**修改您的本地或全局配置。**
|
|
255
365
|
|
|
256
|
-
```
|
|
257
|
-
esa-cli config [
|
|
366
|
+
```
|
|
367
|
+
esa-cli config [OPTIONS]
|
|
258
368
|
```
|
|
259
369
|
|
|
260
|
-
-
|
|
261
|
-
|
|
262
|
-
|
|
370
|
+
**--local, -l\***可选\*
|
|
371
|
+
**编辑本地配置文件(默认 false)**
|
|
372
|
+
|
|
373
|
+
**--global, -g\***可选\*
|
|
374
|
+
**编辑全局配置文件(默认 false)**
|
|
263
375
|
|
|
264
376
|
---
|
|
265
377
|
|
|
266
|
-
|
|
378
|
+
## lang
|
|
267
379
|
|
|
268
|
-
|
|
380
|
+
**设置 CLI 的语言。**
|
|
269
381
|
|
|
270
|
-
```
|
|
382
|
+
```
|
|
271
383
|
esa-cli lang
|
|
272
384
|
```
|
package/dist/docs/Config_en.md
CHANGED
|
@@ -8,13 +8,15 @@ This document describes the structure, parameters, and example of the ESA (Edge
|
|
|
8
8
|
|
|
9
9
|
### Parameter description
|
|
10
10
|
|
|
11
|
-
| **Parameter**
|
|
12
|
-
|
|
|
13
|
-
| **name**
|
|
14
|
-
| **description**
|
|
15
|
-
| **
|
|
16
|
-
| **
|
|
17
|
-
| **
|
|
11
|
+
| **Parameter** | **Description** |
|
|
12
|
+
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| **name** | Target project name. If it exists, deployment goes into it; otherwise, a new project is created. |
|
|
14
|
+
| **description** | Project description. Optional, used to briefly document the purpose or functionality. |
|
|
15
|
+
| **buildCommand** | Build command for the project, e.g.,`npm run build`. Only effective when importing from ESA console GitHub repository, not when using CLI. |
|
|
16
|
+
| **installCommand** | Install dependencies command, e.g.,`npm install`. Only effective when importing from ESA console GitHub repository, not when using CLI. |
|
|
17
|
+
| **entry** | Dynamic function entry file path, e.g.,`./src/index.ts`. Optional, set only when using a function. |
|
|
18
|
+
| **assets** | Static asset hosting configuration (each Pages project supports only one set of static assets). Includes `directory` and `notFoundStrategy`. |
|
|
19
|
+
| **dev** | Local development configuration. Optional; used to set dev server port and proxy. |
|
|
18
20
|
|
|
19
21
|
#### Field structure
|
|
20
22
|
|
|
@@ -22,6 +24,10 @@ This document describes the structure, parameters, and example of the ESA (Edge
|
|
|
22
24
|
- Project name. Required.
|
|
23
25
|
- **description**: `string`
|
|
24
26
|
- Project description. Optional.
|
|
27
|
+
- **buildCommand**: `string`
|
|
28
|
+
- Build command for the project, e.g., `npm run build`. Only effective when importing from ESA console GitHub repository, not when using CLI.
|
|
29
|
+
- **installCommand**: `string`
|
|
30
|
+
- Install dependencies command, e.g., `npm install`. Only effective when importing from ESA console GitHub repository, not when using CLI.
|
|
25
31
|
- **entry**: `string`
|
|
26
32
|
- Dynamic function entry file path, e.g., `./src/index.ts`. Optional.
|
|
27
33
|
- **assets**: `object`
|
|
@@ -8,13 +8,15 @@
|
|
|
8
8
|
|
|
9
9
|
### 参数说明
|
|
10
10
|
|
|
11
|
-
| **参数**
|
|
12
|
-
|
|
|
13
|
-
| **name**
|
|
14
|
-
| **description**
|
|
15
|
-
| **
|
|
16
|
-
| **
|
|
17
|
-
| **
|
|
11
|
+
| **参数** | **说明** |
|
|
12
|
+
| ------------------ | ---------------------------------------------------------------------------------------------------- |
|
|
13
|
+
| **name** | 目标项目名称。若项目已存在,则部署到该项目;若不存在,则以此名称创建新项目。 |
|
|
14
|
+
| **description** | 项目描述,可选字段,用于简要说明项目功能或用途。 |
|
|
15
|
+
| **buildCommand** | 项目构建命令,例如 `npm run build`。仅在通过ESA控制台 GitHub 仓库导入时生效,使用 CLI 时不生效。 |
|
|
16
|
+
| **installCommand** | 安装依赖命令,例如 `npm install`。仅在通过ESA控制台 GitHub 仓库导入时生效,使用 CLI 时不生效。 |
|
|
17
|
+
| **entry** | 动态函数入口文件路径,例如 `./src/index.ts`。可选字段,用于指定动态函数的入口。 |
|
|
18
|
+
| **assets** | 静态资源托管配置(每个 Pages 项目仅支持一组静态资源)。包含 `directory` 和 `notFoundStrategy` 字段。 |
|
|
19
|
+
| **dev** | 本地开发工具配置,可选字段,用于设置开发服务器端口和代理地址。 |
|
|
18
20
|
|
|
19
21
|
#### 字段结构
|
|
20
22
|
|
|
@@ -22,6 +24,10 @@
|
|
|
22
24
|
- 项目名称,必填字段,用于标识项目。
|
|
23
25
|
- **description**: `string`
|
|
24
26
|
- 项目描述,可选字段,用于记录项目的功能或用途。
|
|
27
|
+
- **buildCommand**: `string`
|
|
28
|
+
- 项目构建命令,例如 `npm run build`。仅在通过 GitHub 仓库导入时生效,使用 CLI 时不生效。
|
|
29
|
+
- **installCommand**: `string`
|
|
30
|
+
- 安装依赖命令,例如 `npm install`。仅在通过 GitHub 仓库导入时生效,使用 CLI 时不生效。
|
|
25
31
|
- **entry**: `string`
|
|
26
32
|
- 动态函数入口文件路径,例如 `./src/index.ts`。可选字段,仅在需要动态函数时配置。
|
|
27
33
|
- **assets?**: `object`
|
package/dist/i18n/locales.json
CHANGED
|
@@ -1313,6 +1313,10 @@
|
|
|
1313
1313
|
},
|
|
1314
1314
|
"not_active": {
|
|
1315
1315
|
"en": "Functions and Pages is not active, please activate it first. Visit: https://esa.console.aliyun.com/edge/pages to activate.",
|
|
1316
|
-
"zh_CN": ""
|
|
1316
|
+
"zh_CN": "函数和 Pages 未激活,请先激活。访问:https://esa.console.aliyun.com/edge/pages 激活。"
|
|
1317
|
+
},
|
|
1318
|
+
"login_option_endpoint": {
|
|
1319
|
+
"en": "Endpoint",
|
|
1320
|
+
"zh_CN": "Endpoint"
|
|
1317
1321
|
}
|
|
1318
1322
|
}
|
package/dist/utils/compress.js
CHANGED
|
@@ -32,7 +32,7 @@ import t from '../i18n/index.js';
|
|
|
32
32
|
import logger from '../libs/logger.js';
|
|
33
33
|
import { checkEdgeRoutineType, EDGE_ROUTINE_TYPE } from './checkAssetsExist.js';
|
|
34
34
|
import { getProjectConfig, readEdgeRoutineFile } from './fileUtils/index.js';
|
|
35
|
-
const compress = (scriptEntry_1, assetsDir_1, ...args_1) => __awaiter(void 0, [scriptEntry_1, assetsDir_1, ...args_1], void 0, function* (scriptEntry, assetsDir, minify = false, projectPath) {
|
|
35
|
+
const compress = (scriptEntry_1, assetsDir_1, ...args_1) => __awaiter(void 0, [scriptEntry_1, assetsDir_1, ...args_1], void 0, function* (scriptEntry, assetsDir, minify = false, projectPath, noBundle = false) {
|
|
36
36
|
var _a;
|
|
37
37
|
let code;
|
|
38
38
|
const zip = new AdmZip();
|
|
@@ -94,8 +94,14 @@ const compress = (scriptEntry_1, assetsDir_1, ...args_1) => __awaiter(void 0, [s
|
|
|
94
94
|
if (routineType === EDGE_ROUTINE_TYPE.JS_ONLY ||
|
|
95
95
|
routineType === EDGE_ROUTINE_TYPE.JS_AND_ASSETS) {
|
|
96
96
|
const buildEntry = path.resolve(projectPath !== null && projectPath !== void 0 ? projectPath : '', entry !== null && entry !== void 0 ? entry : '');
|
|
97
|
-
|
|
98
|
-
|
|
97
|
+
if (noBundle) {
|
|
98
|
+
// Skip esbuild bundling, use original entry source directly
|
|
99
|
+
code = fs.readFileSync(buildEntry, 'utf-8');
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
yield prodBuild(minify, buildEntry, projectPath);
|
|
103
|
+
code = readEdgeRoutineFile(projectPath);
|
|
104
|
+
}
|
|
99
105
|
zip.addFile(`routine/index.js`, Buffer.from(code || ''));
|
|
100
106
|
fileList.push('routine/index.js');
|
|
101
107
|
const relativeEntry = path
|
package/package.json
CHANGED
package/zh_CN.md
CHANGED
|
@@ -3,10 +3,10 @@
|
|
|
3
3
|
ESA CLI 是用于构建阿里云 ESA Functions 与 Pages 的命令行工具。
|
|
4
4
|
|
|
5
5
|
<p>
|
|
6
|
-
<a href="https://discord.gg/
|
|
6
|
+
<a href="https://discord.gg/BxcRVEeh">
|
|
7
7
|
<img alt="Discord 中文" src="https://img.shields.io/badge/Discord-中文-5865F2?logo=discord&logoColor=white" />
|
|
8
8
|
</a>
|
|
9
|
-
<a href="https://discord.gg/
|
|
9
|
+
<a href="https://discord.gg/SHYe5926" style="margin-left:8px;">
|
|
10
10
|
<img alt="Discord English" src="https://img.shields.io/badge/Discord-English-5865F2?logo=discord&logoColor=white" />
|
|
11
11
|
</a>
|
|
12
12
|
</p>
|