- EXE versions: prerequisite list with the built-in catalog, custom installers, download link checks and install file analysis; entries are added by the user (no automatic adding), one "추가" dialog with 기본 목록 / 직접 추가 tabs - offline prerequisite setup: single exe made from PrerequisiteSetup.exe (Windows task dialog, no prerequisites) plus every installer, hash checked before, while and after appending; optional WebView2 Runtime chosen in the save dialog; replaces an existing file only after the user agrees (CLI --replace) - desktop: progress popup with 생성위치 열기, save dialog fix for verbatim paths, EXE 서명 and 설치파일 생성 as version tabs, start screen 도구 › 서명하기 placeholder - CLAUDE.md: results are overwritten only with the user's consent - test kit and scripts for Windows Sandbox and Hyper-V checks Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2.8 KiB
2.8 KiB
name, description
| name | description |
|---|---|
| check | Installer Studio 저장소의 전체 검사(fmt, clippy, Rust 테스트, 프런트엔드 테스트·빌드, 데스크톱 빌드)를 scripts/Check.ps1과 같은 순서로 실행하고 결과를 보고한다. 커밋 전, PR 전, "검사해", "테스트 돌려", "빌드 확인"에 사용한다. |
전체 검사
src/scripts/Check.ps1과 같은 순서를 따른다. 스크립트를 그대로 실행해도 되지만, 어느 단계에서 실패했는지 보고하려면 단계별로 실행한다. 모든 명령은 D:\networkSetup\src에서 실행한다.
사전 조건
- 실행 중인
vite/tauri dev/InstallerStudio.exe프로세스가 있으면 먼저 종료한다.npm ci가 esbuild 파일을 교체하지 못하고, debug 빌드가 실행 파일을 덮어쓰지 못한다. - 변경 범위를 보고 빠른 모드와 전체 모드를 정한다.
- Rust만 바뀜: 1단계, 3~5단계.
- 프런트엔드만 바뀜: 2단계.
src-tauri,apps/prerequisite-setup, 공용 DTO, IPC 계약이 바뀜: 전체.
단계
# 1. 포맷
cargo fmt --all --check
# 2. 프런트엔드 (데스크톱)
cd apps/desktop
npm.cmd ci --no-audit --no-fund
npm.cmd test
npm.cmd run build
cd ../..
# 3. 린트 (경고도 실패)
cargo clippy --locked --workspace --all-targets -- -D warnings
# 4. Rust 단위·통합 테스트 (SDK·네트워크·레지스트리 읽기 테스트는 ignored)
cargo test --locked --workspace
# 5. 데스크톱 실행 파일과 선행 설치기 원본
cargo build --locked -p msix-studio -p prerequisite-setup --features msix-studio/custom-protocol
MakeAppx 통합 시험까지 요청받았으면 msix-integration-test 스킬을 따른다.
실패 처리
cargo fmt --check실패:cargo fmt --all을 실행해 고치고 다시 검사한다. 포맷 변경만 커밋 범위에 들어가게 한다.- clippy 경고:
#[allow]로 덮지 않는다. 코드를 고친다. 정말 의도된 패턴이면 이유를 주석으로 적고allow를 가장 좁은 범위에 붙인다. - 테스트 실패: 테스트를 약화시키지 않는다. 실패 출력 전문을 보고에 포함한다.
--locked실패:Cargo.lock/package-lock.json이 변경돼야 한다는 뜻이다. 의존성을 의도적으로 바꾼 경우에만 잠금 파일 갱신을 커밋한다.
보고 형식
단계별로 통과/실패를 표로 적고, 실행하지 않은 단계는 "실행 안 함"으로 적는다. 실패한 단계는 오류 출력을 코드 블록으로 붙인다. "모두 통과"는 다섯 단계를 실제로 모두 실행했을 때만 쓴다.
| 단계 | 결과 |
|---|---|
| fmt | 통과 |
| npm test / build | 통과 (N개) |
| clippy | 통과 |
| cargo test | 통과 (N개) |
| msix-studio · prerequisite-setup build | 실행 안 함 (프런트엔드만 변경) |