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 +2 -1
- package/package.json +1 -1
- package/src/templates/readme_md.mjs +3 -0
- package/template/docs/glendix_guide.md +35 -1
- package/template/gleam.toml +1 -1
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.
|
|
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
|
@@ -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. **백그라운드 로드** — 나머지 아이템을 별도
|
|
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
|
### 빌드 에러
|
package/template/gleam.toml
CHANGED