create-fuzionx 0.1.24 → 0.1.26

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-fuzionx",
3
- "version": "0.1.24",
3
+ "version": "0.1.26",
4
4
  "description": "Create a new FuzionX application — npx create-fuzionx my-app",
5
5
  "type": "module",
6
6
  "bin": {
@@ -1,30 +1,202 @@
1
- # FuzionX Configuration
1
+ # ═══════════════════════════════════════════════
2
+ # fuzionx.yaml — FuzionX 전체 설정 레퍼런스
3
+ # ═══════════════════════════════════════════════
4
+
5
+ # ── Bridge (Rust 엔진) ──────────────────────────
2
6
  bridge:
3
7
  port: 49080
4
- workers: 4
5
- worker_timeout: 30
8
+ workers: 0 # 0 = CPU 코어 수 자동
9
+ worker_timeout: 30 # 워커 요청 타임아웃 (초)
10
+
11
+ # ── 보안: CORS ──
12
+ cors:
13
+ enabled: false
14
+ origins:
15
+ - "*"
6
16
 
17
+ # ── 보안: Rate Limit ──
7
18
  rate_limit:
8
19
  enabled: true
9
- per_ip: 1000
20
+ per_ip: 1000 # IP당 초당 요청 수
21
+
22
+ # ── 보안: HSTS ──
23
+ hsts:
24
+ enabled: false
25
+ max_age: 31536000 # 1년 (초)
26
+
27
+ # ── 보안: CSP ──
28
+ csp:
29
+ enabled: false
30
+ directives:
31
+ - "default-src 'self'"
32
+
33
+ # ── 보안: IP Filter ──
34
+ ip_filter:
35
+ enabled: false
36
+ whitelist: [] # CIDR 형식
37
+ blacklist: []
38
+
39
+ # ── 세션 ──
40
+ session:
41
+ enabled: false
42
+ store: memory # memory | redis
43
+ ttl: 3600 # 세션 TTL (초)
44
+ cookie_name: fuzionx.sid
45
+ # redis_url: "redis://localhost:6379"
46
+
47
+ # ── 국제화 (i18n) ──
48
+ i18n:
49
+ enabled: false
50
+ default_locale: ko
51
+ locale_dir: ./locales
52
+ auto_complete: false
53
+ locales:
54
+ - ko
55
+ - en
56
+
57
+ # ── WebSocket ──
58
+ websocket:
59
+ enabled: false
60
+ path: /ws
61
+ check_interval: 60 # 헬스체크 간격 (초)
62
+ timeout: 60 # 타임아웃 (초)
63
+
64
+ # ── Hub (멀티서버 동기화) ──
65
+ hub:
66
+ enabled: false
67
+ url: "ws://127.0.0.1:9100/ws/bridge"
68
+ group: "{{name}}"
69
+
70
+ # ── 파일 업로드 ──
71
+ upload:
72
+ dir: /tmp
73
+ max_size: "1gb"
74
+ max_files: 20
75
+ allowed_types:
76
+ - image/jpeg
77
+ - image/png
78
+ - image/webp
79
+ - image/gif
80
+ - video/mp4
81
+ - video/webm
82
+ - application/pdf
83
+ # watermark: ./assets/watermark.png
84
+ # watermark_opacity: 50
85
+
86
+ # ── 정적 파일 ──
87
+ static:
88
+ - url: /public
89
+ path: ./public
10
90
 
91
+ # ── 로깅 ──
92
+ logging:
93
+ level: info # error | warn | info | debug
94
+ intercept_console: true # console.* 가로채기
95
+ file:
96
+ enabled: false
97
+ path: ./logs/app.log
98
+
99
+ # ── 액세스 로그 ──
100
+ access_log:
101
+ enabled: false
102
+ path: ./logs/access.log
103
+ error_path: ./logs/error.log
104
+
105
+ # ── 트래픽 캡처 ──
106
+ traffic_capture:
107
+ enabled: false
108
+ max_body_size: "64KB"
109
+ exclude_content_types: []
110
+ loki:
111
+ enabled: false
112
+ url: ""
113
+ labels: []
114
+ fields: []
115
+ batch_size: 100
116
+ flush_interval: "2s"
117
+ clickhouse:
118
+ enabled: false
119
+ url: ""
120
+ database: fuzionx
121
+ table: traffic
122
+ format: full # metadata | headers_only | full
123
+ batch_size: 100
124
+ flush_interval: "1s"
125
+
126
+ # ── ASP 암호화 ──
127
+ asp:
128
+ enabled: false
129
+ master_secret: "${ASP_SECRET:change-me-in-production}"
130
+ header_signal: Ruxy-Enc-Mode
131
+
132
+ # ── Database ────────────────────────────────────
11
133
  database:
12
- main:
13
- driver: sqlite
14
- path: ./storage/database.sqlite
134
+ default: main
135
+ connections:
136
+ main:
137
+ driver: sqlite # sqlite | mariadb | postgres | mongodb
138
+ database: ./storage/database.sqlite
139
+ # host: "127.0.0.1"
140
+ # port: 3306
141
+ # user: root
142
+ # password: ""
143
+ # charset: utf8mb4
144
+ # pool:
145
+ # min: 2
146
+ # max: 10
15
147
 
148
+ # ── App (프레임워크) ────────────────────────────
16
149
  app:
17
150
  name: '{{name}}'
18
- environment: development
151
+ environment: development # development | production
152
+
153
+ asp:
154
+ enabled: false
155
+
156
+ # 인증
19
157
  auth:
20
- secret: 'change-me-in-production'
158
+ secret: '${JWT_SECRET:change-me-in-production}'
21
159
  accessTtl: '15m'
160
+ # refreshTtl: '7d'
161
+ # bcrypt_rounds: 12
162
+
163
+ # 국제화 (프레임워크 편의 설정)
22
164
  i18n:
23
165
  default_locale: 'ko'
24
166
  fallback: 'en'
167
+
168
+ # Swagger/OpenAPI
25
169
  docs:
26
170
  enabled: true
27
171
  path: '/docs'
28
172
 
29
- themes:
30
- default: 'default'
173
+ # 테마
174
+ themes:
175
+ default: 'default'
176
+
177
+ # 스토리지
178
+ # storage:
179
+ # driver: local
180
+ # local:
181
+ # path: ./storage
182
+ # url_prefix: /storage
183
+
184
+ # 스케줄러
185
+ # scheduler:
186
+ # enabled: true
187
+ # lock:
188
+ # driver: null # null | redis
189
+ # redis_url: ""
190
+ # prefix: "myapp:lock"
191
+
192
+ # 큐
193
+ # queue:
194
+ # driver: memory # memory | redis
195
+ # redis_url: ""
196
+ # prefix: "myapp:queue"
197
+
198
+ # ── Multi-App (도메인 → 앱 라우팅) ────────────────
199
+ apps:
200
+ "localhost:49080": backend
201
+ # "admin.example.com": backend
202
+ # "example.com": frontend
@@ -7,7 +7,7 @@
7
7
  "test": "vitest run"
8
8
  },
9
9
  "dependencies": {
10
- "@fuzionx/framework": "^0.1.0"
10
+ "@fuzionx/framework": "^0.1.26"
11
11
  },
12
12
  "devDependencies": {
13
13
  "vitest": "^3.0.0"