@clazic/urban 0.2.2 → 0.2.4
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/install.ps1 +72 -0
- package/package.json +2 -2
package/install.ps1
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Urban Windows 설치 스크립트
|
|
2
|
+
# 사용법: irm https://raw.githubusercontent.com/clazic/urban/master/install.ps1 | iex
|
|
3
|
+
|
|
4
|
+
Set-StrictMode -Off
|
|
5
|
+
$ErrorActionPreference = 'Stop'
|
|
6
|
+
|
|
7
|
+
function Write-Step($msg) { Write-Host "`n>> $msg" -ForegroundColor Cyan }
|
|
8
|
+
function Write-Ok($msg) { Write-Host " $msg" -ForegroundColor Green }
|
|
9
|
+
function Write-Warn($msg) { Write-Host " $msg" -ForegroundColor Yellow }
|
|
10
|
+
function Write-Fail($msg) { Write-Host " $msg" -ForegroundColor Red; exit 1 }
|
|
11
|
+
|
|
12
|
+
Write-Host "`n Urban 설치 스크립트 (Windows)`n" -ForegroundColor White
|
|
13
|
+
|
|
14
|
+
# ── 1. Node.js 확인 ────────────────────────────────────────────────────────────
|
|
15
|
+
Write-Step "Node.js 확인"
|
|
16
|
+
try {
|
|
17
|
+
$nodeVer = node --version 2>$null
|
|
18
|
+
$major = [int]($nodeVer -replace 'v(\d+)\..*','$1')
|
|
19
|
+
if ($major -lt 22) { Write-Fail "Node.js 22 이상 필요 (현재: $nodeVer) — https://nodejs.org" }
|
|
20
|
+
Write-Ok "Node.js $nodeVer"
|
|
21
|
+
} catch {
|
|
22
|
+
Write-Fail "Node.js가 설치되지 않았습니다 — https://nodejs.org 에서 설치 후 재시도"
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
# ── 2. npm 글로벌 경로를 사용자 디렉토리로 자동 설정 ──────────────────────────
|
|
26
|
+
Write-Step "npm 글로벌 경로 설정"
|
|
27
|
+
$currentPrefix = (npm config get prefix).Trim()
|
|
28
|
+
$userNpmDir = "$env:APPDATA\npm"
|
|
29
|
+
|
|
30
|
+
if ($currentPrefix -like "$env:SystemDrive\Program Files*" -or
|
|
31
|
+
$currentPrefix -like "$env:SystemDrive\Program Files (x86)*") {
|
|
32
|
+
Write-Warn "현재 prefix: $currentPrefix (관리자 권한 필요)"
|
|
33
|
+
Write-Warn "사용자 디렉토리로 변경 중: $userNpmDir"
|
|
34
|
+
npm config set prefix $userNpmDir
|
|
35
|
+
|
|
36
|
+
# PATH에 추가 (현재 세션 + 영구)
|
|
37
|
+
$userPath = [Environment]::GetEnvironmentVariable('PATH', 'User') ?? ''
|
|
38
|
+
if ($userPath -notlike "*$userNpmDir*") {
|
|
39
|
+
[Environment]::SetEnvironmentVariable('PATH', "$userPath;$userNpmDir", 'User')
|
|
40
|
+
$env:PATH = "$env:PATH;$userNpmDir"
|
|
41
|
+
Write-Ok "PATH에 $userNpmDir 추가 완료 (재시작 없이 적용)"
|
|
42
|
+
}
|
|
43
|
+
} else {
|
|
44
|
+
Write-Ok "prefix: $currentPrefix (사용자 디렉토리, 관리자 권한 불필요)"
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
# ── 3. PowerShell 실행 정책 ────────────────────────────────────────────────────
|
|
48
|
+
Write-Step "PowerShell 실행 정책 확인"
|
|
49
|
+
$policy = Get-ExecutionPolicy -Scope CurrentUser
|
|
50
|
+
if ($policy -eq 'Restricted' -or $policy -eq 'Undefined') {
|
|
51
|
+
Set-ExecutionPolicy RemoteSigned -Scope CurrentUser -Force
|
|
52
|
+
Write-Ok "실행 정책을 RemoteSigned로 변경"
|
|
53
|
+
} else {
|
|
54
|
+
Write-Ok "실행 정책: $policy (이미 설정됨)"
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
# ── 4. urban 설치 ──────────────────────────────────────────────────────────────
|
|
58
|
+
Write-Step "urban 설치 중..."
|
|
59
|
+
npm install -g @clazic/urban
|
|
60
|
+
if ($LASTEXITCODE -ne 0) { Write-Fail "npm install 실패" }
|
|
61
|
+
Write-Ok "urban 설치 완료"
|
|
62
|
+
|
|
63
|
+
# ── 5. 초기 설정 ───────────────────────────────────────────────────────────────
|
|
64
|
+
Write-Step "초기 설정"
|
|
65
|
+
Write-Host ""
|
|
66
|
+
urban setup
|
|
67
|
+
|
|
68
|
+
# ── 완료 ───────────────────────────────────────────────────────────────────────
|
|
69
|
+
Write-Host ""
|
|
70
|
+
Write-Host " 설치 완료!" -ForegroundColor Green
|
|
71
|
+
Write-Host " 데몬 시작: urban install && urban start" -ForegroundColor White
|
|
72
|
+
Write-Host " 브라우저: http://localhost:7777`n" -ForegroundColor White
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@clazic/urban",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "도시계획연구 보고서 자동 수집·지식베이스 데몬",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"engines": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"scripts": {
|
|
14
14
|
"start": "node src/daemon.js",
|
|
15
15
|
"test": "node --test test/**/*.test.js",
|
|
16
|
-
"postinstall": "
|
|
16
|
+
"postinstall": "node scripts/setup-graphify.js"
|
|
17
17
|
},
|
|
18
18
|
"license": "MIT",
|
|
19
19
|
"dependencies": {
|