create-mendix-widget-gleam 2.0.17 → 2.0.18

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/README.md CHANGED
@@ -30,7 +30,7 @@ my-widget/
30
30
  widgets/ # .mpk 위젯 파일 (glendix/widget로 바인딩)
31
31
  bindings.json # 외부 React 컴포넌트 바인딩 설정
32
32
  package.json # npm 의존성 (React, 외부 라이브러리 등)
33
- gleam.toml # Gleam 프로젝트 설정 (glendix >= 2.0.17 의존성 포함)
33
+ gleam.toml # Gleam 프로젝트 설정 (glendix >= 2.0.18 의존성 포함)
34
34
  CLAUDE.md # AI 어시스턴트용 프로젝트 컨텍스트
35
35
  ```
36
36
 
@@ -44,6 +44,7 @@ gleam run -m glendix/install # 의존성 설치
44
44
  gleam run -m glendix/dev # 개발 서버 시작
45
45
  gleam run -m glendix/build # 프로덕션 빌드 (.mpk 생성)
46
46
  gleam run -m glendix/marketplace # Marketplace 위젯 검색/다운로드
47
+ gleam run -m glendix/define # 위젯 프로퍼티 정의 TUI 에디터
47
48
  ```
48
49
 
49
50
  ## glendix — React + Mendix 바인딩
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "create-mendix-widget-gleam",
3
- "version": "2.0.17",
3
+ "version": "2.0.18",
4
4
  "description": "Scaffold a Mendix Pluggable Widget powered by Gleam",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",
@@ -105,6 +105,7 @@ gleam run -m glendix/lint # Run ESLint
105
105
  gleam run -m glendix/lint_fix # ESLint auto-fix
106
106
  gleam run -m glendix/release # Release build
107
107
  gleam run -m glendix/marketplace # Search/download Marketplace widgets
108
+ gleam run -m glendix/define # Widget property definition TUI editor
108
109
  gleam build --target javascript # Gleam → JS compilation only
109
110
  gleam test # Run tests
110
111
  gleam format # Format code
@@ -359,6 +360,7 @@ gleam run -m glendix/lint # ESLint 실행
359
360
  gleam run -m glendix/lint_fix # ESLint 자동 수정
360
361
  gleam run -m glendix/release # 릴리즈 빌드
361
362
  gleam run -m glendix/marketplace # Marketplace 위젯 검색/다운로드
363
+ gleam run -m glendix/define # 위젯 프로퍼티 정의 TUI 에디터
362
364
  gleam build --target javascript # Gleam → JS 컴파일만
363
365
  gleam test # 테스트 실행
364
366
  gleam format # 코드 포맷팅
@@ -613,6 +615,7 @@ gleam run -m glendix/lint # ESLint実行
613
615
  gleam run -m glendix/lint_fix # ESLint自動修正
614
616
  gleam run -m glendix/release # リリースビルド
615
617
  gleam run -m glendix/marketplace # Marketplaceウィジェット検索/ダウンロード
618
+ gleam run -m glendix/define # ウィジェットプロパティ定義TUIエディター
616
619
  gleam build --target javascript # Gleam → JSコンパイルのみ
617
620
  gleam test # テスト実行
618
621
  gleam format # コードフォーマット
@@ -2116,7 +2116,7 @@ Enter를 누르면 최신 버전이 다운로드됩니다.
2116
2116
  #### 동작 흐름
2117
2117
 
2118
2118
  1. **첫 배치 로드** — Content API에서 첫 40개 아이템을 직접 로드하여 즉시 표시
2119
- 2. **백그라운드 로드** — 나머지 아이템을 별도 프로세스에서 비동기 로드 (`.marketplace-cache/`에 캐시)
2119
+ 2. **백그라운드 로드** — 나머지 아이템을 별도 프로세스(fork)에서 비동기 로드, IPC로 메인 프로세스에 전달
2120
2120
  3. **위젯 선택 시** — Playwright(headless chromium)로 Marketplace 페이지에서 S3 다운로드 URL 추출
2121
2121
  4. **다운로드** — S3에서 `.mpk` 파일을 `widgets/` 디렉토리에 저장
2122
2122
  5. **바인딩 생성** — `cmd.generate_widget_bindings()`가 자동 호출되어 `src/widgets/`에 바인딩 `.gleam` 파일 생성
@@ -2382,6 +2382,40 @@ hook.use_effect_once_cleanup(fn() {
2382
2382
 
2383
2383
  ---
2384
2384
 
2385
+ ## 위젯 프로퍼티 정의 (TUI 에디터)
2386
+
2387
+ `gleam run -m glendix/define`을 실행하면 터미널에서 위젯의 프로퍼티 정의를 인터랙티브하게 편집할 수 있습니다.
2388
+
2389
+ ### 기능
2390
+
2391
+ - **프로퍼티 그룹 관리**: 그룹 추가/삭제/이름 변경
2392
+ - **프로퍼티 편집**: key, type, caption, description, required 등 모든 필드를 TUI에서 편집
2393
+ - **타입 선택**: Mendix가 지원하는 모든 프로퍼티 타입(string, boolean, integer, enumeration, object, action 등) 중 선택
2394
+ - **열거형(Enum) 관리**: 열거형 타입의 key/caption 값 추가/삭제/편집
2395
+ - **위젯 메타 편집**: 위젯 이름, 설명, Studio Pro 카테고리 등 메타 정보 편집
2396
+ - **시스템 프로퍼티**: Mendix 시스템 프로퍼티(Label, Name, TabIndex, Visibility, Editability) 토글
2397
+ - **XML 자동 생성**: 편집 결과를 Mendix Pluggable Widget XML 형식으로 저장
2398
+
2399
+ ### 사용법
2400
+
2401
+ ```bash
2402
+ gleam run -m glendix/define
2403
+ ```
2404
+
2405
+ TUI가 실행되면 방향키, Enter, Escape, Tab 등으로 탐색하고 편집합니다:
2406
+
2407
+ - **방향키(↑↓)**: 트리 뷰에서 그룹/프로퍼티 탐색
2408
+ - **Enter**: 선택한 항목 편집 또는 확인
2409
+ - **Escape**: 이전 화면으로 돌아가기
2410
+ - **a**: 새 프로퍼티 추가
2411
+ - **g**: 새 그룹 추가
2412
+ - **d**: 선택한 항목 삭제 (확인 프롬프트)
2413
+ - **m**: 위젯 메타 정보 편집
2414
+ - **s**: 시스템 프로퍼티 편집
2415
+ - **Ctrl+C / q**: 종료 (저장 확인)
2416
+
2417
+ ---
2418
+
2385
2419
  ## 7. 트러블슈팅
2386
2420
 
2387
2421
  ### 빌드 에러
@@ -8,4 +8,4 @@ runtime = "node"
8
8
 
9
9
  [dependencies]
10
10
  gleam_stdlib = ">= 0.44.0 and < 2.0.0"
11
- glendix = ">= 2.0.17 and < 3.0.0"
11
+ glendix = ">= 2.0.18 and < 3.0.0"