@gaonjs/cli 0.57.1 → 0.57.2
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/dist/commands/build.js +5 -0
- package/dist/dev/build.js +10 -0
- package/package.json +2 -2
package/dist/commands/build.js
CHANGED
|
@@ -6,10 +6,15 @@
|
|
|
6
6
|
// gaon g app 으로 늘린 앱이 별도 손배선 없이 빌드 파이프라인에 자동 편입되게 한다.
|
|
7
7
|
import { regenerateProjectGaon } from './gen.js';
|
|
8
8
|
import { buildAllApps, listFrontendApps } from '../dev/build.js';
|
|
9
|
+
import { defaultNodeEnv } from '../nodeEnv.js';
|
|
9
10
|
/** `gaon build` 진입점. .gaon 재생성 + 전 앱 vite build. */
|
|
10
11
|
export async function runBuildCommand(opts = {}) {
|
|
11
12
|
const cwd = opts.cwd ?? process.cwd();
|
|
12
13
|
const json = opts.json ?? false;
|
|
14
|
+
// 결정 437(결정 430 확장): build 는 프로덕션 산출 명령이다 — serve 와 같이 NODE_ENV=production
|
|
15
|
+
// 을 기본으로 정한다(명시값은 존중 · 빈 값만 채움). 그래야 buildApp 의 mode 파생(NODE_ENV 기준)과
|
|
16
|
+
// vite 의 PROD(NODE_ENV==='production')가 함께 production 이 돼 번들의 MODE·PROD·DEV 가 일관된다.
|
|
17
|
+
defaultNodeEnv('production');
|
|
13
18
|
const log = (line) => {
|
|
14
19
|
if (!json)
|
|
15
20
|
process.stdout.write(line + '\n');
|
package/dist/dev/build.js
CHANGED
|
@@ -49,10 +49,20 @@ export async function buildApp(cwd, app, opts = {}) {
|
|
|
49
49
|
const root = resolve(cwd);
|
|
50
50
|
const appRoot = join(root, 'apps', app);
|
|
51
51
|
const vite = await loadVite();
|
|
52
|
+
// 결정 437: vite build 의 mode 를 NODE_ENV 에 정렬한다. 종전엔 mode 를 안 넘겨
|
|
53
|
+
// vite.build 기본값 'production' 이 그대로 박혔는데, gaon dev(NODE_ENV=development ·
|
|
54
|
+
// 결정 430)에서도 mode='production' 이라 개발 세션 번들이 import.meta.env.MODE='production'
|
|
55
|
+
// 을 보고했다(PROD 은 NODE_ENV 파생이라 false → mode='production'·prod=false 어긋남).
|
|
56
|
+
// NODE_ENV 는 명령이 정하므로(dev→development · build/serve→production · 결정 430) 그것을
|
|
57
|
+
// 단일 원천으로 삼아 mode 를 파생한다. 'production' 일 때만 production, 그 외(development·
|
|
58
|
+
// test·미설정)는 development — 이러면 vite 의 PROD(=NODE_ENV==='production')와 MODE 가 항상
|
|
59
|
+
// 함께 production 이거나 함께 아니어서 PROD===(MODE==='production') 불변식이 성립한다.
|
|
60
|
+
const mode = process.env.NODE_ENV === 'production' ? 'production' : 'development';
|
|
52
61
|
const result = await vite.build({
|
|
53
62
|
configFile: findViteConfig(root, appRoot),
|
|
54
63
|
root: appRoot,
|
|
55
64
|
base: appBase(app),
|
|
65
|
+
mode,
|
|
56
66
|
// onLog 있으면 vite 출력을 그 훅으로 라우팅(customLogger 가 stdout 대신 훅으로).
|
|
57
67
|
// 없으면(예: `gaon build --json`) 완전히 침묵 — vite 진행 로그가 stdout 의 JSON 을
|
|
58
68
|
// 오염시키면 안 된다(클린룸이 마지막 줄을 JSON 으로 파싱 · 결정 146 실측).
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@gaonjs/cli",
|
|
3
|
-
"version": "0.57.
|
|
3
|
+
"version": "0.57.2",
|
|
4
4
|
"description": "Gaon CLI — 스캐폴딩·제너레이터·마이그레이션·dev/serve/work/hub·doctor·check (bin: gaon)",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -36,8 +36,8 @@
|
|
|
36
36
|
"@gaonjs/config": "0.25.1",
|
|
37
37
|
"@gaonjs/core": "0.3.0",
|
|
38
38
|
"@gaonjs/i18n": "0.3.1",
|
|
39
|
-
"@gaonjs/mail": "0.5.1",
|
|
40
39
|
"@gaonjs/web": "0.30.1",
|
|
40
|
+
"@gaonjs/mail": "0.5.1",
|
|
41
41
|
"@gaonjs/data": "0.25.3"
|
|
42
42
|
},
|
|
43
43
|
"scripts": {
|