esa-cli 1.0.0 → 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.
@@ -1,272 +1,384 @@
1
- ## 命令一览
1
+ ## ESA CLI 命令
2
2
 
3
- ### esa-cli init [name]
3
+ **ESA CLI 提供多种命令来管理您的阿里云 ESA Functions & Pages。**
4
4
 
5
- 初始化一个函数和Pages项目(支持框架或模板)。
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
- ```bash
8
- esa-cli init [name]
19
+ ```
20
+ npm i esa-cli@latest -g
9
21
  ```
10
22
 
11
- - 位置参数:
12
- - name:项目名
23
+ **执行命令**
13
24
 
14
- - 选项:
15
- - -f, --framework string:选择前端框架(react/vue/nextjs...)
16
- - -l, --language string:选择语言(typescript/javascript)。可选:typescript | javascript
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
- ### esa-cli dev [entry]
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
- ```bash
29
- esa-cli dev [entry]
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
- - -p, --port number:监听端口
37
- - -m, --minify boolean:开发模式下压缩代码(默认 false)
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
- ### esa-cli commit [entry]
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
- - -m, --minify boolean:提交前压缩代码(默认 false)
54
- - -a, --assets string:静态资源目录
55
- - -d, --description string:版本/例程描述(跳过交互输入)
56
- - -n, --name string:函数和Pages名称
81
+ **--git\***可选\*
82
+ **在项目中初始化 git**
83
+
84
+ **--deploy\***可选\*
85
+ **初始化完成后自动部署**
57
86
 
58
87
  ---
59
88
 
60
- ### esa-cli deploy [entry]
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
- - entry 可选参数,默认以 `esa.jsonc`中entry配置为准
70
- - -v, --version string:指定要部署的版本(跳过交互选择)
71
- - -e, --environment string:部署环境。可选:staging | production
72
- - -n, --name string:函数和Pages名称
73
- - -a, --assets string:静态资源目录(例如:./dist)
74
- - -d, --description string:版本描述
75
- - -m, --minify boolean:是否压缩代码
106
+ **--refresh-command\***可选\*
107
+ **保存自动刷新前执行的命令**
108
+
109
+ **--local-upstream\***可选\*
110
+ **在本地开发中作为源站的主机**
111
+
112
+ **--debug\***可选\*
113
+ **输出调试日志(默认 false)**
76
114
 
77
115
  ---
78
116
 
79
- ### esa-cli deployments list
117
+ ## commit
80
118
 
81
- 列出当前函数和Pages下所有代码版本。
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
- ### esa-cli deployments delete [deploymentId...]
142
+ ## deploy
92
143
 
93
- 删除当前函数和Pages的一个或多个代码版本。
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
- - deploymentId...:要删除的部署版本ID(可一次传多个)
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
- ### esa-cli project list
173
+ ## deployments
105
174
 
106
- 列出账号下所有的函数和Pages。
175
+ **管理您的部署和版本。**
107
176
 
108
- ```bash
109
- esa-cli project list
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
- ### esa-cli project delete <projectName>
198
+ ## project
199
+
200
+ **管理您的 Functions & Pages 项目。**
201
+
202
+ ### project list
203
+
204
+ **列出账号下所有的函数和Pages。**
205
+
206
+ ```
207
+ esa-cli project list
208
+ ```
117
209
 
118
- 删除指定函数和Pages。
210
+ ### project delete
119
211
 
120
- ```bash
121
- esa-cli project delete <projectName>
212
+ **删除指定函数和Pages。**
213
+
214
+ ```
215
+ esa-cli project delete <PROJECT_NAME> [OPTIONS]
122
216
  ```
123
217
 
124
- - 位置参数:
125
- - projectName:要删除的函数或Pages名称
218
+ **PROJECT_NAME\***必需\*
219
+ **要删除的函数或Pages名称**
126
220
 
127
221
  ---
128
222
 
129
- ### esa-cli site list
223
+ ## site
224
+
225
+ **列出您已激活的站点。**
130
226
 
131
- 列出账号下所有已激活站点。
227
+ ### site list
132
228
 
133
- ```bash
229
+ **列出账号下所有已激活站点。**
230
+
231
+ ```
134
232
  esa-cli site list
135
233
  ```
136
234
 
137
- 无额外选项。
138
-
139
235
  ---
140
236
 
141
- ### esa-cli domain add <domain>
237
+ ## domain
142
238
 
143
- 绑定域名到当前函数和Pages
239
+ **管理您的 Functions & Pages 的域名绑定。**
144
240
 
145
- ```bash
146
- esa-cli domain add <domain>
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
- ### esa-cli domain list
254
+ ### domain list
155
255
 
156
- 查看当前函数和Pages所有已绑定域名。
256
+ **查看当前函数和Pages所有已绑定域名。**
157
257
 
158
- ```bash
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
- 删除当前函数和Pages下已绑定域名。
264
+ **删除当前函数和Pages下已绑定域名。**
169
265
 
170
- ```bash
171
- esa-cli domain delete <domain>
266
+ ```
267
+ esa-cli domain delete <DOMAIN> [OPTIONS]
172
268
  ```
173
269
 
174
- - 位置参数:
175
- - domain:要删除绑定的域名
270
+ **DOMAIN\***必需\*
271
+ **要删除绑定的域名**
176
272
 
177
273
  ---
178
274
 
179
- #### esa-cli route add
275
+ ## route
276
+
277
+ **管理您的 Functions & Pages 的路由绑定。**
278
+
279
+ ### route add
180
280
 
181
- 为当前函数和Pages绑定一个路由。
281
+ **为当前函数和Pages绑定一个路由。**
182
282
 
183
- ```bash
184
- esa-cli route add [route] [site] [--alias <routeName>] [--route <route>] [--site <site>]
283
+ ```
284
+ esa-cli route add [<ROUTE>] [<SITE>] [OPTIONS]
185
285
  ```
186
286
 
187
- - 位置参数(可选):
188
- - route:路由值,例如:example.com/_ 或 _.example.com/\*
189
- - site:站点名称,例如:example.com
287
+ **ROUTE\***可选\*
288
+ **路由值,例如:example.com/_ 或 _.example.com/\***
190
289
 
191
- - 选项:
192
- - -r, --route string:路由值,例如:example.com/\*
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
- ### esa-cli route list
295
+ **--route, -r\***可选*路由值,例如:example.com/*
201
296
 
202
- 查看函数和Pages所有已绑定路由。
297
+ - **主机名支持以 **`*` 开头表示后缀匹配(如:`*.example.com`)
298
+ - **路径支持以 **`*` 结尾表示前缀匹配(如:`/api/*`)
203
299
 
204
- ```bash
205
- esa-cli route list
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
- ### esa-cli route delete <routeName>
310
+ ```
311
+ esa-cli route list
312
+ ```
213
313
 
214
- 删除函数和Pages下已绑定路由。
314
+ ### route delete
215
315
 
216
- ```bash
217
- esa-cli route delete <routeName>
316
+ **删除函数和Pages下已绑定路由。**
317
+
318
+ ```
319
+ esa-cli route delete <ROUTE_NAME> [OPTIONS]
218
320
  ```
219
321
 
220
- - 位置参数:
221
- - routeName:要删除的路由名称
322
+ **ROUTE_NAME\***必需\*
323
+ **要删除的路由名称**
222
324
 
223
325
  ---
224
326
 
225
- ### esa-cli login
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
- - --access-key-id, --ak string:AccessKey ID (AK)
235
- - --access-key-secret, --sk string:AccessKey Secret (SK)
236
- - 从环境变量中读取process.env
237
- - ESA_ACCESS_KEY_ID
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
- ### esa-cli logout
352
+ ## logout
243
353
 
244
- 退出登录。
354
+ **移除 ESA CLI 访问您账户的授权。**
245
355
 
246
- ```bash
356
+ ```
247
357
  esa-cli logout
248
358
  ```
249
359
 
250
360
  ---
251
361
 
252
- ### esa-cli config [-l | -g]
362
+ ## config
253
363
 
254
- 修改本地或全局配置。
364
+ **修改您的本地或全局配置。**
255
365
 
256
- ```bash
257
- esa-cli config [--local] [--global]
366
+ ```
367
+ esa-cli config [OPTIONS]
258
368
  ```
259
369
 
260
- - 选项:
261
- - -l, --local boolean:编辑本地配置文件(默认 false
262
- - -g, --global boolean:编辑全局配置文件(默认 false)
370
+ **--local, -l\***可选\*
371
+ **编辑本地配置文件(默认 false)**
372
+
373
+ **--global, -g\***可选\*
374
+ **编辑全局配置文件(默认 false)**
263
375
 
264
376
  ---
265
377
 
266
- ### esa-cli lang
378
+ ## lang
267
379
 
268
- 设置 CLI 语言。
380
+ **设置 CLI 的语言。**
269
381
 
270
- ```bash
382
+ ```
271
383
  esa-cli lang
272
384
  ```
@@ -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** | **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
- | **entry** | Dynamic function entry file path, e.g.,`./src/index.ts`. Optional, set only when using a function. |
16
- | **assets** | Static asset hosting configuration (each Pages project supports only one set of static assets). Includes `directory` and `notFoundStrategy`. |
17
- | **dev** | Local development configuration. Optional; used to set dev server port and proxy. |
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
- | **entry** | 动态函数入口文件路径,例如 `./src/index.ts`。可选字段,用于指定动态函数的入口。 |
16
- | **assets** | 静态资源托管配置(每个 Pages 项目仅支持一组静态资源)。包含 `directory` `notFoundStrategy` 字段。 |
17
- | **dev** | 本地开发工具配置,可选字段,用于设置开发服务器端口和代理地址。 |
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`
@@ -1310,5 +1310,13 @@
1310
1310
  "kv_parse_failed": {
1311
1311
  "en": "kv.json parse failed, use empty local kv store.",
1312
1312
  "zh_CN": "kv.json 解析失败,使用空本地 kv 存储。"
1313
+ },
1314
+ "not_active": {
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": "函数和 Pages 未激活,请先激活。访问:https://esa.console.aliyun.com/edge/pages 激活。"
1317
+ },
1318
+ "login_option_endpoint": {
1319
+ "en": "Endpoint",
1320
+ "zh_CN": "Endpoint"
1313
1321
  }
1314
1322
  }
@@ -74,7 +74,15 @@ export class ApiService {
74
74
  };
75
75
  const response = yield this.client.callApi(params, request, runtime);
76
76
  if (response.statusCode === 200) {
77
- return { success: true };
77
+ if (response.body.Status === 'Running') {
78
+ return { success: true };
79
+ }
80
+ else {
81
+ return {
82
+ success: false,
83
+ message: t('not_active').d('Functions and Pages is not active, please activate it first. Visit: https://esa.console.aliyun.com/edge/pages to activate.')
84
+ };
85
+ }
78
86
  }
79
87
  else if (response.statusCode === 403) {
80
88
  return {
@@ -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
- yield prodBuild(minify, buildEntry, projectPath);
98
- code = readEdgeRoutineFile(projectPath);
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
@@ -139,7 +139,7 @@ export function readConfigFile(configPath) {
139
139
  }
140
140
  catch (error) {
141
141
  logger.error(`Error parsing config file: ${error}`);
142
- return null;
142
+ process.exit(1);
143
143
  }
144
144
  }
145
145
  return null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "esa-cli",
3
- "version": "1.0.0",
3
+ "version": "1.0.2-beta.0",
4
4
  "description": "A CLI for operating Alibaba Cloud ESA Functions and Pages.",
5
5
  "main": "bin/enter.cjs",
6
6
  "type": "module",