create-saas-starter-workspace 0.1.7 → 0.1.8
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/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.8 — 2026-06-15
|
|
4
|
+
|
|
5
|
+
- 스킬 본문이 코드·SSOT와 어긋나 에이전트를 오도하던 라이브 사실 오류 2건 정정:
|
|
6
|
+
- `/go-live` §8이 "Vercel Deployment Checks는 Pro 전용"이라 단언했으나 `web/docs/LIMITS.md`(SSOT)는 Hobby 가용이라 명시 — 한 워크스페이스 안에서 진실이 갈렸다. 본문에서 티어를 단정하지 않고 LIMITS.md를 따르도록 정정(merge 게이트 동작 자체는 plan 무관 GitHub branch protection으로 유지).
|
|
7
|
+
- `native-app-guide`·`eas-deploy-guide`가 `.env.example` 플레이스홀더를 `https://your-app.vercel.app`이라 박제했으나 실제 파일은 `http://localhost:3000`(eas.json은 또 다른 값) — 박제 문자열을 제거하고 실파일(`mobile/.env.example`·`eas.json`)을 직접 보도록 정정.
|
|
8
|
+
|
|
3
9
|
## 0.1.7 — 2026-06-14
|
|
4
10
|
|
|
5
11
|
- connect-repos 실패 안내를 코드스페이스 현실에 맞게 정정: 코드스페이스 기본 토큰은 레포 생성 권한이 없어, 복구는 `unset GITHUB_TOKEN GH_TOKEN` → `gh auth login --web -s repo` → 재실행이 필요하다(이전 안내엔 unset 단계가 빠져 있었다). 실측으로 확인된 흐름.
|
|
@@ -99,7 +99,7 @@ iOS 15 + Android 15 빌드/월, 동시성 1, 우선순위 Low, 빌드당 45분([
|
|
|
99
99
|
## 필수 안전장치
|
|
100
100
|
|
|
101
101
|
- `src/config/env.ts`는 `EXPO_PUBLIC_WEB_URL`을 시작 시점에 명시적 throw로 가드한다(미설정·빈 값·URL 파싱 실패·non-https-non-localhost). protocol/hostname만 검사하므로 실기기와 시뮬을 구분하지 못한다(위 참조).
|
|
102
|
-
- `.env`는 커밋하지 않는다(`.gitignore`가 `.env`/`.env.*`를 제외하고 `.env.example`만 유지). 커밋되는 `.env.example`에는
|
|
102
|
+
- `.env`는 커밋하지 않는다(`.gitignore`가 `.env`/`.env.*`를 제외하고 `.env.example`만 유지). 커밋되는 `.env.example`에는 플레이스홀더만 들어간다(실제 값은 `mobile/.env.example`·`eas.json`을 직접 본다). 인라인 소스는 클라우드 빌드는 `eas.json`의 `build.<profile>.env`, 로컬 `expo start`는 Owner가 만든 `.env`다.
|
|
103
103
|
- 테스트와 출시 모두 production(store) 프로파일 하나를 쓴다. TestFlight(iOS), Play 내부 테스트(Android). ad-hoc 사이드로드가 필요할 때만 `distribution: internal` 프로파일을 따로 추가한다(UDID 한정, 출시로 승급되지 않음).
|
|
104
104
|
|
|
105
105
|
## 빌드 모니터링
|
|
@@ -49,7 +49,7 @@ main에 push하면 CI와 Vercel 배포가 동시에 트리거된다.
|
|
|
49
49
|
|
|
50
50
|
## 8. Owner 직접 (Hobby 한도)
|
|
51
51
|
|
|
52
|
-
- CI Required check:
|
|
52
|
+
- CI Required check: main merge를 CI 통과로 게이트한다 — GitHub repo Settings → Branches → branch protection rule에 CI workflow를 Required status check로 지정한다(plan 무관·벤더 중립으로 동작한다). Vercel 자체 Deployment Checks의 플랜별 가용성은 본문에서 단정하지 않고 `web/docs/LIMITS.md`를 SSOT로 따른다.
|
|
53
53
|
- Preview Deployment Protection: Vercel 대시보드에서 Preview에 Vercel Authentication을 ON으로 켜 preview URL 크롤러를 차단한다. Hobby Standard에서 가능하며 external user 1명으로 제한된다.
|
|
54
54
|
|
|
55
55
|
## 9. 보안 진단
|
|
@@ -17,7 +17,7 @@ SDK 56 / RN 0.85 / React 19는 학습 데이터와 다르다. 네이티브 API
|
|
|
17
17
|
- 이벤트 구독은 `subscription.remove()`로 정리한다(RN 0.85에서 `removeEventListener` 제거됨).
|
|
18
18
|
- 컴포넌트는 `React.JSX.Element`를 반환한다. strict TS를 쓰고 `any`를 회피한다.
|
|
19
19
|
- `react-native-url-polyfill/auto`가 `index.ts`에서 먼저 로드돼야 `new URL().origin`이 Hermes에서 동작한다(링크 allow-list의 전제).
|
|
20
|
-
- `EXPO_PUBLIC_WEB_URL`은 빌드 시점에 인라인된다(바꾸려면 재빌드). 인라인 출처는 클라우드 빌드=`eas.json` `build.<profile>.env`, 로컬 `expo start`=Owner가 만든 `.env`다. `.env`는 커밋하지 않고(`.gitignore`), 커밋되는 `.env.example`은
|
|
20
|
+
- `EXPO_PUBLIC_WEB_URL`은 빌드 시점에 인라인된다(바꾸려면 재빌드). 인라인 출처는 클라우드 빌드=`eas.json` `build.<profile>.env`, 로컬 `expo start`=Owner가 만든 `.env`다. `.env`는 커밋하지 않고(`.gitignore`), 커밋되는 `.env.example`은 플레이스홀더만 담는다(정확한 값은 `mobile/.env.example`을 직접 본다). `env.ts` 가드는 protocol/hostname만 본다. 실기기인지 시뮬레이터인지 못 구분하므로 localhost URL도 가드는 통과하나 실기기에선 실패한다. "실기기=prod https"는 코드가 강제하는 불변식이 아니라 Owner/AI 규칙이다.
|
|
21
21
|
|
|
22
22
|
## safe-area (노치 여백)
|
|
23
23
|
|
package/package.json
CHANGED