|
1 | 1 | import zip from '@serverless-devs/zip'; |
2 | | -import { getRootHome, registry } from '@serverless-devs/utils'; |
| 2 | +import { getRootHome, registry, parseArgv } from '@serverless-devs/utils'; |
3 | 3 | import fs from 'fs'; |
4 | 4 | import { getYamlContentText, getContentText, request } from '../util'; |
5 | 5 | import { PUBLISH_URL, PRIVATE_LIST_URL } from '../request-url'; |
@@ -121,7 +121,6 @@ async function getUploadUrl(codeUri: string): Promise<string> { |
121 | 121 | readme_en: readmeEn, |
122 | 122 | readme, |
123 | 123 | }; |
124 | | - |
125 | 124 | const { body, request_id } = await request.new_request_post(PUBLISH_URL, requestBodyIRequest); |
126 | 125 | logger.debug(`Publish responseId: ${request_id}`); |
127 | 126 | if (typeof body === 'string') { |
@@ -279,14 +278,25 @@ export const publish = async (codeUri: string) => { |
279 | 278 | if (zipResult.compressedSize > 10 * 1024 * 1024 && zipResult.compressedSize <= 20 * 1024 * 1024) { |
280 | 279 | logger.warn(`Package size is ${zipResult.compressedSize / 1024 / 1024}MB, which is larger than 10MB.`); |
281 | 280 | } else if (zipResult.compressedSize > 20 * 1024 * 1024) { |
282 | | - logger.error(`Package size is ${zipResult.compressedSize / 1024 / 1024}MB, which is larger than 20MB.`); |
283 | | - throw new Error('Package size is larger than 20MB. Please optimize your package.'); |
| 281 | + const argv = process.argv.slice(2); |
| 282 | + const { f, force } = parseArgv(argv); |
| 283 | + if (f || force) { |
| 284 | + logger.warn(`Package size is ${zipResult.compressedSize / 1024 / 1024}MB, which is larger than 20MB.`); |
| 285 | + } else { |
| 286 | + logger.error(`Package size is ${zipResult.compressedSize / 1024 / 1024}MB, which is larger than 20MB.`); |
| 287 | + throw new Error('Package size is larger than 20MB. Please optimize your package.'); |
| 288 | + } |
284 | 289 | } |
285 | 290 |
|
286 | | - // 上传压缩文件 |
287 | | - await request.request_put(uploadUrl, zipResult.outputFile); |
288 | | - logger.write(`${chalk.green(`Publish package ${packageInfo} success.`)}`); |
| 291 | + try { |
| 292 | + // 上传压缩文件 |
| 293 | + await request.request_put(uploadUrl, zipResult.outputFile); |
| 294 | + logger.write(`${chalk.green(`Publish package ${packageInfo} success.`)}`); |
289 | 295 |
|
290 | | - // 删除压缩文件 |
291 | | - fs.unlinkSync(zipResult.outputFile); |
| 296 | + // 删除压缩文件 |
| 297 | + fs.unlinkSync(zipResult.outputFile); |
| 298 | + } catch (error) { |
| 299 | + logger.debug(`Upload package ${packageInfo} failed: ${error}`); |
| 300 | + throw new Error('Upload request error, please check your internet connection or registry setting.'); |
| 301 | + } |
292 | 302 | }; |
0 commit comments