@jogak/cli 0.1.0-alpha.7.1 → 0.1.0-alpha.9

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
@@ -5,6 +5,29 @@ All notable changes to Jogak packages are documented here. The repository follow
5
5
 
6
6
  Version numbers apply to all packages in the workspace (synchronized release).
7
7
 
8
+ ## [0.1.0-alpha.9] — 2026-05-09
9
+
10
+ ### Added
11
+
12
+ - **`@jogak/vite-adapter`**, **`@jogak/next-adapter`**, **`@jogak/webpack-adapter`**, **`@jogak/standalone-adapter`**: 새 builder-agnostic adapter 패키지군. CLI가 사용자 cwd의 빌더(`next.config`, `vite.config`, `webpack.config`)를 감지하여 해당 adapter를 dynamic import한다. 사용자 컴포넌트는 사용자의 정상 빌더 client에서 평가되므로 utility class compiler(Tailwind v4 등)이 자연스럽게 동작한다.
13
+ - **`@jogak/core`**: `BuilderAdapter` ABI(`adapter.ts`), 빌더 자동 감지(`detectBuilder`, `@jogak/core/server`), preview entry 공통 source(`renderPreviewEntrySource`), postMessage 프로토콜(`@jogak/core/preview-entry/protocol`).
14
+ - **`JogakPluginOptions.userPreviewUrl` / `previewEntryPath`**: adapter dispatch 결과를 host UI iframe src로 주입하는 통로. (`userViteUrl`은 alpha.8 호환을 위해 alias로 유지)
15
+ - **`@jogak/next-adapter`**: Next 14+ App Router에 `<userRoot>/app/jogak-preview/page.tsx` scaffold(`.gitignore` 자동, shutdown cleanup). `next dev` child process spawn + HTTP poll ready 감지. CLI가 사전 생성한 `.jogak/registry.ts`의 entries를 import하여 모듈 평가 시점에 등록.
16
+ - **`@jogak/webpack-adapter`**: `<userRoot>/.jogak/webpack-preview/preview-entry.tsx` scaffold + `webpack-dev-server` programmatic API + `webpack-merge`로 사용자 webpack.config 통합.
17
+
18
+ ### Changed
19
+
20
+ - **`@jogak/core`**: `fs`/`path`를 사용하는 server-only utility(`detectBuilder`, `resolveGlobalCssPaths`, `detectUserGlobalCss`)를 `@jogak/core/server` subpath로 분리. client bundle에 Node 모듈이 leak되는 문제를 차단.
21
+ - **`@jogak/core`**, **`@jogak/ui`**, all adapters: CJS 산출물 확장자를 `.js` → `.cjs`로 변경. `"type": "module"` 환경에서 `.js`가 ESM으로 해석되어 발생하던 `exports is not defined in ES module scope` 오류를 해소.
22
+ - **`previewIsolation`** default: `'shadow'` → `'iframe'`. shadow DOM 모드는 일부 portal 라이브러리(Radix 등)와 호환성 이슈가 있어 iframe 격리를 표준으로.
23
+ - **`@jogak/ui`** preview-frame: 기존 `__jogak_setProps__` 직접 호출 프로토콜 → postMessage(`jogak:setProps` / `jogak:rendered` / `jogak:error`)로 통일. 모든 어댑터의 iframe entry가 동일 프로토콜을 따른다.
24
+ - **`@jogak/cli`**: `jogak dev`가 registry 생성 완료를 대기한 뒤 어댑터를 spawn (이전: fire-and-forget). non-vite 어댑터의 scaffold가 비어있는 registry를 import하던 race condition 해소.
25
+
26
+ ### Fixed
27
+
28
+ - **`@jogak/cli`**: 어댑터 dynamic import 시 `import.meta.resolve`/`createRequire`가 cli/dist 기준으로 해석돼 사용자 cwd의 어댑터 패키지를 찾지 못하던 문제. `<cwd>/node_modules/@jogak/${name}-adapter/package.json`을 직접 읽어 `exports['.'].import` 경로로 해석하도록 변경.
29
+ - **`@jogak/next-adapter`**: 이전 시도의 `__jogak_preview__` 경로는 Next App Router의 private folder convention(`_`로 시작하는 폴더는 라우팅 제외)과 충돌해 404. `jogak-preview`로 변경.
30
+
8
31
  ## [0.1.0-alpha.3] — 2026-05-07
9
32
 
10
33
  ### Added
package/dist/cli.js CHANGED
@@ -121,16 +121,27 @@ function parseGlobalCssFlag(v, fileValue) {
121
121
  return v;
122
122
  }
123
123
  /**
124
- * 알파.7.1: `--preview-isolation` 플래그 normalizer.
125
- * - 미지정 → fileValue ?? 'shadow' (알파.7.1 default 변경)
124
+ * 알파.8: `--preview-isolation` 플래그 normalizer.
125
+ * - 미지정 → fileValue ?? 'iframe' (알파.8 default 변경, 사용자 vite 통합)
126
126
  * - 'none'|'shadow'|'iframe' → 그대로
127
127
  * - 그 외 → exit 1
128
+ *
129
+ * 'shadow'/'none'은 deprecated — warning 출력.
128
130
  */
129
131
  function parsePreviewIsolationFlag(v, fileValue) {
130
- if (v === undefined || v === true)
131
- return fileValue ?? 'shadow';
132
- if (v === 'none' || v === 'shadow' || v === 'iframe')
132
+ if (v === undefined || v === true) {
133
+ const resolved = fileValue ?? 'iframe';
134
+ if (resolved === 'shadow' || resolved === 'none') {
135
+ process.stderr.write(`[jogak] previewIsolation '${resolved}' is deprecated in alpha.8 (사용자 utility 미적용 한계). 'iframe' 권장.\n`);
136
+ }
137
+ return resolved;
138
+ }
139
+ if (v === 'none' || v === 'shadow' || v === 'iframe') {
140
+ if (v === 'shadow' || v === 'none') {
141
+ process.stderr.write(`[jogak] previewIsolation '${v}' is deprecated in alpha.8. 'iframe' 권장.\n`);
142
+ }
133
143
  return v;
144
+ }
134
145
  process.stderr.write(`[jogak] invalid --preview-isolation: ${v} (expected none|shadow|iframe)\n`);
135
146
  process.exit(1);
136
147
  }
@@ -226,6 +237,11 @@ function parseDevArgs(parsed, fileConfig) {
226
237
  // exactOptionalPropertyTypes 컨벤션: undefined는 spread로 분기.
227
238
  ...(globalCss !== undefined ? { globalCss } : {}),
228
239
  previewIsolation: parsePreviewIsolationFlag(parsed.flags['preview-isolation'], fileConfig.previewIsolation),
240
+ // 알파.8 alias (deprecated): userVite — jogak.config.ts에만 노출.
241
+ ...(fileConfig.userVite !== undefined ? { userVite: fileConfig.userVite } : {}),
242
+ // 알파.9: builder/builderOptions — jogak.config.ts에만 노출 (CLI flag 미노출).
243
+ ...(fileConfig.builder !== undefined ? { builder: fileConfig.builder } : {}),
244
+ ...(fileConfig.builderOptions !== undefined ? { builderOptions: fileConfig.builderOptions } : {}),
229
245
  };
230
246
  }
231
247
  function parseBuildArgs(parsed, fileConfig) {
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,13 @@
1
1
  /**
2
2
  * `jogak dev` 명령 구현.
3
3
  *
4
- * `@jogak/ui/host`의 `runHost()`를 호출하는 얇은 어댑터다.
5
- * Vite/React 의존을 직접 import하지 않고, host 모듈을 통해 dynamic import 경로
6
- * 위에서 모두 처리되도록 위임한다.
4
+ * 알파.9: builder-agnostic adapter dispatch.
5
+ * 1. detectBuilder로 사용자 cwd의 빌더 감지 (또는 명시 옵션)
6
+ * 2. loadAdapter로 해당 어댑터 dynamic import
7
+ * 3. adapter.spawnDev로 사용자 빌더의 dev server 시작
8
+ * 4. runHost로 jogak SPA 시작 (adapter dev URL을 iframe src base로)
7
9
  */
10
+ import type { BuilderName, UserViteOptions } from '@jogak/core';
8
11
  export interface DevCliArgs {
9
12
  readonly patterns: readonly string[];
10
13
  readonly port: number;
@@ -14,17 +17,15 @@ export interface DevCliArgs {
14
17
  readonly tsConfigFilePath: string | undefined;
15
18
  readonly codeTheme: string;
16
19
  readonly noGenerate: boolean;
17
- /** 알파.7: 사용자 globalCss 옵션 (config 또는 CLI flag로 결정). */
20
+ /** 알파.7: 사용자 globalCss 옵션. */
18
21
  readonly globalCss?: boolean | string | readonly string[];
19
22
  /** 알파.7: preview 격리 모드. */
20
23
  readonly previewIsolation: 'none' | 'shadow' | 'iframe';
24
+ /** @deprecated 알파.8 alias. 알파.9에서는 builder/builderOptions로 마이그. */
25
+ readonly userVite?: UserViteOptions;
26
+ /** 알파.9: 빌더 명시 (자동 감지가 default). */
27
+ readonly builder?: BuilderName | undefined;
28
+ /** 알파.9: 어댑터별 추가 옵션. */
29
+ readonly builderOptions?: Readonly<Record<string, unknown>>;
21
30
  }
22
- /**
23
- * dev 모드 실행.
24
- *
25
- * 1. `--no-generate`가 아니면 `generateRegistryFile`을 fire-and-forget으로 시작.
26
- * 실패해도 dev 진행 (가상 모듈로 작동하므로).
27
- * 2. `runHost`에 dev 옵션 위임.
28
- * 3. `printUrls()` 출력 후 SIGINT/SIGTERM 핸들러 등록.
29
- */
30
31
  export declare function runDevCommand(args: DevCliArgs): Promise<void>;
@@ -1,46 +1,75 @@
1
1
  /**
2
2
  * `jogak dev` 명령 구현.
3
3
  *
4
- * `@jogak/ui/host`의 `runHost()`를 호출하는 얇은 어댑터다.
5
- * Vite/React 의존을 직접 import하지 않고, host 모듈을 통해 dynamic import 경로
6
- * 위에서 모두 처리되도록 위임한다.
4
+ * 알파.9: builder-agnostic adapter dispatch.
5
+ * 1. detectBuilder로 사용자 cwd의 빌더 감지 (또는 명시 옵션)
6
+ * 2. loadAdapter로 해당 어댑터 dynamic import
7
+ * 3. adapter.spawnDev로 사용자 빌더의 dev server 시작
8
+ * 4. runHost로 jogak SPA 시작 (adapter dev URL을 iframe src base로)
7
9
  */
8
10
  import { generateRegistryFile } from '@jogak/core/build';
11
+ import { detectBuilder } from '@jogak/core/server';
9
12
  import { runHost } from '@jogak/ui/host';
10
- /**
11
- * dev 모드 실행.
12
- *
13
- * 1. `--no-generate`가 아니면 `generateRegistryFile`을 fire-and-forget으로 시작.
14
- * 실패해도 dev 진행 (가상 모듈로 작동하므로).
15
- * 2. `runHost`에 dev 옵션 위임.
16
- * 3. `printUrls()` 출력 후 SIGINT/SIGTERM 핸들러 등록.
17
- */
13
+ import { loadAdapter } from '../load-adapter.js';
18
14
  export async function runDevCommand(args) {
19
- // dev는 가상 모듈로 처리되므로 generate는 IDE 타입체크용 안전망일 뿐.
20
- // blocking으로 두면 큰 카탈로그(500+)에서 cold start 지연 → fire-and-forget으로 둠.
21
15
  if (!args.noGenerate) {
22
16
  const generateStart = Date.now();
23
- const generatePromise = generateRegistryFile(args.tsConfigFilePath !== undefined
24
- ? {
25
- patterns: args.patterns,
26
- cwd: args.cwd,
27
- outFile: '.jogak/registry.ts',
28
- tsConfigFilePath: args.tsConfigFilePath,
29
- }
30
- : {
31
- patterns: args.patterns,
32
- cwd: args.cwd,
33
- outFile: '.jogak/registry.ts',
34
- });
35
- void generatePromise.then((result) => {
17
+ try {
18
+ const result = await generateRegistryFile(args.tsConfigFilePath !== undefined
19
+ ? {
20
+ patterns: args.patterns,
21
+ cwd: args.cwd,
22
+ outFile: '.jogak/registry.ts',
23
+ tsConfigFilePath: args.tsConfigFilePath,
24
+ }
25
+ : {
26
+ patterns: args.patterns,
27
+ cwd: args.cwd,
28
+ outFile: '.jogak/registry.ts',
29
+ });
36
30
  const elapsedMs = Date.now() - generateStart;
37
31
  process.stdout.write(`[jogak] registry regenerated (${result.fileCount.toString()} files, ${elapsedMs.toString()}ms)\n`);
38
- }, (err) => {
39
- // best-effort: dev에서 가상 모듈을 사용하므로 generate 실패는 치명적이지 않음.
32
+ }
33
+ catch (err) {
34
+ // 생성 실패해도 host는 띄울 수 있게 하되, non-vite 어댑터는 빈 registry로 동작.
40
35
  const message = err instanceof Error ? err.message : String(err);
41
36
  process.stderr.write(`[jogak] generate skipped: ${message}\n`);
42
- });
37
+ }
43
38
  }
39
+ // 알파.9: 빌더 감지 + 어댑터 dispatch
40
+ const builderName = args.builder !== undefined && args.builder !== 'custom'
41
+ ? args.builder
42
+ : detectBuilder(args.cwd).name;
43
+ process.stdout.write(`[jogak] builder detected: ${builderName}\n`);
44
+ // 알파.8 userVite alias → builderOptions 변환
45
+ const builderOptions = args.builderOptions ??
46
+ (args.userVite !== undefined && builderName === 'vite'
47
+ ? args.userVite
48
+ : undefined);
49
+ // previewIsolation === 'iframe'(default)에서만 어댑터 spawn.
50
+ // standalone은 spawn 자체를 throw하므로 catch + fallback.
51
+ let adapter;
52
+ let adapterHandle;
53
+ if (args.previewIsolation === 'iframe' && builderName !== 'standalone') {
54
+ try {
55
+ adapter = await loadAdapter(builderName, args.cwd);
56
+ adapterHandle = await adapter.spawnDev({
57
+ cwd: args.cwd,
58
+ ...(args.globalCss !== undefined ? { globalCss: args.globalCss } : {}),
59
+ ...(builderOptions !== undefined ? { extra: builderOptions } : {}),
60
+ });
61
+ process.stdout.write(`[jogak] ${builderName} adapter dev: ${adapterHandle.url}\n`);
62
+ }
63
+ catch (err) {
64
+ const message = err instanceof Error ? err.message : String(err);
65
+ process.stderr.write(`[jogak] adapter '${builderName}' spawn failed: ${message}\n` +
66
+ `[jogak] fallback: jogak SPA만 시작 (사용자 utility 미컴파일).\n`);
67
+ }
68
+ }
69
+ else if (builderName === 'standalone') {
70
+ process.stdout.write(`[jogak] standalone mode: 사용자 utility는 사용자가 사전 빌드한 css에 한정.\n`);
71
+ }
72
+ const previewEntryPath = adapter?.previewEntryMeta.devEntryPath ?? '/preview-frame.html';
44
73
  const devOptions = {
45
74
  mode: 'dev',
46
75
  userRoot: args.cwd,
@@ -52,20 +81,23 @@ export async function runDevCommand(args) {
52
81
  ...(args.tsConfigFilePath !== undefined
53
82
  ? { tsConfigFilePath: args.tsConfigFilePath }
54
83
  : {}),
55
- // 알파.7: host 통로로 plugin 옵션 전달.
56
84
  ...(args.globalCss !== undefined ? { globalCss: args.globalCss } : {}),
57
85
  previewIsolation: args.previewIsolation,
86
+ ...(adapterHandle !== undefined
87
+ ? { userPreviewUrl: adapterHandle.url, previewEntryPath }
88
+ : {}),
58
89
  };
59
90
  const handle = await runHost(devOptions);
60
91
  handle.printUrls();
61
- // 종료 핸들러 — close()는 멱등이지만 한 번만 호출되도록 가드.
62
92
  let shuttingDown = false;
63
93
  const shutdown = () => {
64
94
  if (shuttingDown)
65
95
  return;
66
96
  shuttingDown = true;
67
- handle
68
- .close()
97
+ Promise.all([
98
+ handle.close(),
99
+ adapterHandle !== undefined ? adapterHandle.close() : Promise.resolve(),
100
+ ])
69
101
  .catch((err) => {
70
102
  const message = err instanceof Error ? err.message : String(err);
71
103
  process.stderr.write(`[jogak] dev close error: ${message}\n`);
@@ -1 +1 @@
1
- {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../../src/commands/dev.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import type { BuilderAdapter, BuilderName } from '@jogak/core';
2
+ /**
3
+ * 알파.9: 빌더 이름으로 어댑터 dynamic import.
4
+ *
5
+ * `@jogak/${name}-adapter` 패키지를 사용자 cwd의 node_modules에서 찾아 dynamic import.
6
+ * core가 어떤 adapter도 hard dep로 가지지 않게 하는 패턴. 사용자는 본인 빌더에 맞는
7
+ * adapter만 install.
8
+ *
9
+ * resolution 전략 (수동):
10
+ * 1. `<cwd>/node_modules/@jogak/${name}-adapter/package.json` 읽음
11
+ * 2. `exports['.'].import` 또는 `exports['.'].default`로 ESM entry 찾음
12
+ * 3. 그 path를 file URL로 변환해 dynamic import
13
+ *
14
+ * import.meta.resolve의 parentURL 인자가 Node 22 이전에서 unstable이라 수동 lookup.
15
+ */
16
+ export declare function loadAdapter(name: Exclude<BuilderName, 'custom'>, cwd: string): Promise<BuilderAdapter>;
@@ -0,0 +1,68 @@
1
+ import { existsSync, readFileSync } from 'node:fs';
2
+ import { resolve } from 'node:path';
3
+ import { pathToFileURL } from 'node:url';
4
+ /**
5
+ * 알파.9: 빌더 이름으로 어댑터 dynamic import.
6
+ *
7
+ * `@jogak/${name}-adapter` 패키지를 사용자 cwd의 node_modules에서 찾아 dynamic import.
8
+ * core가 어떤 adapter도 hard dep로 가지지 않게 하는 패턴. 사용자는 본인 빌더에 맞는
9
+ * adapter만 install.
10
+ *
11
+ * resolution 전략 (수동):
12
+ * 1. `<cwd>/node_modules/@jogak/${name}-adapter/package.json` 읽음
13
+ * 2. `exports['.'].import` 또는 `exports['.'].default`로 ESM entry 찾음
14
+ * 3. 그 path를 file URL로 변환해 dynamic import
15
+ *
16
+ * import.meta.resolve의 parentURL 인자가 Node 22 이전에서 unstable이라 수동 lookup.
17
+ */
18
+ export async function loadAdapter(name, cwd) {
19
+ const pkg = `@jogak/${name}-adapter`;
20
+ const pkgRoot = resolve(cwd, 'node_modules', pkg);
21
+ const pkgJsonPath = resolve(pkgRoot, 'package.json');
22
+ if (!existsSync(pkgJsonPath)) {
23
+ throw new Error(`[jogak] adapter '${pkg}' not found in '${cwd}'.\n` +
24
+ `install it: pnpm add -D ${pkg}`);
25
+ }
26
+ let manifest;
27
+ try {
28
+ manifest = JSON.parse(readFileSync(pkgJsonPath, 'utf-8'));
29
+ }
30
+ catch (err) {
31
+ const message = err instanceof Error ? err.message : String(err);
32
+ throw new Error(`[jogak] adapter '${pkg}' package.json read failed.\n` + `original: ${message}`);
33
+ }
34
+ const entryRel = resolveEsmEntry(manifest);
35
+ if (entryRel === undefined) {
36
+ throw new Error(`[jogak] adapter '${pkg}' has no ESM entry (exports['.'].import or module field).`);
37
+ }
38
+ const entryAbs = resolve(pkgRoot, entryRel);
39
+ const entryUrl = pathToFileURL(entryAbs).toString();
40
+ try {
41
+ const mod = (await import(entryUrl));
42
+ return mod.default;
43
+ }
44
+ catch (err) {
45
+ const message = err instanceof Error ? err.message : String(err);
46
+ throw new Error(`[jogak] adapter '${pkg}' import failed.\n` + `original: ${message}`);
47
+ }
48
+ }
49
+ function resolveEsmEntry(manifest) {
50
+ const exportsField = manifest.exports;
51
+ if (exportsField !== undefined) {
52
+ const dot = exportsField['.'];
53
+ if (typeof dot === 'string')
54
+ return dot;
55
+ if (dot !== undefined) {
56
+ if (dot.import !== undefined)
57
+ return dot.import;
58
+ if (dot.default !== undefined)
59
+ return dot.default;
60
+ }
61
+ }
62
+ if (manifest.module !== undefined)
63
+ return manifest.module;
64
+ if (manifest.main !== undefined)
65
+ return manifest.main;
66
+ return undefined;
67
+ }
68
+ //# sourceMappingURL=load-adapter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"load-adapter.js","sourceRoot":"","sources":["../src/load-adapter.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jogak/cli",
3
- "version": "0.1.0-alpha.7.1",
3
+ "version": "0.1.0-alpha.9",
4
4
  "description": "jogak dev / build / generate — CLI for the Jogak component showcase.",
5
5
  "keywords": [
6
6
  "jogak",
@@ -43,8 +43,8 @@
43
43
  "dependencies": {
44
44
  "vite": "^6.0.0",
45
45
  "@vitejs/plugin-react": "^4.3.0",
46
- "@jogak/core": "0.1.0-alpha.7.1",
47
- "@jogak/ui": "0.1.0-alpha.7.1"
46
+ "@jogak/core": "0.1.0-alpha.9",
47
+ "@jogak/ui": "0.1.0-alpha.9"
48
48
  },
49
49
  "devDependencies": {
50
50
  "@types/node": "^20.14.0",