create-entity-server 0.3.0 → 0.3.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-entity-server",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Create a new entity-server project in one command — like create-react-app or create-vite.",
5
5
  "keywords": [
6
6
  "entity-server",
@@ -372,6 +372,22 @@ if [ $# -eq 0 ]; then
372
372
  echo " $0 stop # 서버 중지"
373
373
  echo " $0 status # 상태 조회"
374
374
  fi
375
+
376
+ echo ""
377
+ if [ -f "$SERVER_CONFIG" ] && [ -f "$DATABASE_CONFIG" ] && [ -f "$SERVER_BIN" ]; then
378
+ if [ "$LANGUAGE" = "en" ]; then
379
+ echo "Current status:"
380
+ else
381
+ echo "현재 상태:"
382
+ fi
383
+ show_status
384
+ else
385
+ if [ "$LANGUAGE" = "en" ]; then
386
+ echo "Current status: unavailable (missing config or server binary)"
387
+ else
388
+ echo "현재 상태: 확인 불가 (설정 파일 또는 서버 바이너리 없음)"
389
+ fi
390
+ fi
375
391
  exit 0
376
392
  fi
377
393
 
@@ -38,36 +38,6 @@ load_namespace() {
38
38
 
39
39
  load_namespace
40
40
 
41
- show_help() {
42
- if [ "$LANGUAGE" = "en" ]; then
43
- echo "Install systemd service for Entity Server"
44
- echo "========================================"
45
- echo ""
46
- echo "Usage: $0 [options]"
47
- echo ""
48
- echo "Options:"
49
- echo " --user=<user> Service run user (default: project owner)"
50
- echo " --group=<group> Service run group (default: user's primary group)"
51
- echo " --no-start Enable only, do not start immediately"
52
- echo ""
53
- echo "Service name is auto-generated as '<namespace>-entity-server'."
54
- echo "Run without arguments to enter interactive mode."
55
- else
56
- echo "Entity Server systemd 서비스 등록"
57
- echo "==============================="
58
- echo ""
59
- echo "사용법: $0 [옵션]"
60
- echo ""
61
- echo "옵션:"
62
- echo " --user=<사용자> 실행 사용자 (기본값: 프로젝트 소유자)"
63
- echo " --group=<그룹> 실행 그룹 (기본값: 사용자 기본 그룹)"
64
- echo " --no-start enable만 수행, 즉시 start 하지 않음"
65
- echo ""
66
- echo "서비스명은 '<namespace>-entity-server' 형식으로 자동 생성됩니다."
67
- echo "인수 없이 실행하면 인터랙티브 모드로 진입합니다."
68
- fi
69
- }
70
-
71
41
  if [ $# -eq 0 ]; then
72
42
  INTERACTIVE=true
73
43
  fi
@@ -223,4 +193,4 @@ else
223
193
  echo " 시작: sudo systemctl start $SERVICE_NAME"
224
194
  echo " 중지: sudo systemctl stop $SERVICE_NAME"
225
195
  echo " 상태: sudo systemctl status $SERVICE_NAME"
226
- fi
196
+ fi
@@ -32,26 +32,6 @@ load_namespace() {
32
32
 
33
33
  load_namespace
34
34
 
35
- show_help() {
36
- if [ "$LANGUAGE" = "en" ]; then
37
- echo "Remove systemd service for Entity Server"
38
- echo "======================================="
39
- echo ""
40
- echo "Usage: $0 [options]"
41
- echo ""
42
- echo "Service name is auto-generated as '<namespace>-entity-server'."
43
- echo "Run without arguments to enter interactive mode."
44
- else
45
- echo "Entity Server systemd 서비스 제거"
46
- echo "==============================="
47
- echo ""
48
- echo "사용법: $0"
49
- echo ""
50
- echo "서비스명은 '<namespace>-entity-server' 형식으로 자동 생성됩니다."
51
- echo "인수 없이 실행하면 인터랙티브 모드로 진입합니다."
52
- fi
53
- }
54
-
55
35
  if [ $# -eq 0 ]; then
56
36
  INTERACTIVE=true
57
37
  fi
@@ -123,13 +103,13 @@ if [ ! -f "$UNIT_PATH" ] && [ "$SERVICE_EXISTS" = false ]; then
123
103
  echo " Nothing to remove."
124
104
  echo ""
125
105
  echo " To register the service, run:"
126
- echo " sudo $(dirname "$0")/install-systemd.sh"
106
+ echo " sudo $(dirname "$0")/service-install.sh"
127
107
  else
128
108
  echo "ℹ️ '$SERVICE_NAME' 서비스가 등록되어 있지 않습니다."
129
109
  echo " 제거할 항목이 없습니다."
130
110
  echo ""
131
111
  echo " 서비스를 등록하려면:"
132
- echo " sudo $(dirname "$0")/install-systemd.sh"
112
+ echo " sudo $(dirname "$0")/service-install.sh"
133
113
  fi
134
114
  exit 0
135
115
  fi
@@ -149,10 +129,10 @@ if [ "$LANGUAGE" = "en" ]; then
149
129
  echo "✅ Service removed: $SERVICE_NAME"
150
130
  echo ""
151
131
  echo " To re-register the service, run:"
152
- echo " sudo $(dirname "$0")/install-systemd.sh"
132
+ echo " sudo $(dirname "$0")/service-install.sh"
153
133
  else
154
134
  echo "✅ 서비스 제거 완료: $SERVICE_NAME"
155
135
  echo ""
156
136
  echo " 서비스를 다시 등록하려면:"
157
- echo " sudo $(dirname "$0")/install-systemd.sh"
158
- fi
137
+ echo " sudo $(dirname "$0")/service-install.sh"
138
+ fi
@@ -1,8 +1,7 @@
1
1
  # update-server.ps1 — entity-server / entity-cli 바이너리 및 파일 업데이트
2
2
  #
3
3
  # 사용법:
4
- # .\scripts\update-server.ps1 # 도움말
5
- # .\scripts\update-server.ps1 version # 현재 버전 + 최신 버전 확인
4
+ # .\scripts\update-server.ps1 # 도움말 + 현재 버전 + 최신 버전 확인
6
5
  # .\scripts\update-server.ps1 latest # 최신 버전으로 업데이트
7
6
  # .\scripts\update-server.ps1 1.5.0 # 특정 버전으로 업데이트
8
7
  #
@@ -106,6 +105,21 @@ function Get-LatestVer {
106
105
  }
107
106
  }
108
107
 
108
+ function Show-VersionStatus {
109
+ Write-Host "🔍 버전 확인 중..."
110
+ $Current = Get-CurrentVer
111
+ $Latest = Get-LatestVer
112
+ Write-Host ""
113
+ Write-Host " 현재 버전: v$Current"
114
+ Write-Host " 최신 버전: v$Latest"
115
+ Write-Host ""
116
+ if ($Current -eq $Latest) {
117
+ Write-Host "✅ 최신 버전입니다."
118
+ } else {
119
+ Write-Host "💡 업데이트 가능: .\scripts\update-server.ps1 latest"
120
+ }
121
+ }
122
+
109
123
  # ── 설치 ──────────────────────────────────────────────────────────────────────
110
124
 
111
125
  function Install-Version([string]$TargetVer) {
@@ -234,7 +248,6 @@ switch ($Action) {
234
248
  Write-Host "update-server.ps1 — entity-server / entity-cli 바이너리 및 파일 업데이트"
235
249
  Write-Host ""
236
250
  Write-Host "사용법:"
237
- Write-Host " .\scripts\update-server.ps1 version 현재 버전 + 최신 버전 확인"
238
251
  Write-Host " .\scripts\update-server.ps1 latest 최신 버전으로 업데이트"
239
252
  Write-Host " .\scripts\update-server.ps1 <버전> 특정 버전으로 업데이트"
240
253
  Write-Host ""
@@ -244,23 +257,10 @@ switch ($Action) {
244
257
  Write-Host " 제외 configs/ entities/ docs/ (local 설정 보존)"
245
258
  Write-Host ""
246
259
  Write-Host "예시:"
247
- Write-Host " .\scripts\update-server.ps1 version"
248
260
  Write-Host " .\scripts\update-server.ps1 latest"
249
261
  Write-Host " .\scripts\update-server.ps1 1.5.0"
250
- }
251
- "version" {
252
- Write-Host "🔍 버전 확인 중..."
253
- $Current = Get-CurrentVer
254
- $Latest = Get-LatestVer
255
- Write-Host ""
256
- Write-Host " 현재 버전: v$Current"
257
- Write-Host " 최신 버전: v$Latest"
258
262
  Write-Host ""
259
- if ($Current -eq $Latest) {
260
- Write-Host "✅ 최신 버전입니다."
261
- } else {
262
- Write-Host "💡 업데이트 가능: .\scripts\update-server.ps1 latest"
263
- }
263
+ Show-VersionStatus
264
264
  }
265
265
  "latest" {
266
266
  Write-Host "🔍 최신 버전 확인 중..."
@@ -2,8 +2,7 @@
2
2
  # update-server.sh — entity-server / entity-cli 바이너리 및 파일 업데이트
3
3
  #
4
4
  # 사용법:
5
- # ./scripts/update-server.sh # 도움말
6
- # ./scripts/update-server.sh version # 현재 버전 + 최신 버전 확인
5
+ # ./scripts/update-server.sh # 도움말 + 현재 버전 + 최신 버전 확인
7
6
  # ./scripts/update-server.sh latest # 최신 버전으로 업데이트
8
7
  # ./scripts/update-server.sh 1.5.0 # 특정 버전으로 업데이트
9
8
  #
@@ -140,6 +139,24 @@ _latest_ver() {
140
139
  echo "$ver"
141
140
  }
142
141
 
142
+ _print_version_status() {
143
+ local current latest
144
+
145
+ echo "🔍 버전 확인 중..."
146
+ current="$(_current_ver)"
147
+ latest="$(_latest_ver)"
148
+
149
+ echo ""
150
+ echo " 현재 버전: v${current}"
151
+ echo " 최신 버전: v${latest}"
152
+ echo ""
153
+ if [ "$current" = "$latest" ]; then
154
+ echo "✅ 최신 버전입니다."
155
+ else
156
+ echo "💡 업데이트 가능: ./scripts/update-server.sh latest"
157
+ fi
158
+ }
159
+
143
160
  # ── 다운로드 ──────────────────────────────────────────────────────────────────
144
161
 
145
162
  _download() {
@@ -160,6 +177,23 @@ _download() {
160
177
  chmod +x "$dest"
161
178
  }
162
179
 
180
+ _download_plain() {
181
+ local url="$1"
182
+ local dest="$2"
183
+ local tmp="${dest}.tmp"
184
+
185
+ if command -v curl >/dev/null 2>&1; then
186
+ curl -fsSL --retry 3 -o "$tmp" "$url"
187
+ elif command -v wget >/dev/null 2>&1; then
188
+ wget -q -O "$tmp" "$url"
189
+ else
190
+ echo "❌ curl 또는 wget 이 필요합니다."
191
+ exit 1
192
+ fi
193
+
194
+ mv "$tmp" "$dest"
195
+ }
196
+
163
197
  _install() {
164
198
  local target_ver="${1#v}" # v 접두사 제거
165
199
  local current_ver
@@ -203,17 +237,26 @@ _install_dist() {
203
237
  local target_ver="$1"
204
238
  local file="dist.tar.gz"
205
239
  local url="https://github.com/${REPO}/releases/download/v${target_ver}/${file}"
240
+ local fallback_url="https://github.com/${REPO}/archive/refs/tags/v${target_ver}.tar.gz"
206
241
  local tmp_tar="/tmp/entity-server-dist-${target_ver}.tar.gz"
207
242
  local tmp_dir="/tmp/entity-server-dist-${target_ver}"
243
+ local downloaded_from="release asset"
208
244
 
209
245
  printf " ↓ %-32s" "$file"
210
246
  if ! _download "$url" "$tmp_tar" 2>/dev/null; then
211
- echo " 실패 (업데이트 스킵)"
212
- echo " URL: $url"
213
- echo " ⚠️ dist.tar.gz 가 릴리스에 없익니다. 바이너리만 업데이트됨."
214
- return 0
247
+ if _download_plain "$fallback_url" "$tmp_tar" 2>/dev/null; then
248
+ downloaded_from="repository tag archive"
249
+ echo " (fallback)"
250
+ else
251
+ echo "✗ 실패 (업데이트 스킵)"
252
+ echo " release asset: $url"
253
+ echo " fallback tag archive: $fallback_url"
254
+ echo " ⚠️ dist 패키지를 가져오지 못했습니다. 바이너리만 업데이트됨."
255
+ return 0
256
+ fi
257
+ else
258
+ echo "✓"
215
259
  fi
216
- echo "✓"
217
260
 
218
261
  rm -rf "$tmp_dir"
219
262
  mkdir -p "$tmp_dir"
@@ -238,6 +281,7 @@ _install_dist() {
238
281
  fi
239
282
 
240
283
  echo ""
284
+ echo " dist 소스: $downloaded_from"
241
285
  echo " 파일 동기화 (configs/ entities/ 제외):"
242
286
  for DIR in "${DIST_DIRS[@]}"; do
243
287
  local src="${src_root}/${DIR}"
@@ -263,7 +307,6 @@ case "$ARG" in
263
307
  echo "update-server.sh — entity-server / entity-cli 바이너리 및 파일 업데이트"
264
308
  echo ""
265
309
  echo "사용법:"
266
- echo " ./scripts/update-server.sh version 현재 버전 + 최신 버전 확인"
267
310
  echo " ./scripts/update-server.sh latest 최신 버전으로 업데이트"
268
311
  echo " ./scripts/update-server.sh <버전> 특정 버전으로 업데이트"
269
312
  echo ""
@@ -273,24 +316,10 @@ case "$ARG" in
273
316
  echo " 제외 configs/ entities/ docs/ (local 설정 보존)"
274
317
  echo ""
275
318
  echo "예시:"
276
- echo " ./scripts/update-server.sh version"
277
319
  echo " ./scripts/update-server.sh latest"
278
320
  echo " ./scripts/update-server.sh 1.5.0"
279
- ;;
280
-
281
- "version")
282
- echo "🔍 버전 확인 중..."
283
- CURRENT="$(_current_ver)"
284
- LATEST="$(_latest_ver)"
285
- echo ""
286
- echo " 현재 버전: v${CURRENT}"
287
- echo " 최신 버전: v${LATEST}"
288
321
  echo ""
289
- if [ "$CURRENT" = "$LATEST" ]; then
290
- echo "✅ 최신 버전입니다."
291
- else
292
- echo "💡 업데이트 가능: ./scripts/update-server.sh latest"
293
- fi
322
+ _print_version_status
294
323
  ;;
295
324
 
296
325
  "latest")