sh-ui-cli 0.88.1 → 0.89.0
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/data/changelog/versions.json +13 -0
- package/package.json +1 -1
- package/src/create/templateManifest.js +5 -6
- package/templates/vite-standalone/_arch/fsd/index.html +26 -0
- package/templates/vite-standalone/_arch/fsd/src/{App.tsx → app/App.tsx} +3 -2
- package/templates/vite-standalone/src/App.tsx +0 -5
- package/templates/vite-standalone/src/main.tsx +0 -9
- /package/templates/vite-standalone/{index.html → _arch/flat/index.html} +0 -0
- /package/templates/vite-standalone/{src → _arch/flat/src}/Home.tsx +0 -0
- /package/templates/vite-standalone/_arch/fsd/src/{main.tsx → app/main.tsx} +0 -0
|
@@ -2,6 +2,19 @@
|
|
|
2
2
|
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
3
|
"$description": "sh-ui 릴리즈 노트 단일 소스. docs(React)와 showcase(Flutter)가 함께 읽는다. 새 릴리즈마다 맨 앞에 추가.",
|
|
4
4
|
"versions": [
|
|
5
|
+
{
|
|
6
|
+
"version": "0.89.0",
|
|
7
|
+
"date": "2026-05-14",
|
|
8
|
+
"title": "vite-standalone fsd arch — FSD-pure entry (src/app/main.tsx)",
|
|
9
|
+
"type": "minor",
|
|
10
|
+
"highlights": [
|
|
11
|
+
"**fsd arch 의 entry 가 `src/app/main.tsx` 로 이동** — Feature-Sliced Design 의 app layer 가 정식 부트스트랩 위치가 되도록. v0.88.x 까지는 Vite 컨벤션 (`src/main.tsx`) 따라 루트에 두고 안에서 FSD 레이어로 분기하던 1-layer 우회 — v0.89.0 부터는 entry 자체가 app layer 안. `_arch/fsd/index.html` overlay 신설 (script src `/src/app/main.tsx`). ai-org 처럼 명시적 FSD 노선을 가진 프로젝트에 맞춤.",
|
|
12
|
+
"**flat arch 는 Vite 컨벤션 유지** — `src/main.tsx` + `src/App.tsx` + `src/Home.tsx` 그대로 루트. 그러나 base 에서 이 파일들이 빠지면서 `_arch/flat/` overlay 가 자체적으로 emit (`_arch/flat/index.html`, `_arch/flat/src/Home.tsx` 신설). 사용자 입장의 결과 파일은 v0.88.x 와 동일.",
|
|
13
|
+
"**base 가 entry 책임 안 가짐** — `index.html`, `src/App.tsx`, `src/Home.tsx`, `src/main.tsx` 가 vite-standalone base 에서 제거. 각 arch overlay 가 자체 entry 를 owner — flat 은 Vite-style, fsd 는 FSD-pure. base 는 빌드 설정 + 메타 파일만 (CLAUDE.md / README.md / package.json / vite.config.ts / tsconfig.* / eslint.config.js / vitest.config.ts / gitignore — 10개).",
|
|
14
|
+
"**Smoke V10 + V11 회귀 가드 + V1 갱신** — V10 은 fsd 의 `src/app/main.tsx` 존재 + 루트 entry/opinionated 폴더 부재 + index.html script 경로 단언. V11 은 flat 의 Vite-convention 보장. V1 (기존 vite fsd smoke) 도 새 entry 경로로 갱신. fsd + flat 양쪽 manual `pnpm build` 검증 그린."
|
|
15
|
+
],
|
|
16
|
+
"url": "https://github.com/sanghyeonKim0201/sh-ui/releases/tag/v0.89.0"
|
|
17
|
+
},
|
|
5
18
|
{
|
|
6
19
|
"version": "0.88.1",
|
|
7
20
|
"date": "2026-05-14",
|
package/package.json
CHANGED
|
@@ -384,11 +384,7 @@ export const TEMPLATE_MANIFEST = {
|
|
|
384
384
|
"README.md",
|
|
385
385
|
"eslint.config.js",
|
|
386
386
|
"gitignore",
|
|
387
|
-
"index.html",
|
|
388
387
|
"package.json",
|
|
389
|
-
"src/App.tsx",
|
|
390
|
-
"src/Home.tsx",
|
|
391
|
-
"src/main.tsx",
|
|
392
388
|
"tsconfig.json",
|
|
393
389
|
"tsconfig.node.json",
|
|
394
390
|
"vite.config.ts",
|
|
@@ -397,8 +393,10 @@ export const TEMPLATE_MANIFEST = {
|
|
|
397
393
|
],
|
|
398
394
|
"arches": {
|
|
399
395
|
"flat": [
|
|
396
|
+
"index.html",
|
|
400
397
|
"sh-ui.config.json",
|
|
401
398
|
"src/App.tsx",
|
|
399
|
+
"src/Home.tsx",
|
|
402
400
|
"src/components/layouts/RootLayout.tsx",
|
|
403
401
|
"src/components/providers/GlobalProvider/index.tsx",
|
|
404
402
|
"src/components/providers/index.tsx",
|
|
@@ -412,12 +410,13 @@ export const TEMPLATE_MANIFEST = {
|
|
|
412
410
|
"tsconfig.app.json"
|
|
413
411
|
],
|
|
414
412
|
"fsd": [
|
|
413
|
+
"index.html",
|
|
415
414
|
"sh-ui.config.json",
|
|
416
|
-
"src/App.tsx",
|
|
415
|
+
"src/app/App.tsx",
|
|
417
416
|
"src/app/layouts/RootLayout.tsx",
|
|
417
|
+
"src/app/main.tsx",
|
|
418
418
|
"src/app/providers/GlobalProvider/index.tsx",
|
|
419
419
|
"src/app/providers/theme/ThemeProvider.tsx",
|
|
420
|
-
"src/main.tsx",
|
|
421
420
|
"src/shared/api/queryClient.ts",
|
|
422
421
|
"src/shared/hooks/useTheme.ts",
|
|
423
422
|
"src/shared/lib/utils.ts",
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="ko" suppressHydrationWarning>
|
|
3
|
+
<head>
|
|
4
|
+
<meta charset="UTF-8" />
|
|
5
|
+
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
|
6
|
+
<!-- viewport-fit=cover: iOS safe-area inset / Android edge-to-edge / Tauri mobile 호환 -->
|
|
7
|
+
<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />
|
|
8
|
+
<!-- theme-color: 모바일 브라우저 / PWA / Tauri WebView 의 status bar 톤. dark default 에 맞춰 어두운 톤. -->
|
|
9
|
+
<meta name="theme-color" content="#0A0A0A" media="(prefers-color-scheme: dark)" />
|
|
10
|
+
<meta name="theme-color" content="#FFFFFF" media="(prefers-color-scheme: light)" />
|
|
11
|
+
<title>sh-ui app</title>
|
|
12
|
+
<script>
|
|
13
|
+
// FOUC 차단 — ThemeProvider mount 전에 첫 paint 에 dark class 박기.
|
|
14
|
+
try {
|
|
15
|
+
var t = localStorage.getItem('theme');
|
|
16
|
+
var d = t === 'dark' || ((!t || t === 'system') && matchMedia('(prefers-color-scheme:dark)').matches);
|
|
17
|
+
if (d) document.documentElement.classList.add('dark');
|
|
18
|
+
} catch (e) {}
|
|
19
|
+
</script>
|
|
20
|
+
</head>
|
|
21
|
+
<body>
|
|
22
|
+
<div id="root"></div>
|
|
23
|
+
<!-- v0.89.0+ FSD-pure entry — 부트스트랩이 app layer 안에 있음. -->
|
|
24
|
+
<script type="module" src="/src/app/main.tsx"></script>
|
|
25
|
+
</body>
|
|
26
|
+
</html>
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
import { GlobalProvider } from '@/app/providers/GlobalProvider';
|
|
2
2
|
import { RootLayout } from '@/app/layouts/RootLayout';
|
|
3
|
-
import Home from './Home';
|
|
4
3
|
|
|
5
4
|
export default function App() {
|
|
6
5
|
return (
|
|
7
6
|
<GlobalProvider>
|
|
8
7
|
<RootLayout>
|
|
9
|
-
<
|
|
8
|
+
<main className="flex min-h-screen flex-col items-center justify-center">
|
|
9
|
+
<h1 className="text-4xl font-bold">Hello World</h1>
|
|
10
|
+
</main>
|
|
10
11
|
</RootLayout>
|
|
11
12
|
</GlobalProvider>
|
|
12
13
|
);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|