@simplysm/sd-cli 14.0.38 → 14.0.39
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/angular/angular-build-pipeline.d.ts +1 -1
- package/dist/angular/angular-build-pipeline.js +1 -1
- package/dist/angular/client-transform-stylesheet.d.ts +1 -1
- package/dist/angular/client-transform-stylesheet.js +3 -3
- package/dist/esbuild/esbuild-client-config.d.ts +0 -2
- package/dist/esbuild/esbuild-client-config.d.ts.map +1 -1
- package/dist/esbuild/esbuild-client-config.js +19 -9
- package/dist/esbuild/esbuild-client-config.js.map +1 -1
- package/dist/esbuild/esbuild-postcss-plugin.d.ts +8 -0
- package/dist/esbuild/esbuild-postcss-plugin.d.ts.map +1 -0
- package/dist/esbuild/esbuild-postcss-plugin.js +105 -0
- package/dist/esbuild/esbuild-postcss-plugin.js.map +1 -0
- package/dist/esbuild/esbuild-tsc-plugin.d.ts +23 -0
- package/dist/esbuild/esbuild-tsc-plugin.d.ts.map +1 -0
- package/dist/esbuild/esbuild-tsc-plugin.js +60 -0
- package/dist/esbuild/esbuild-tsc-plugin.js.map +1 -0
- package/dist/workers/client.worker.d.ts.map +1 -1
- package/dist/workers/client.worker.js +32 -2
- package/dist/workers/client.worker.js.map +1 -1
- package/dist/workers/server-build.worker.d.ts.map +1 -1
- package/dist/workers/server-build.worker.js +129 -90
- package/dist/workers/server-build.worker.js.map +1 -1
- package/dist/workers/server-esbuild-context.d.ts +27 -0
- package/dist/workers/server-esbuild-context.d.ts.map +1 -1
- package/dist/workers/server-esbuild-context.js +43 -3
- package/dist/workers/server-esbuild-context.js.map +1 -1
- package/package.json +6 -4
- package/src/angular/angular-build-pipeline.ts +2 -2
- package/src/angular/client-transform-stylesheet.ts +4 -4
- package/src/esbuild/esbuild-client-config.ts +21 -12
- package/src/esbuild/esbuild-postcss-plugin.ts +117 -0
- package/src/esbuild/esbuild-tsc-plugin.ts +83 -0
- package/src/workers/client.worker.ts +32 -2
- package/src/workers/server-build.worker.ts +136 -97
- package/src/workers/server-esbuild-context.ts +59 -3
- package/tests/angular/client-transform-stylesheet.spec.ts +1 -1
- package/tests/esbuild/esbuild-tsc-plugin.acc.spec.ts +349 -0
- package/tests/esbuild/esbuild-tsc-plugin.spec.ts +230 -0
- package/tests/utils/esbuild-client-config-postcss.verify.md +6 -0
- package/tests/utils/esbuild-client-config.acc.spec.ts +26 -14
- package/tests/utils/esbuild-client-config.spec.ts +73 -11
- package/tests/utils/esbuild-postcss-plugin.acc.spec.ts +299 -0
- package/tests/utils/esbuild-postcss-plugin.spec.ts +290 -0
- package/tests/utils/esbuild-scss-plugin.acc.spec.ts +1 -0
- package/tests/workers/server-build-lint.spec.ts +43 -0
- package/tests/workers/server-build-worker-refactoring.verify.md +14 -0
- package/tests/workers/server-build-worker.spec.ts +122 -9
- package/tests/workers/server-esbuild-context-tsc.verify.md +7 -0
- package/tests/workers/server-esbuild-context.acc.spec.ts +156 -2
- package/tests/workers/server-esbuild-context.spec.ts +320 -2
|
@@ -7,6 +7,7 @@ import { parseTsconfig, getPackageSourceFiles, } from "../utils/tsconfig.js";
|
|
|
7
7
|
import { createServerEsbuildOptions, writeChangedOutputFiles, } from "../esbuild/esbuild-config.js";
|
|
8
8
|
import { collectAllExternals, generateProductionFiles } from "../deps/server-externals/server-production-files.js";
|
|
9
9
|
import { runTscPackageBuild } from "../utils/tsc-build.js";
|
|
10
|
+
import { createTscPlugin } from "../esbuild/esbuild-tsc-plugin.js";
|
|
10
11
|
import { LintWithProgramRunner } from "../lint/lint-with-program.js";
|
|
11
12
|
import { setupWorkerLifecycle } from "./shared-worker-lifecycle.js";
|
|
12
13
|
import { buildWatchPaths } from "./build-watch-paths.js";
|
|
@@ -21,7 +22,6 @@ let publicWatcher;
|
|
|
21
22
|
let srcWatcher;
|
|
22
23
|
async function cleanup() {
|
|
23
24
|
await esbuildCtx.dispose();
|
|
24
|
-
lastBuilderProgram = undefined;
|
|
25
25
|
const watcherToClose = publicWatcher;
|
|
26
26
|
publicWatcher = undefined;
|
|
27
27
|
const srcWatcherToClose = srcWatcher;
|
|
@@ -48,15 +48,27 @@ async function build(info) {
|
|
|
48
48
|
const entryPoints = getPackageSourceFiles(info.pkgDir, parsedConfig);
|
|
49
49
|
// 외부 모듈 수집
|
|
50
50
|
const external = collectAllExternals(info.pkgDir, info.externals);
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
51
|
+
let jsResult;
|
|
52
|
+
let tscErrors;
|
|
53
|
+
let tscDiagnostics;
|
|
54
|
+
let tscProgram;
|
|
55
|
+
if (info.output.js) {
|
|
56
|
+
// js=true: tsc 플러그인 통합 — 단일 esbuild.build() 호출
|
|
57
|
+
const tscPlugin = createTscPlugin({
|
|
58
|
+
pkgDir: info.pkgDir,
|
|
59
|
+
cwd: info.cwd,
|
|
60
|
+
output: { dts: info.output.dts },
|
|
61
|
+
env: info.output.env,
|
|
62
|
+
includeTests: info.output.includeTests,
|
|
63
|
+
});
|
|
64
|
+
const esbuildOptions = createServerEsbuildOptions({
|
|
65
|
+
pkgDir: info.pkgDir,
|
|
66
|
+
entryPoints,
|
|
67
|
+
env: info.env,
|
|
68
|
+
external,
|
|
69
|
+
});
|
|
70
|
+
jsResult = await esbuild.build({ ...esbuildOptions, plugins: [tscPlugin.plugin] })
|
|
71
|
+
.then(async (result) => {
|
|
60
72
|
if (result.outputFiles) {
|
|
61
73
|
await writeChangedOutputFiles(result.outputFiles);
|
|
62
74
|
}
|
|
@@ -67,33 +79,40 @@ async function build(info) {
|
|
|
67
79
|
errors: errors.length > 0 ? errors : undefined,
|
|
68
80
|
warnings: warnings.length > 0 ? warnings : undefined,
|
|
69
81
|
};
|
|
70
|
-
})
|
|
82
|
+
})
|
|
83
|
+
.catch((err) => ({
|
|
71
84
|
success: false,
|
|
72
85
|
errors: [errNs.message(err)],
|
|
73
86
|
warnings: undefined,
|
|
74
|
-
}))
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
87
|
+
}));
|
|
88
|
+
tscErrors = tscPlugin.getErrors() ?? [];
|
|
89
|
+
tscDiagnostics = tscPlugin.getDiagnostics();
|
|
90
|
+
tscProgram = tscPlugin.getProgram();
|
|
91
|
+
}
|
|
92
|
+
else {
|
|
93
|
+
// js=false: runTscPackageBuild 직접 호출 (플러그인 경유 불가)
|
|
94
|
+
const tscResult = runTscPackageBuild({
|
|
95
|
+
pkgDir: info.pkgDir,
|
|
96
|
+
cwd: info.cwd,
|
|
97
|
+
output: { js: false, dts: info.output.dts },
|
|
98
|
+
parsedConfig,
|
|
99
|
+
env: info.output.env,
|
|
100
|
+
includeTests: info.output.includeTests,
|
|
101
|
+
});
|
|
102
|
+
jsResult = { success: true, errors: undefined, warnings: undefined };
|
|
103
|
+
tscErrors = tscResult.errors ?? [];
|
|
104
|
+
tscDiagnostics = tscResult.diagnostics;
|
|
105
|
+
tscProgram = tscResult.program;
|
|
106
|
+
}
|
|
88
107
|
// lint 실행 (활성화 + program 사용 가능 시)
|
|
89
108
|
let lint;
|
|
90
|
-
if (info.output.lint === true &&
|
|
109
|
+
if (info.output.lint === true && tscProgram != null) {
|
|
91
110
|
logger.debug(`[${info.name}] lint 시작`);
|
|
92
111
|
const lintRunner = new LintWithProgramRunner({
|
|
93
112
|
cwd: info.cwd,
|
|
94
113
|
pkgName: info.name,
|
|
95
114
|
});
|
|
96
|
-
lint = await lintRunner.lint({ program:
|
|
115
|
+
lint = await lintRunner.lint({ program: tscProgram });
|
|
97
116
|
logger.debug(`[${info.name}] lint 완료`);
|
|
98
117
|
}
|
|
99
118
|
// JS 출력이 요청된 경우에만 프로덕션 아티팩트 생성
|
|
@@ -103,14 +122,15 @@ async function build(info) {
|
|
|
103
122
|
await copyPublicFiles(info.pkgDir, false);
|
|
104
123
|
generateProductionFiles(info, external);
|
|
105
124
|
}
|
|
106
|
-
const allErrors = [...(jsResult.errors ?? []), ...
|
|
107
|
-
|
|
125
|
+
const allErrors = [...(jsResult.errors ?? []), ...tscErrors];
|
|
126
|
+
const tscSuccess = tscErrors.length === 0;
|
|
127
|
+
logger.debug(`[${info.name}] server worker build 완료 (js: ${jsResult.success}, tsc: ${tscSuccess})`);
|
|
108
128
|
return {
|
|
109
129
|
build: {
|
|
110
|
-
success: jsResult.success &&
|
|
130
|
+
success: jsResult.success && tscSuccess,
|
|
111
131
|
errors: allErrors.length > 0 ? allErrors : undefined,
|
|
112
132
|
warnings: jsResult.warnings,
|
|
113
|
-
diagnostics:
|
|
133
|
+
diagnostics: tscDiagnostics,
|
|
114
134
|
},
|
|
115
135
|
lint,
|
|
116
136
|
mainJsPath,
|
|
@@ -129,84 +149,103 @@ async function build(info) {
|
|
|
129
149
|
};
|
|
130
150
|
}
|
|
131
151
|
}
|
|
132
|
-
// watch 모드용 가변 상태
|
|
133
|
-
let watchInfo;
|
|
134
|
-
let watchLintRunner;
|
|
135
|
-
let lastBuilderProgram;
|
|
136
|
-
/**
|
|
137
|
-
* esbuild + tsc 병렬 리빌드 (watch 모드)
|
|
138
|
-
*/
|
|
139
|
-
async function rebuildAll() {
|
|
140
|
-
const info = watchInfo;
|
|
141
|
-
logger.debug(`[${info.name}] rebuildAll 시작`);
|
|
142
|
-
const mainJsPath = pathx.posixResolve(info.pkgDir, "dist", "main.js");
|
|
143
|
-
const parsedConfig = parseTsconfig(info.pkgDir);
|
|
144
|
-
// esbuild 리빌드 (비동기)
|
|
145
|
-
const esbuildPromise = info.output.js ? esbuildCtx.rebuild() : null;
|
|
146
|
-
// tsc 리빌드 (동기, 증분)
|
|
147
|
-
const tscResult = runTscPackageBuild({
|
|
148
|
-
pkgDir: info.pkgDir,
|
|
149
|
-
cwd: info.cwd,
|
|
150
|
-
output: { js: false, dts: info.output.dts },
|
|
151
|
-
parsedConfig,
|
|
152
|
-
env: info.output.env,
|
|
153
|
-
includeTests: info.output.includeTests,
|
|
154
|
-
oldBuilderProgram: lastBuilderProgram,
|
|
155
|
-
});
|
|
156
|
-
lastBuilderProgram = tscResult.builderProgram ?? lastBuilderProgram;
|
|
157
|
-
// lint 실행 (활성화 + program 사용 가능 시)
|
|
158
|
-
let lint;
|
|
159
|
-
if (info.output.lint === true && tscResult.program != null) {
|
|
160
|
-
logger.debug(`[${info.name}] lint 시작`);
|
|
161
|
-
if (watchLintRunner == null) {
|
|
162
|
-
watchLintRunner = new LintWithProgramRunner({
|
|
163
|
-
cwd: info.cwd,
|
|
164
|
-
pkgName: info.name,
|
|
165
|
-
});
|
|
166
|
-
}
|
|
167
|
-
lint = await watchLintRunner.lint({
|
|
168
|
-
program: tscResult.program,
|
|
169
|
-
affectedFiles: tscResult.affectedFiles,
|
|
170
|
-
});
|
|
171
|
-
logger.debug(`[${info.name}] lint 완료`);
|
|
172
|
-
}
|
|
173
|
-
const jsResult = esbuildPromise != null
|
|
174
|
-
? (await esbuildPromise) ?? { success: true, errors: undefined, warnings: undefined }
|
|
175
|
-
: { success: true, errors: undefined, warnings: undefined };
|
|
176
|
-
const allErrors = [...(jsResult.errors ?? []), ...(tscResult.errors ?? [])];
|
|
177
|
-
logger.debug(`[${info.name}] rebuildAll 완료`);
|
|
178
|
-
return {
|
|
179
|
-
build: {
|
|
180
|
-
success: jsResult.success && tscResult.success,
|
|
181
|
-
errors: allErrors.length > 0 ? allErrors : undefined,
|
|
182
|
-
warnings: jsResult.warnings,
|
|
183
|
-
},
|
|
184
|
-
lint,
|
|
185
|
-
mainJsPath,
|
|
186
|
-
};
|
|
187
|
-
}
|
|
188
152
|
/**
|
|
189
153
|
* watch 모드 시작
|
|
190
154
|
*/
|
|
191
155
|
async function startWatch(info) {
|
|
192
156
|
guardStartWatch();
|
|
193
|
-
watchInfo = info;
|
|
194
157
|
logger.debug(`[${info.name}] server worker startWatch 시작`);
|
|
158
|
+
// watch 모드 로컬 상태 (클로저로 관리)
|
|
159
|
+
let lastBuilderProgram;
|
|
160
|
+
let watchLintRunner;
|
|
161
|
+
/**
|
|
162
|
+
* esbuild + tsc 리빌드 (watch 모드)
|
|
163
|
+
* js=true: esbuildCtx.rebuild() 단일 호출 (tsc 플러그인 자동 트리거)
|
|
164
|
+
* js=false: runTscPackageBuild 직접 호출
|
|
165
|
+
*/
|
|
166
|
+
async function rebuildAll() {
|
|
167
|
+
logger.debug(`[${info.name}] rebuildAll 시작`);
|
|
168
|
+
const mainJsPath = pathx.posixResolve(info.pkgDir, "dist", "main.js");
|
|
169
|
+
let jsResult;
|
|
170
|
+
let tscProgram;
|
|
171
|
+
let tscAffectedFiles;
|
|
172
|
+
let tscErrors;
|
|
173
|
+
if (info.output.js) {
|
|
174
|
+
// js=true: esbuildCtx.rebuild() 단일 호출 (tsc 에러 자동 병합)
|
|
175
|
+
const rebuildResult = await esbuildCtx.rebuild();
|
|
176
|
+
jsResult = rebuildResult ?? { success: true, errors: undefined, warnings: undefined };
|
|
177
|
+
tscProgram = esbuildCtx.getTscProgram();
|
|
178
|
+
tscAffectedFiles = esbuildCtx.getTscAffectedFiles();
|
|
179
|
+
tscErrors = [];
|
|
180
|
+
}
|
|
181
|
+
else {
|
|
182
|
+
// js=false: runTscPackageBuild 직접 호출
|
|
183
|
+
const parsedConfig = parseTsconfig(info.pkgDir);
|
|
184
|
+
const tscResult = runTscPackageBuild({
|
|
185
|
+
pkgDir: info.pkgDir,
|
|
186
|
+
cwd: info.cwd,
|
|
187
|
+
output: { js: false, dts: info.output.dts },
|
|
188
|
+
parsedConfig,
|
|
189
|
+
env: info.output.env,
|
|
190
|
+
includeTests: info.output.includeTests,
|
|
191
|
+
oldBuilderProgram: lastBuilderProgram,
|
|
192
|
+
});
|
|
193
|
+
lastBuilderProgram = tscResult.builderProgram ?? lastBuilderProgram;
|
|
194
|
+
jsResult = { success: true, errors: undefined, warnings: undefined };
|
|
195
|
+
tscProgram = tscResult.program;
|
|
196
|
+
tscAffectedFiles = tscResult.affectedFiles;
|
|
197
|
+
tscErrors = tscResult.errors ?? [];
|
|
198
|
+
}
|
|
199
|
+
// lint 실행 (활성화 + program 사용 가능 시)
|
|
200
|
+
let lint;
|
|
201
|
+
if (info.output.lint === true && tscProgram != null) {
|
|
202
|
+
logger.debug(`[${info.name}] lint 시작`);
|
|
203
|
+
if (watchLintRunner == null) {
|
|
204
|
+
watchLintRunner = new LintWithProgramRunner({
|
|
205
|
+
cwd: info.cwd,
|
|
206
|
+
pkgName: info.name,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
209
|
+
lint = await watchLintRunner.lint({
|
|
210
|
+
program: tscProgram,
|
|
211
|
+
affectedFiles: tscAffectedFiles,
|
|
212
|
+
});
|
|
213
|
+
logger.debug(`[${info.name}] lint 완료`);
|
|
214
|
+
}
|
|
215
|
+
const allErrors = [...(jsResult.errors ?? []), ...tscErrors];
|
|
216
|
+
const allSuccess = jsResult.success && tscErrors.length === 0;
|
|
217
|
+
logger.debug(`[${info.name}] rebuildAll 완료`);
|
|
218
|
+
return {
|
|
219
|
+
build: {
|
|
220
|
+
success: allSuccess,
|
|
221
|
+
errors: allErrors.length > 0 ? allErrors : undefined,
|
|
222
|
+
warnings: jsResult.warnings,
|
|
223
|
+
},
|
|
224
|
+
lint,
|
|
225
|
+
mainJsPath,
|
|
226
|
+
};
|
|
227
|
+
}
|
|
195
228
|
try {
|
|
196
229
|
const parsedConfig = parseTsconfig(info.pkgDir);
|
|
197
230
|
const entryPoints = getPackageSourceFiles(info.pkgDir, parsedConfig);
|
|
198
231
|
// 외부 모듈 수집 (watch 모드용 — watch manager가 자체 캐시를 유지)
|
|
199
232
|
const cachedExternal = collectAllExternals(info.pkgDir, info.externals);
|
|
200
|
-
// esbuild 컨텍스트 생성 (JS 출력 필요
|
|
233
|
+
// esbuild 컨텍스트 생성 (JS 출력 필요 시, tsc 플러그인 포함)
|
|
201
234
|
if (info.output.js) {
|
|
202
235
|
await esbuildCtx.createContext({
|
|
203
236
|
pkgDir: info.pkgDir,
|
|
204
237
|
entryPoints,
|
|
205
238
|
env: info.env,
|
|
206
239
|
external: cachedExternal,
|
|
240
|
+
tsc: {
|
|
241
|
+
cwd: info.cwd,
|
|
242
|
+
output: { dts: info.output.dts },
|
|
243
|
+
env: info.output.env,
|
|
244
|
+
includeTests: info.output.includeTests,
|
|
245
|
+
},
|
|
207
246
|
});
|
|
208
247
|
}
|
|
209
|
-
// 초기
|
|
248
|
+
// 초기 빌드
|
|
210
249
|
sender.send("buildStart", {});
|
|
211
250
|
const initialResult = await rebuildAll();
|
|
212
251
|
// 첫 빌드 시 .config.json 작성
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-build.worker.js","sourceRoot":"","sources":["../../src/workers/server-build.worker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"server-build.worker.js","sourceRoot":"","sources":["../../src/workers/server-build.worker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
|
+
import type ts from "typescript";
|
|
1
2
|
import esbuild from "esbuild";
|
|
3
|
+
import type { TypecheckEnv } from "../utils/tsconfig";
|
|
4
|
+
import type { SerializedDiagnostic } from "../typecheck/typecheck-serialization";
|
|
2
5
|
/**
|
|
3
6
|
* esbuild watch context 생성 옵션
|
|
4
7
|
*/
|
|
@@ -7,6 +10,15 @@ export interface EsbuildContextOptions {
|
|
|
7
10
|
entryPoints: string[];
|
|
8
11
|
env?: Record<string, string>;
|
|
9
12
|
external: string[];
|
|
13
|
+
/** tsc 플러그인 옵션. 제공 시 createTscPlugin으로 플러그인을 생성하여 esbuild context에 포함한다. */
|
|
14
|
+
tsc?: {
|
|
15
|
+
cwd: string;
|
|
16
|
+
output: {
|
|
17
|
+
dts: boolean;
|
|
18
|
+
};
|
|
19
|
+
env?: TypecheckEnv;
|
|
20
|
+
includeTests?: boolean;
|
|
21
|
+
};
|
|
10
22
|
}
|
|
11
23
|
/**
|
|
12
24
|
* esbuild watch context를 생성한다.
|
|
@@ -44,4 +56,19 @@ export declare function getMetafile(): esbuild.Metafile | undefined;
|
|
|
44
56
|
* esbuild context 존재 여부를 반환한다.
|
|
45
57
|
*/
|
|
46
58
|
export declare function hasContext(): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* tsc 플러그인의 ts.Program을 반환한다.
|
|
61
|
+
* 플러그인이 없으면 undefined를 반환한다.
|
|
62
|
+
*/
|
|
63
|
+
export declare function getTscProgram(): ts.Program | undefined;
|
|
64
|
+
/**
|
|
65
|
+
* tsc 플러그인의 affected files를 반환한다.
|
|
66
|
+
* 플러그인이 없으면 undefined를 반환한다.
|
|
67
|
+
*/
|
|
68
|
+
export declare function getTscAffectedFiles(): ReadonlySet<string> | undefined;
|
|
69
|
+
/**
|
|
70
|
+
* tsc 플러그인의 diagnostics를 반환한다.
|
|
71
|
+
* 플러그인이 없으면 빈 배열을 반환한다.
|
|
72
|
+
*/
|
|
73
|
+
export declare function getTscDiagnostics(): SerializedDiagnostic[];
|
|
47
74
|
//# sourceMappingURL=server-esbuild-context.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-esbuild-context.d.ts","sourceRoot":"","sources":["../../src/workers/server-esbuild-context.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAM9B;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"server-esbuild-context.d.ts","sourceRoot":"","sources":["../../src/workers/server-esbuild-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AACjC,OAAO,OAAO,MAAM,SAAS,CAAC;AAM9B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEjF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,4EAA4E;IAC5E,GAAG,CAAC,EAAE;QACJ,GAAG,EAAE,MAAM,CAAC;QACZ,MAAM,EAAE;YAAE,GAAG,EAAE,OAAO,CAAA;SAAE,CAAC;QACzB,GAAG,CAAC,EAAE,YAAY,CAAC;QACnB,YAAY,CAAC,EAAE,OAAO,CAAC;KACxB,CAAC;CACH;AAWD;;;GAGG;AACH,wBAAsB,aAAa,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAyBjF;AAED;;;GAGG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC;IACvC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB,GAAG,IAAI,CAAC,CAuBR;AAED;;;;;;;;GAQG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,IAAI,CAAC,CAgBnF;AAED;;GAEG;AACH,wBAAsB,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAS7C;AAED;;GAEG;AACH,wBAAgB,WAAW,IAAI,OAAO,CAAC,QAAQ,GAAG,SAAS,CAE1D;AAED;;GAEG;AACH,wBAAgB,UAAU,IAAI,OAAO,CAEpC;AAED;;;GAGG;AACH,wBAAgB,aAAa,IAAI,EAAE,CAAC,OAAO,GAAG,SAAS,CAEtD;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAErE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,oBAAoB,EAAE,CAE1D"}
|
|
@@ -1,14 +1,26 @@
|
|
|
1
1
|
import esbuild from "esbuild";
|
|
2
2
|
import { createServerEsbuildOptions, writeChangedOutputFiles, } from "../esbuild/esbuild-config.js";
|
|
3
|
+
import { createTscPlugin } from "../esbuild/esbuild-tsc-plugin.js";
|
|
3
4
|
/** esbuild watch context (모듈 스코프 상태) */
|
|
4
5
|
let context;
|
|
5
6
|
/** 마지막 빌드의 metafile (변경 필터링용) */
|
|
6
7
|
let lastMetafile;
|
|
8
|
+
/** tsc 플러그인 인스턴스 (모듈 스코프 상태) */
|
|
9
|
+
let tscPlugin;
|
|
7
10
|
/**
|
|
8
11
|
* esbuild watch context를 생성한다.
|
|
9
12
|
* dev 모드 전용 (metafile:true, write:false).
|
|
10
13
|
*/
|
|
11
14
|
export async function createContext(options) {
|
|
15
|
+
if (options.tsc != null) {
|
|
16
|
+
tscPlugin = createTscPlugin({
|
|
17
|
+
pkgDir: options.pkgDir,
|
|
18
|
+
cwd: options.tsc.cwd,
|
|
19
|
+
output: options.tsc.output,
|
|
20
|
+
env: options.tsc.env,
|
|
21
|
+
includeTests: options.tsc.includeTests,
|
|
22
|
+
});
|
|
23
|
+
}
|
|
12
24
|
const baseOptions = createServerEsbuildOptions({
|
|
13
25
|
pkgDir: options.pkgDir,
|
|
14
26
|
entryPoints: options.entryPoints,
|
|
@@ -18,6 +30,7 @@ export async function createContext(options) {
|
|
|
18
30
|
});
|
|
19
31
|
context = await esbuild.context({
|
|
20
32
|
...baseOptions,
|
|
33
|
+
plugins: tscPlugin != null ? [tscPlugin.plugin] : [],
|
|
21
34
|
metafile: true,
|
|
22
35
|
write: false,
|
|
23
36
|
});
|
|
@@ -36,11 +49,13 @@ export async function rebuild() {
|
|
|
36
49
|
if (result.outputFiles) {
|
|
37
50
|
await writeChangedOutputFiles(result.outputFiles);
|
|
38
51
|
}
|
|
39
|
-
const
|
|
52
|
+
const esbuildErrors = result.errors.map((e) => e.text);
|
|
53
|
+
const tscErrors = tscPlugin?.getErrors() ?? [];
|
|
54
|
+
const allErrors = [...esbuildErrors, ...tscErrors];
|
|
40
55
|
const warnings = result.warnings.map((w) => w.text);
|
|
41
56
|
return {
|
|
42
|
-
success:
|
|
43
|
-
errors:
|
|
57
|
+
success: allErrors.length === 0,
|
|
58
|
+
errors: allErrors.length > 0 ? allErrors : undefined,
|
|
44
59
|
warnings: warnings.length > 0 ? warnings : undefined,
|
|
45
60
|
};
|
|
46
61
|
}
|
|
@@ -57,6 +72,9 @@ export async function recreateContext(options) {
|
|
|
57
72
|
const oldContext = context;
|
|
58
73
|
context = undefined;
|
|
59
74
|
lastMetafile = undefined;
|
|
75
|
+
if (tscPlugin != null) {
|
|
76
|
+
tscPlugin.resetBuilderProgram();
|
|
77
|
+
}
|
|
60
78
|
try {
|
|
61
79
|
await createContext(options);
|
|
62
80
|
}
|
|
@@ -73,6 +91,7 @@ export async function dispose() {
|
|
|
73
91
|
const contextToDispose = context;
|
|
74
92
|
context = undefined;
|
|
75
93
|
lastMetafile = undefined;
|
|
94
|
+
tscPlugin = undefined;
|
|
76
95
|
if (contextToDispose != null) {
|
|
77
96
|
await contextToDispose.dispose();
|
|
78
97
|
}
|
|
@@ -89,4 +108,25 @@ export function getMetafile() {
|
|
|
89
108
|
export function hasContext() {
|
|
90
109
|
return context != null;
|
|
91
110
|
}
|
|
111
|
+
/**
|
|
112
|
+
* tsc 플러그인의 ts.Program을 반환한다.
|
|
113
|
+
* 플러그인이 없으면 undefined를 반환한다.
|
|
114
|
+
*/
|
|
115
|
+
export function getTscProgram() {
|
|
116
|
+
return tscPlugin?.getProgram();
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* tsc 플러그인의 affected files를 반환한다.
|
|
120
|
+
* 플러그인이 없으면 undefined를 반환한다.
|
|
121
|
+
*/
|
|
122
|
+
export function getTscAffectedFiles() {
|
|
123
|
+
return tscPlugin?.getAffectedFiles();
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* tsc 플러그인의 diagnostics를 반환한다.
|
|
127
|
+
* 플러그인이 없으면 빈 배열을 반환한다.
|
|
128
|
+
*/
|
|
129
|
+
export function getTscDiagnostics() {
|
|
130
|
+
return tscPlugin?.getDiagnostics() ?? [];
|
|
131
|
+
}
|
|
92
132
|
//# sourceMappingURL=server-esbuild-context.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server-esbuild-context.js","sourceRoot":"","sources":["../../src/workers/server-esbuild-context.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"server-esbuild-context.js","sourceRoot":"","sources":["../../src/workers/server-esbuild-context.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@simplysm/sd-cli",
|
|
3
|
-
"version": "14.0.
|
|
3
|
+
"version": "14.0.39",
|
|
4
4
|
"description": "Simplysm package - CLI tool",
|
|
5
5
|
"author": "simplysm",
|
|
6
6
|
"license": "Apache-2.0",
|
|
@@ -19,6 +19,8 @@
|
|
|
19
19
|
],
|
|
20
20
|
"sideEffects": false,
|
|
21
21
|
"dependencies": {
|
|
22
|
+
"acorn": "^8.14.1",
|
|
23
|
+
"acorn-walk": "^8.3.4",
|
|
22
24
|
"@angular/build": "^21.2.7",
|
|
23
25
|
"@angular/compiler-cli": "^21.2.8",
|
|
24
26
|
"@fastify/http-proxy": "^11.4.3",
|
|
@@ -38,9 +40,9 @@
|
|
|
38
40
|
"typescript": "^5.9.3",
|
|
39
41
|
"ws": "^8.20.0",
|
|
40
42
|
"yargs": "^18.0.0",
|
|
41
|
-
"@simplysm/core-common": "14.0.
|
|
42
|
-
"@simplysm/core-node": "14.0.
|
|
43
|
-
"@simplysm/storage": "14.0.
|
|
43
|
+
"@simplysm/core-common": "14.0.39",
|
|
44
|
+
"@simplysm/core-node": "14.0.39",
|
|
45
|
+
"@simplysm/storage": "14.0.39"
|
|
44
46
|
},
|
|
45
47
|
"devDependencies": {
|
|
46
48
|
"@types/semver": "^7.7.1",
|
|
@@ -65,7 +65,7 @@ export interface AngularBuildPipelineOptions {
|
|
|
65
65
|
compilerOptionsTransformer?: (opts: ts.CompilerOptions) => ts.CompilerOptions;
|
|
66
66
|
|
|
67
67
|
// client 모드 전용
|
|
68
|
-
|
|
68
|
+
postcssPlugins?: unknown[];
|
|
69
69
|
scssCacheDir?: string;
|
|
70
70
|
}
|
|
71
71
|
|
|
@@ -210,7 +210,7 @@ export class AngularBuildPipeline {
|
|
|
210
210
|
this._options.mode === "client"
|
|
211
211
|
? createClientTransformStylesheet({
|
|
212
212
|
loadPaths,
|
|
213
|
-
|
|
213
|
+
postcssPlugins: this._options.postcssPlugins,
|
|
214
214
|
scssErrors: this._scssErrors,
|
|
215
215
|
scssDependencies: this._scssDependencies,
|
|
216
216
|
cacheDir: this._options.scssCacheDir,
|
|
@@ -6,7 +6,7 @@ import { compileScssFileAsync, compileScssStringAsync } from "./scss-compiler.js
|
|
|
6
6
|
|
|
7
7
|
export interface ClientTransformStylesheetOptions {
|
|
8
8
|
loadPaths: string[];
|
|
9
|
-
|
|
9
|
+
postcssPlugins?: unknown[];
|
|
10
10
|
scssErrors: string[];
|
|
11
11
|
scssDependencies: Map<string, Set<string>>;
|
|
12
12
|
/** SCSS 캐시 디렉토리 (미지정 시 캐시 비활성화) */
|
|
@@ -57,11 +57,11 @@ async function readFileHash(filePath: string): Promise<string | undefined> {
|
|
|
57
57
|
export function createClientTransformStylesheet(
|
|
58
58
|
options: ClientTransformStylesheetOptions,
|
|
59
59
|
): (data: string, containingFile: string, stylesheetFile?: string) => Promise<string | null> {
|
|
60
|
-
const { loadPaths,
|
|
60
|
+
const { loadPaths, postcssPlugins, scssErrors, scssDependencies, cacheDir } = options;
|
|
61
61
|
|
|
62
62
|
const postCssProcessor =
|
|
63
|
-
|
|
64
|
-
? postcss(
|
|
63
|
+
postcssPlugins != null && postcssPlugins.length > 0
|
|
64
|
+
? postcss(postcssPlugins as postcss.AcceptedPlugin[])
|
|
65
65
|
: undefined;
|
|
66
66
|
|
|
67
67
|
return async (
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
import path from "path";
|
|
2
2
|
import fs from "fs";
|
|
3
|
+
import { createRequire } from "module";
|
|
3
4
|
import esbuild from "esbuild";
|
|
4
5
|
import browserslistToEsbuild from "browserslist-to-esbuild";
|
|
6
|
+
import type { AcceptedPlugin } from "postcss";
|
|
5
7
|
import {
|
|
6
8
|
createCompilerPlugin,
|
|
7
9
|
SourceFileCache,
|
|
@@ -9,6 +11,7 @@ import {
|
|
|
9
11
|
type BundleStylesheetOptions,
|
|
10
12
|
} from "@angular/build/private";
|
|
11
13
|
import { createScssPlugin } from "./esbuild-scss-plugin";
|
|
14
|
+
import { createPostcssPlugin } from "./esbuild-postcss-plugin";
|
|
12
15
|
|
|
13
16
|
export interface CreateClientEsbuildOptions {
|
|
14
17
|
/** 패키지 디렉토리 경로 */
|
|
@@ -29,8 +32,6 @@ export interface CreateClientEsbuildOptions {
|
|
|
29
32
|
onEnd?: (result: esbuild.BuildResult) => void | Promise<void>;
|
|
30
33
|
/** PostCSS 플러그인 ([name, options] 튜플 배열) */
|
|
31
34
|
postcssPlugins?: [string, (object | string)?][];
|
|
32
|
-
/** PostCSS 설정 기준 경로 */
|
|
33
|
-
postcssConfigPath?: string;
|
|
34
35
|
/** 빌드 출력 경로 (기본: pkgDir/dist) */
|
|
35
36
|
outdir?: string;
|
|
36
37
|
/** browserslist 쿼리. 미설정 시 "es2022" 기본값 */
|
|
@@ -91,18 +92,23 @@ export async function createClientEsbuildContext(
|
|
|
91
92
|
path: cachePath,
|
|
92
93
|
basePath: cachePath,
|
|
93
94
|
},
|
|
94
|
-
postcssConfiguration:
|
|
95
|
-
options.postcssPlugins != null
|
|
96
|
-
? {
|
|
97
|
-
config: { plugins: options.postcssPlugins },
|
|
98
|
-
configPath: options.postcssConfigPath ?? options.pkgDir,
|
|
99
|
-
}
|
|
100
|
-
: undefined,
|
|
95
|
+
postcssConfiguration: undefined,
|
|
101
96
|
inlineStyleLanguage: "scss",
|
|
102
97
|
};
|
|
103
98
|
|
|
104
99
|
const angularPlugin = createCompilerPlugin(pluginOptions, styleOptions);
|
|
105
100
|
|
|
101
|
+
// PostCSS 플러그인 로딩 (튜플 → 인스턴스)
|
|
102
|
+
let loadedPostcssPlugins: AcceptedPlugin[] | undefined;
|
|
103
|
+
if (options.postcssPlugins != null && options.postcssPlugins.length > 0) {
|
|
104
|
+
const req = createRequire(path.join(options.pkgDir, "package.json"));
|
|
105
|
+
loadedPostcssPlugins = options.postcssPlugins.map(([name, pluginOpts]) => {
|
|
106
|
+
const pluginFn = req(name);
|
|
107
|
+
const fn = pluginFn.default ?? pluginFn;
|
|
108
|
+
return pluginOpts != null ? fn(pluginOpts) : fn;
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
|
|
106
112
|
// SCSS side-effect import 처리 플러그인
|
|
107
113
|
const scssPlugin = createScssPlugin({
|
|
108
114
|
loadPaths: [
|
|
@@ -126,10 +132,10 @@ export async function createClientEsbuildContext(
|
|
|
126
132
|
}
|
|
127
133
|
|
|
128
134
|
// 커스텀 env
|
|
135
|
+
// esbuild define은 정적 패턴만 치환하므로, import.meta.env 객체 자체를 주입해야
|
|
136
|
+
// env() 함수의 동적 접근(import.meta.env?.[key])이 동작한다.
|
|
129
137
|
if (options.env != null) {
|
|
130
|
-
|
|
131
|
-
define[`import.meta.env.${key}`] = JSON.stringify(value);
|
|
132
|
-
}
|
|
138
|
+
define["import.meta.env"] = JSON.stringify(options.env);
|
|
133
139
|
}
|
|
134
140
|
|
|
135
141
|
// import.meta.hot 폴리필 banner (Angular HMR 런타임용)
|
|
@@ -187,6 +193,9 @@ export async function createClientEsbuildContext(
|
|
|
187
193
|
angularPlugin,
|
|
188
194
|
scssPlugin,
|
|
189
195
|
...(options.plugins ?? []),
|
|
196
|
+
...(loadedPostcssPlugins != null
|
|
197
|
+
? [createPostcssPlugin({ plugins: loadedPostcssPlugins })]
|
|
198
|
+
: []),
|
|
190
199
|
...(options.legacyModule === true
|
|
191
200
|
? [
|
|
192
201
|
{
|