Skip to content

Commit 7545ed5

Browse files
authored
Merge pull request #50 from Serverless-Devs/zxy/fix-20250213
registry add more error handler
2 parents b1658a5 + 489aab8 commit 7545ed5

File tree

7 files changed

+52
-17
lines changed

7 files changed

+52
-17
lines changed

packages/engine/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@serverless-devs/engine",
3-
"version": "0.1.5",
3+
"version": "0.1.6-beta.1",
44
"description": "a engine lib for serverless-devs",
55
"main": "lib/index.js",
66
"scripts": {

packages/engine/src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -396,9 +396,9 @@ class Engine {
396396
const spec = cloneDeep(this.spec);
397397
spec['command'] = 'info';
398398
// 20240912 when -f, don't throw error
399-
const { f } = parseArgv(this.options.args);
399+
const { f, force } = parseArgv(this.options.args);
400400
let res = {}
401-
if (f) {
401+
if (f || force) {
402402
try {
403403
res = await this.doSrc(item, {}, spec);
404404
} catch(e) {

packages/load-application/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@serverless-devs/load-application",
3-
"version": "0.0.15",
3+
"version": "0.0.16-beta.1",
44
"description": "load application for serverless-devs",
55
"main": "lib/index.js",
66
"scripts": {

packages/load-application/src/v3.ts

Lines changed: 23 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,13 +95,35 @@ class LoadApplication {
9595
* 7. 解析 s.yaml里的 name 字段
9696
*/
9797
this.parseAppName(templateData as string);
98+
/**
99+
* 8. 解析目录下所有后缀为.stpl的文件
100+
*/
101+
await this.parseStpl(this.filePath);
98102
/**
99-
* 8. 最后的动作, 比如:删除临时文件夹
103+
* 9. 最后的动作, 比如:删除临时文件夹
100104
*/
101105
await this.final();
102106
return this.filePath;
103107
}
104108

109+
// art-template解析目录下所有后缀为.stpl的文件
110+
private async parseStpl(dirPath: string) {
111+
const allFiles = fs.readdirSync(dirPath);
112+
for (const file of allFiles) {
113+
if (fs.statSync(path.join(dirPath, file)).isDirectory()) {
114+
await this.parseStpl(path.join(dirPath, file));
115+
continue;
116+
}
117+
if (file.endsWith('.stpl')) {
118+
const filePath = path.join(dirPath, file);
119+
const newData = this.doArtTemplate(filePath);
120+
fs.writeFileSync(filePath, newData, 'utf-8');
121+
// 删除.stpl后缀
122+
fs.renameSync(filePath, filePath.replace('.stpl', ''));
123+
}
124+
}
125+
}
126+
105127
private async check() {
106128
if (this.options.y) return true;
107129
if (isCiCdEnvironment()) return true;

packages/registry/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@serverless-devs/registry",
3-
"version": "0.0.11",
3+
"version": "0.0.12-beta.4",
44
"description": "request for serverless-devs",
55
"main": "lib/index.js",
66
"scripts": {

packages/registry/src/actions/package.ts

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import zip from '@serverless-devs/zip';
2-
import { getRootHome, registry } from '@serverless-devs/utils';
2+
import { getRootHome, registry, parseArgv } from '@serverless-devs/utils';
33
import fs from 'fs';
44
import { getYamlContentText, getContentText, request } from '../util';
55
import { PUBLISH_URL, PRIVATE_LIST_URL } from '../request-url';
@@ -121,7 +121,6 @@ async function getUploadUrl(codeUri: string): Promise<string> {
121121
readme_en: readmeEn,
122122
readme,
123123
};
124-
125124
const { body, request_id } = await request.new_request_post(PUBLISH_URL, requestBodyIRequest);
126125
logger.debug(`Publish responseId: ${request_id}`);
127126
if (typeof body === 'string') {
@@ -279,14 +278,25 @@ export const publish = async (codeUri: string) => {
279278
if (zipResult.compressedSize > 10 * 1024 * 1024 && zipResult.compressedSize <= 20 * 1024 * 1024) {
280279
logger.warn(`Package size is ${zipResult.compressedSize / 1024 / 1024}MB, which is larger than 10MB.`);
281280
} 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+
}
284289
}
285290

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.`)}`);
289295

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+
}
292302
};

packages/registry/src/request-url.ts

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
1-
import { getGlobalConfig } from "@serverless-devs/utils";
1+
import { getGlobalConfig } from '@serverless-devs/utils';
22

3-
const baseUrl = getGlobalConfig('registry', 'https://api.devsapp.cn/v3');
3+
const baseUrl =
4+
getGlobalConfig('registry', 'https://api.devsapp.cn/v3') === 'https://api.devsapp.cn/v3'
5+
? 'https://server-serverlgistry-v-awljqvnszb.cn-hangzhou.fcapp.run/v3'
6+
: getGlobalConfig('registry', 'https://api.devsapp.cn/v3');
47
// *** 登陆 *** //
58
// 登陆
69
export const REGISTRY_INFORMATION_GITHUB = `${baseUrl}/user/check`;

0 commit comments

Comments
 (0)