relayax-cli 0.1.991 → 0.1.992
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/dist/commands/install.js +19 -18
- package/dist/commands/publish.js +23 -0
- package/dist/commands/update.js +21 -0
- package/package.json +1 -1
package/dist/commands/install.js
CHANGED
|
@@ -99,26 +99,27 @@ function registerInstall(program) {
|
|
|
99
99
|
console.log(` \x1b[33m/${cmd.name}\x1b[0m - ${cmd.description}`);
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
|
-
// Builder
|
|
103
|
-
if (team.welcome) {
|
|
104
|
-
console.log(`\n ┌─ 💬 ${authorDisplayName}님의 메시지 ${'─'.repeat(Math.max(0, 38 - authorDisplayName.length))}┐`);
|
|
105
|
-
const lines = team.welcome.match(/.{1,50}/g) ?? [team.welcome];
|
|
106
|
-
for (const line of lines) {
|
|
107
|
-
console.log(` │ "${line}"`);
|
|
108
|
-
}
|
|
109
|
-
console.log(` └${'─'.repeat(44)}┘`);
|
|
110
|
-
}
|
|
102
|
+
// Builder business card
|
|
111
103
|
const contactLinks = team.author?.contact_links ?? {};
|
|
112
104
|
const contactEntries = Object.entries(contactLinks);
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
console.log(`\n
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
105
|
+
const hasCard = team.welcome || contactEntries.length > 0 || authorUsername;
|
|
106
|
+
if (hasCard) {
|
|
107
|
+
console.log(`\n \x1b[90m┌─ ${authorDisplayName || authorUsername || '빌더'}의 명함 ${'─'.repeat(Math.max(0, 34 - (authorDisplayName || authorUsername || '빌더').length))}┐\x1b[0m`);
|
|
108
|
+
if (team.welcome) {
|
|
109
|
+
const truncated = team.welcome.length > 45 ? team.welcome.slice(0, 45) + '...' : team.welcome;
|
|
110
|
+
console.log(` \x1b[90m│\x1b[0m 💬 "${truncated}"`);
|
|
111
|
+
}
|
|
112
|
+
if (contactEntries.length > 0) {
|
|
113
|
+
const parts = contactEntries.map(([k, v]) => `${k}: ${v}`).join(' ');
|
|
114
|
+
console.log(` \x1b[90m│\x1b[0m 📇 ${parts}`);
|
|
115
|
+
}
|
|
116
|
+
if (authorUsername) {
|
|
117
|
+
console.log(` \x1b[90m│\x1b[0m 👤 relayax.com/@${authorUsername}`);
|
|
118
|
+
}
|
|
119
|
+
if (team.latest_post && authorUsername) {
|
|
120
|
+
console.log(` \x1b[90m│\x1b[0m 📝 relayax.com/@${authorUsername}/posts/${team.latest_post.slug}`);
|
|
121
|
+
}
|
|
122
|
+
console.log(` \x1b[90m└${'─'.repeat(44)}┘\x1b[0m`);
|
|
122
123
|
}
|
|
123
124
|
// Follow prompt (only when logged in)
|
|
124
125
|
const token = (0, config_js_1.loadToken)();
|
package/dist/commands/publish.js
CHANGED
|
@@ -433,6 +433,29 @@ function registerPublish(program) {
|
|
|
433
433
|
if (result.portfolio_count && result.portfolio_count > 0) {
|
|
434
434
|
console.log(` 포트폴리오: ${result.portfolio_count}개 이미지 업로드됨`);
|
|
435
435
|
}
|
|
436
|
+
// Show business card preview
|
|
437
|
+
const profile = result.profile;
|
|
438
|
+
if (profile) {
|
|
439
|
+
const contacts = profile.contact_links ?? {};
|
|
440
|
+
const contactEntries = Object.entries(contacts);
|
|
441
|
+
const welcome = profile.default_welcome ?? '';
|
|
442
|
+
console.log(`\n \x1b[90m┌─ 설치자에게 보이는 명함 ${'─'.repeat(24)}┐\x1b[0m`);
|
|
443
|
+
if (welcome) {
|
|
444
|
+
console.log(` \x1b[90m│\x1b[0m 💬 "${welcome.length > 45 ? welcome.slice(0, 45) + '...' : welcome}"`);
|
|
445
|
+
}
|
|
446
|
+
if (contactEntries.length > 0) {
|
|
447
|
+
const parts = contactEntries.map(([k, v]) => `${k}: ${v}`).join(' ');
|
|
448
|
+
console.log(` \x1b[90m│\x1b[0m 📇 ${parts}`);
|
|
449
|
+
}
|
|
450
|
+
if (profile.username) {
|
|
451
|
+
console.log(` \x1b[90m│\x1b[0m 👤 relayax.com/@${profile.username}`);
|
|
452
|
+
}
|
|
453
|
+
if (!welcome && contactEntries.length === 0) {
|
|
454
|
+
console.log(` \x1b[90m│\x1b[0m \x1b[2m명함이 비어있습니다\x1b[0m`);
|
|
455
|
+
}
|
|
456
|
+
console.log(` \x1b[90m└${'─'.repeat(44)}┘\x1b[0m`);
|
|
457
|
+
console.log(`\n \x1b[90m명함 수정: \x1b[36mwww.relayax.com/dashboard/profile\x1b[0m`);
|
|
458
|
+
}
|
|
436
459
|
}
|
|
437
460
|
}
|
|
438
461
|
catch (err) {
|
package/dist/commands/update.js
CHANGED
|
@@ -82,6 +82,27 @@ function registerUpdate(program) {
|
|
|
82
82
|
console.log(`\n\x1b[32m✓ ${team.name} ${fromLabel}v${latestVersion} 업데이트 완료\x1b[0m`);
|
|
83
83
|
console.log(` 설치 위치: \x1b[36m${installPath}\x1b[0m`);
|
|
84
84
|
console.log(` 파일 수: ${files.length}개`);
|
|
85
|
+
// Builder business card
|
|
86
|
+
const authorUsername = team.author?.username;
|
|
87
|
+
const authorDisplayName = team.author?.display_name ?? authorUsername ?? '';
|
|
88
|
+
const contactLinks = team.author?.contact_links ?? {};
|
|
89
|
+
const contactEntries = Object.entries(contactLinks);
|
|
90
|
+
const hasCard = team.welcome || contactEntries.length > 0 || authorUsername;
|
|
91
|
+
if (hasCard) {
|
|
92
|
+
console.log(`\n \x1b[90m┌─ ${authorDisplayName || '빌더'}의 명함 ${'─'.repeat(Math.max(0, 34 - (authorDisplayName || '빌더').length))}┐\x1b[0m`);
|
|
93
|
+
if (team.welcome) {
|
|
94
|
+
const truncated = team.welcome.length > 45 ? team.welcome.slice(0, 45) + '...' : team.welcome;
|
|
95
|
+
console.log(` \x1b[90m│\x1b[0m 💬 "${truncated}"`);
|
|
96
|
+
}
|
|
97
|
+
if (contactEntries.length > 0) {
|
|
98
|
+
const parts = contactEntries.map(([k, v]) => `${k}: ${v}`).join(' ');
|
|
99
|
+
console.log(` \x1b[90m│\x1b[0m 📇 ${parts}`);
|
|
100
|
+
}
|
|
101
|
+
if (authorUsername) {
|
|
102
|
+
console.log(` \x1b[90m│\x1b[0m 👤 relayax.com/@${authorUsername}`);
|
|
103
|
+
}
|
|
104
|
+
console.log(` \x1b[90m└${'─'.repeat(44)}┘\x1b[0m`);
|
|
105
|
+
}
|
|
85
106
|
}
|
|
86
107
|
}
|
|
87
108
|
catch (err) {
|