@simplysm/sd-cli 14.0.11 → 14.0.13
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/README.md +58 -253
- package/dist/angular/client-transform-stylesheet.js +1 -1
- package/dist/angular/client-transform-stylesheet.js.map +1 -1
- package/dist/angular/vite-angular-plugin.d.ts +4 -2
- package/dist/angular/vite-angular-plugin.d.ts.map +1 -1
- package/dist/angular/vite-angular-plugin.js +73 -36
- package/dist/angular/vite-angular-plugin.js.map +1 -1
- package/dist/angular/vite-postcss-inline-plugin.d.ts +1 -1
- package/dist/angular/vite-postcss-inline-plugin.js +1 -1
- package/dist/capacitor/capacitor.d.ts +20 -2
- package/dist/capacitor/capacitor.d.ts.map +1 -1
- package/dist/capacitor/capacitor.js +155 -28
- package/dist/capacitor/capacitor.js.map +1 -1
- package/dist/commands/build.d.ts +3 -10
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +3 -10
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/check.js +3 -3
- package/dist/commands/check.js.map +1 -1
- package/dist/commands/dev.d.ts +3 -9
- package/dist/commands/dev.d.ts.map +1 -1
- package/dist/commands/dev.js +3 -9
- package/dist/commands/dev.js.map +1 -1
- package/dist/commands/device.d.ts +3 -3
- package/dist/commands/device.js +5 -5
- package/dist/commands/device.js.map +1 -1
- package/dist/commands/publish.d.ts +1 -1
- package/dist/commands/publish.d.ts.map +1 -1
- package/dist/commands/publish.js +24 -26
- package/dist/commands/publish.js.map +1 -1
- package/dist/commands/replace-deps.d.ts +3 -3
- package/dist/commands/replace-deps.d.ts.map +1 -1
- package/dist/commands/replace-deps.js +1 -1
- package/dist/commands/typecheck.d.ts +4 -3
- package/dist/commands/typecheck.d.ts.map +1 -1
- package/dist/commands/typecheck.js +5 -11
- package/dist/commands/typecheck.js.map +1 -1
- package/dist/commands/watch.d.ts +9 -9
- package/dist/commands/watch.js +9 -9
- package/dist/electron/electron.d.ts.map +1 -1
- package/dist/electron/electron.js +42 -3
- package/dist/electron/electron.js.map +1 -1
- package/dist/engines/BaseEngine.d.ts +1 -1
- package/dist/engines/BaseEngine.d.ts.map +1 -1
- package/dist/engines/BaseEngine.js +3 -1
- package/dist/engines/BaseEngine.js.map +1 -1
- package/dist/engines/NgtscEngine.d.ts +7 -7
- package/dist/engines/NgtscEngine.d.ts.map +1 -1
- package/dist/engines/NgtscEngine.js +3 -3
- package/dist/engines/ServerEsbuildEngine.d.ts +7 -7
- package/dist/engines/ServerEsbuildEngine.d.ts.map +1 -1
- package/dist/engines/ServerEsbuildEngine.js +3 -3
- package/dist/engines/TscEngine.d.ts +7 -7
- package/dist/engines/TscEngine.d.ts.map +1 -1
- package/dist/engines/TscEngine.js +3 -3
- package/dist/engines/ViteEngine.d.ts +7 -1
- package/dist/engines/ViteEngine.d.ts.map +1 -1
- package/dist/engines/ViteEngine.js +13 -12
- package/dist/engines/ViteEngine.js.map +1 -1
- package/dist/engines/index.d.ts +9 -5
- package/dist/engines/index.d.ts.map +1 -1
- package/dist/engines/index.js +7 -5
- package/dist/engines/index.js.map +1 -1
- package/dist/engines/types.d.ts +20 -20
- package/dist/engines/types.d.ts.map +1 -1
- package/dist/infra/ResultCollector.d.ts +9 -9
- package/dist/infra/ResultCollector.js +8 -8
- package/dist/infra/SignalHandler.d.ts +7 -7
- package/dist/infra/SignalHandler.js +7 -7
- package/dist/infra/WorkerManager.d.ts +14 -14
- package/dist/infra/WorkerManager.js +14 -14
- package/dist/orchestrators/BuildOrchestrator.d.ts +25 -25
- package/dist/orchestrators/BuildOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/BuildOrchestrator.js +34 -30
- package/dist/orchestrators/BuildOrchestrator.js.map +1 -1
- package/dist/orchestrators/DevWatchOrchestrator.d.ts +7 -7
- package/dist/orchestrators/DevWatchOrchestrator.d.ts.map +1 -1
- package/dist/orchestrators/DevWatchOrchestrator.js +34 -34
- package/dist/orchestrators/DevWatchOrchestrator.js.map +1 -1
- package/dist/sd-cli-entry.d.ts +2 -2
- package/dist/sd-cli-entry.d.ts.map +1 -1
- package/dist/sd-cli-entry.js +15 -8
- package/dist/sd-cli-entry.js.map +1 -1
- package/dist/sd-cli.d.ts +3 -3
- package/dist/sd-cli.js +16 -16
- package/dist/sd-cli.js.map +1 -1
- package/dist/sd-config.types.d.ts +105 -105
- package/dist/sd-config.types.d.ts.map +1 -1
- package/dist/utils/angular-compiler.js +5 -5
- package/dist/utils/angular-compiler.js.map +1 -1
- package/dist/utils/build-env.d.ts +1 -1
- package/dist/utils/build-env.js +1 -1
- package/dist/utils/concurrency.d.ts +7 -7
- package/dist/utils/concurrency.js +7 -7
- package/dist/utils/copy-public.d.ts +9 -9
- package/dist/utils/copy-public.js +17 -17
- package/dist/utils/copy-public.js.map +1 -1
- package/dist/utils/copy-src.d.ts +9 -9
- package/dist/utils/copy-src.js +11 -11
- package/dist/utils/copy-src.js.map +1 -1
- package/dist/utils/engine-stop.d.ts +8 -9
- package/dist/utils/engine-stop.d.ts.map +1 -1
- package/dist/utils/engine-stop.js +9 -10
- package/dist/utils/engine-stop.js.map +1 -1
- package/dist/utils/esbuild-config.d.ts +23 -23
- package/dist/utils/esbuild-config.d.ts.map +1 -1
- package/dist/utils/esbuild-config.js +25 -25
- package/dist/utils/esbuild-config.js.map +1 -1
- package/dist/utils/lint-with-program.d.ts +15 -15
- package/dist/utils/lint-with-program.d.ts.map +1 -1
- package/dist/utils/lint-with-program.js +29 -29
- package/dist/utils/lint-with-program.js.map +1 -1
- package/dist/utils/ngtsc-build-core.d.ts +8 -8
- package/dist/utils/ngtsc-build-core.d.ts.map +1 -1
- package/dist/utils/ngtsc-build-core.js +14 -14
- package/dist/utils/ngtsc-build-core.js.map +1 -1
- package/dist/utils/output-path-rewriter.d.ts +14 -14
- package/dist/utils/output-path-rewriter.js +18 -18
- package/dist/utils/output-path-rewriter.js.map +1 -1
- package/dist/utils/output-utils.d.ts +6 -6
- package/dist/utils/output-utils.js +11 -11
- package/dist/utils/output-utils.js.map +1 -1
- package/dist/utils/package-utils.d.ts +21 -21
- package/dist/utils/package-utils.d.ts.map +1 -1
- package/dist/utils/package-utils.js +56 -45
- package/dist/utils/package-utils.js.map +1 -1
- package/dist/utils/replace-deps.d.ts +25 -25
- package/dist/utils/replace-deps.d.ts.map +1 -1
- package/dist/utils/replace-deps.js +84 -65
- package/dist/utils/replace-deps.js.map +1 -1
- package/dist/utils/sd-config.d.ts +3 -3
- package/dist/utils/sd-config.js +3 -3
- package/dist/utils/tsc-build.d.ts +13 -13
- package/dist/utils/tsc-build.d.ts.map +1 -1
- package/dist/utils/tsc-build.js +9 -9
- package/dist/utils/tsc-build.js.map +1 -1
- package/dist/utils/tsconfig.d.ts +11 -9
- package/dist/utils/tsconfig.d.ts.map +1 -1
- package/dist/utils/tsconfig.js +11 -9
- package/dist/utils/tsconfig.js.map +1 -1
- package/dist/utils/typecheck-non-package.d.ts +5 -6
- package/dist/utils/typecheck-non-package.d.ts.map +1 -1
- package/dist/utils/typecheck-non-package.js +7 -8
- package/dist/utils/typecheck-non-package.js.map +1 -1
- package/dist/utils/typecheck-serialization.d.ts +8 -8
- package/dist/utils/typecheck-serialization.d.ts.map +1 -1
- package/dist/utils/typecheck-serialization.js +12 -16
- package/dist/utils/typecheck-serialization.js.map +1 -1
- package/dist/utils/vite-config.d.ts +12 -5
- package/dist/utils/vite-config.d.ts.map +1 -1
- package/dist/utils/vite-config.js +95 -41
- package/dist/utils/vite-config.js.map +1 -1
- package/dist/utils/vite-scope-watch-plugin.d.ts.map +1 -1
- package/dist/utils/vite-scope-watch-plugin.js +1 -1
- package/dist/utils/vite-scope-watch-plugin.js.map +1 -1
- package/dist/utils/worker-events.d.ts +12 -12
- package/dist/utils/worker-events.d.ts.map +1 -1
- package/dist/utils/worker-events.js +10 -10
- package/dist/utils/worker-events.js.map +1 -1
- package/dist/utils/worker-utils.d.ts +12 -13
- package/dist/utils/worker-utils.d.ts.map +1 -1
- package/dist/utils/worker-utils.js +12 -13
- package/dist/utils/worker-utils.js.map +1 -1
- package/dist/vitest-plugin.d.ts.map +1 -1
- package/dist/vitest-plugin.js +5 -7
- package/dist/vitest-plugin.js.map +1 -1
- package/dist/workers/client.worker.d.ts +8 -2
- package/dist/workers/client.worker.d.ts.map +1 -1
- package/dist/workers/client.worker.js +215 -6
- package/dist/workers/client.worker.js.map +1 -1
- package/dist/workers/library-build.worker.d.ts +1 -1
- package/dist/workers/library-build.worker.d.ts.map +1 -1
- package/dist/workers/library-build.worker.js +7 -7
- package/dist/workers/library-build.worker.js.map +1 -1
- package/dist/workers/lint.worker.d.ts +2 -2
- package/dist/workers/lint.worker.js +2 -2
- package/dist/workers/ngtsc-build.worker.js +30 -30
- package/dist/workers/ngtsc-build.worker.js.map +1 -1
- package/dist/workers/server-build.worker.d.ts +17 -17
- package/dist/workers/server-build.worker.d.ts.map +1 -1
- package/dist/workers/server-build.worker.js +46 -46
- package/dist/workers/server-build.worker.js.map +1 -1
- package/dist/workers/server-runtime.worker.d.ts +7 -7
- package/dist/workers/server-runtime.worker.d.ts.map +1 -1
- package/dist/workers/server-runtime.worker.js +17 -17
- package/dist/workers/server-runtime.worker.js.map +1 -1
- package/docs/config.md +340 -0
- package/docs/publish-configuration-types.md +87 -0
- package/docs/pwa-configuration-types.md +55 -0
- package/docs/vitest-plugin.md +47 -0
- package/package.json +9 -7
- package/src/angular/client-transform-stylesheet.ts +1 -1
- package/src/angular/vite-angular-plugin.ts +89 -39
- package/src/angular/vite-postcss-inline-plugin.ts +1 -1
- package/src/capacitor/capacitor.ts +185 -38
- package/src/commands/build.ts +3 -10
- package/src/commands/check.ts +3 -3
- package/src/commands/dev.ts +3 -9
- package/src/commands/device.ts +5 -5
- package/src/commands/publish.ts +30 -26
- package/src/commands/replace-deps.ts +3 -3
- package/src/commands/typecheck.ts +7 -13
- package/src/commands/watch.ts +9 -9
- package/src/electron/electron.ts +49 -4
- package/src/engines/BaseEngine.ts +4 -1
- package/src/engines/NgtscEngine.ts +7 -7
- package/src/engines/ServerEsbuildEngine.ts +7 -7
- package/src/engines/TscEngine.ts +7 -7
- package/src/engines/ViteEngine.ts +18 -13
- package/src/engines/index.ts +11 -5
- package/src/engines/types.ts +20 -20
- package/src/infra/ResultCollector.ts +9 -9
- package/src/infra/SignalHandler.ts +7 -7
- package/src/infra/WorkerManager.ts +14 -14
- package/src/orchestrators/BuildOrchestrator.ts +42 -38
- package/src/orchestrators/DevWatchOrchestrator.ts +36 -36
- package/src/sd-cli-entry.ts +15 -8
- package/src/sd-cli.ts +16 -16
- package/src/sd-config.types.ts +107 -107
- package/src/utils/angular-compiler.ts +5 -5
- package/src/utils/build-env.ts +1 -1
- package/src/utils/concurrency.ts +7 -7
- package/src/utils/copy-public.ts +17 -17
- package/src/utils/copy-src.ts +11 -11
- package/src/utils/engine-stop.ts +9 -10
- package/src/utils/esbuild-config.ts +29 -29
- package/src/utils/lint-with-program.ts +34 -34
- package/src/utils/ngtsc-build-core.ts +17 -17
- package/src/utils/output-path-rewriter.ts +18 -18
- package/src/utils/output-utils.ts +11 -11
- package/src/utils/package-utils.ts +57 -45
- package/src/utils/replace-deps.ts +92 -67
- package/src/utils/sd-config.ts +3 -3
- package/src/utils/tsc-build.ts +18 -18
- package/src/utils/tsconfig.ts +11 -9
- package/src/utils/typecheck-non-package.ts +7 -8
- package/src/utils/typecheck-serialization.ts +13 -15
- package/src/utils/vite-config.ts +108 -46
- package/src/utils/vite-scope-watch-plugin.ts +6 -1
- package/src/utils/worker-events.ts +16 -16
- package/src/utils/worker-utils.ts +12 -13
- package/src/vitest-plugin.ts +5 -8
- package/src/workers/client.worker.ts +246 -7
- package/src/workers/library-build.worker.ts +8 -8
- package/src/workers/lint.worker.ts +2 -2
- package/src/workers/ngtsc-build.worker.ts +31 -31
- package/src/workers/server-build.worker.ts +60 -60
- package/src/workers/server-runtime.worker.ts +22 -22
- package/tests/angular/vite-angular-plugin-hmr-fallback.spec.ts +1 -0
- package/tests/angular/vite-angular-plugin-hmr.spec.ts +78 -0
- package/tests/angular/vite-angular-plugin.spec.ts +67 -0
- package/tests/capacitor/capacitor-build.spec.ts +93 -11
- package/tests/capacitor/capacitor-icon.spec.ts +7 -5
- package/tests/capacitor/capacitor-init.spec.ts +124 -10
- package/tests/capacitor/capacitor-run.spec.ts +14 -17
- package/tests/capacitor/capacitor-workspace.spec.ts +5 -3
- package/tests/commands/check.spec.ts +2 -2
- package/tests/commands/publish.spec.ts +2 -2
- package/tests/commands/typecheck.spec.ts +8 -0
- package/tests/electron/electron.spec.ts +12 -10
- package/tests/engines/base-engine.spec.ts +37 -0
- package/tests/engines/vite-engine.spec.ts +115 -3
- package/tests/utils/vite-config.spec.ts +162 -90
- package/tests/workers/client-worker.spec.ts +690 -0
- package/tests/workers/server-build-worker.spec.ts +3 -3
|
@@ -1,59 +1,59 @@
|
|
|
1
1
|
import type esbuild from "esbuild";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* esbuild outputFiles에서 변경된 파일만 디스크에 쓴다.
|
|
4
4
|
*
|
|
5
|
-
* - .js
|
|
6
|
-
* -
|
|
7
|
-
* -
|
|
5
|
+
* - .js 파일: 비교 전 ESM 상대 import 경로에 .js 확장자를 추가한다
|
|
6
|
+
* - 기타 파일(.js.map 등): 원본 내용을 그대로 비교한다
|
|
7
|
+
* - 기존 파일과 내용이 동일하면 타임스탬프 보존을 위해 쓰기를 스킵한다
|
|
8
8
|
*/
|
|
9
9
|
export declare function writeChangedOutputFiles(outputFiles: esbuild.OutputFile[]): Promise<boolean>;
|
|
10
10
|
/**
|
|
11
|
-
*
|
|
12
|
-
* - bundle: true (
|
|
11
|
+
* Server 빌드용 esbuild 옵션
|
|
12
|
+
* - bundle: true (모든 의존성을 포함한 단일 번들)
|
|
13
13
|
*/
|
|
14
14
|
export interface ServerEsbuildOptions {
|
|
15
15
|
pkgDir: string;
|
|
16
16
|
entryPoints: string[];
|
|
17
17
|
env?: Record<string, string>;
|
|
18
|
-
/**
|
|
18
|
+
/** 번들에서 제외할 외부 모듈 */
|
|
19
19
|
external?: string[];
|
|
20
|
-
/**
|
|
20
|
+
/** dev 모드: 빠른 빌드를 위해 minification 스킵 */
|
|
21
21
|
dev?: boolean;
|
|
22
22
|
}
|
|
23
23
|
/**
|
|
24
|
-
*
|
|
25
|
-
*
|
|
26
|
-
*
|
|
24
|
+
* 런타임에 환경변수를 process.env에 병합하는 JS 배너 스니펫을 생성한다.
|
|
25
|
+
* ??=를 사용하여 런타임 ENV(예: `DEV=false node server.js`)가
|
|
26
|
+
* 빌드 타임 기본값보다 우선하도록 한다.
|
|
27
27
|
*/
|
|
28
28
|
export declare function createEnvBanner(env?: Record<string, string>): string;
|
|
29
29
|
/**
|
|
30
|
-
*
|
|
30
|
+
* Server 빌드용 esbuild 설정을 생성한다.
|
|
31
31
|
*
|
|
32
|
-
*
|
|
33
|
-
* - bundle: true (
|
|
34
|
-
* - minify: true (
|
|
35
|
-
* - banner:
|
|
32
|
+
* server 패키지 빌드에 사용한다.
|
|
33
|
+
* - bundle: true (모든 의존성을 포함한 단일 번들)
|
|
34
|
+
* - minify: true (코드 보호를 위한 minify)
|
|
35
|
+
* - banner: CJS 패키지 require() 지원을 위한 createRequire shim + 환경변수 주입
|
|
36
36
|
*/
|
|
37
37
|
export declare function createServerEsbuildOptions(options: ServerEsbuildOptions): esbuild.BuildOptions;
|
|
38
38
|
/**
|
|
39
|
-
*
|
|
39
|
+
* 단일 트리 탐색으로 미설치 optional peer deps와 네이티브 모듈을 모두 수집한다.
|
|
40
40
|
*/
|
|
41
41
|
export declare function collectAllDependencyExternals(pkgDir: string): {
|
|
42
42
|
optionalPeerDeps: string[];
|
|
43
43
|
nativeModules: string[];
|
|
44
44
|
};
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
46
|
+
* 의존성 트리에서 미설치 optional peer deps를 수집한다.
|
|
47
47
|
*
|
|
48
|
-
*
|
|
49
|
-
*
|
|
48
|
+
* server 빌드(bundle: true)에서 미설치 optional peer dependencies를
|
|
49
|
+
* esbuild externals로 지정하여 빌드 실패를 방지한다.
|
|
50
50
|
*/
|
|
51
51
|
export declare function collectUninstalledOptionalPeerDeps(pkgDir: string): string[];
|
|
52
52
|
/**
|
|
53
|
-
*
|
|
53
|
+
* 의존성에서 binding.gyp가 있는 네이티브 모듈을 수집한다.
|
|
54
54
|
*
|
|
55
|
-
*
|
|
56
|
-
*
|
|
55
|
+
* node-gyp로 빌드된 네이티브 모듈은 esbuild로 번들링할 수 없으므로
|
|
56
|
+
* externals로 지정해야 한다.
|
|
57
57
|
*/
|
|
58
58
|
export declare function collectNativeModuleExternals(pkgDir: string): string[];
|
|
59
59
|
//# sourceMappingURL=esbuild-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild-config.d.ts","sourceRoot":"","sources":["../../src/utils/esbuild-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAKnC;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA6BjG;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,
|
|
1
|
+
{"version":3,"file":"esbuild-config.d.ts","sourceRoot":"","sources":["../../src/utils/esbuild-config.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AAKnC;;;;;;GAMG;AACH,wBAAsB,uBAAuB,CAAC,WAAW,EAAE,OAAO,CAAC,UAAU,EAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CA6BjG;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qBAAqB;IACrB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,wCAAwC;IACxC,GAAG,CAAC,EAAE,OAAO,CAAC;CACf;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAGpE;AAED;;;;;;;GAOG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,oBAAoB,GAAG,OAAO,CAAC,YAAY,CAmB9F;AAsDD;;GAEG;AACH,wBAAgB,6BAA6B,CAAC,MAAM,EAAE,MAAM,GAAG;IAC7D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB,CAwDA;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAE3E;AAMD;;;;;GAKG;AACH,wBAAgB,4BAA4B,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,CAErE"}
|
|
@@ -5,11 +5,11 @@ import { createRequire } from "module";
|
|
|
5
5
|
import { consola } from "consola";
|
|
6
6
|
const logger = consola.withTag("sd:cli:esbuild-config");
|
|
7
7
|
/**
|
|
8
|
-
*
|
|
8
|
+
* esbuild outputFiles에서 변경된 파일만 디스크에 쓴다.
|
|
9
9
|
*
|
|
10
|
-
* - .js
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
10
|
+
* - .js 파일: 비교 전 ESM 상대 import 경로에 .js 확장자를 추가한다
|
|
11
|
+
* - 기타 파일(.js.map 등): 원본 내용을 그대로 비교한다
|
|
12
|
+
* - 기존 파일과 내용이 동일하면 타임스탬프 보존을 위해 쓰기를 스킵한다
|
|
13
13
|
*/
|
|
14
14
|
export async function writeChangedOutputFiles(outputFiles) {
|
|
15
15
|
logger.debug(`변경된 출력 파일 쓰기 시작 (${outputFiles.length}개)`);
|
|
@@ -28,7 +28,7 @@ export async function writeChangedOutputFiles(outputFiles) {
|
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
catch {
|
|
31
|
-
//
|
|
31
|
+
// 파일이 아직 존재하지 않음
|
|
32
32
|
}
|
|
33
33
|
hasChanges = true;
|
|
34
34
|
await fs.mkdir(path.dirname(file.path), { recursive: true });
|
|
@@ -38,9 +38,9 @@ export async function writeChangedOutputFiles(outputFiles) {
|
|
|
38
38
|
return hasChanges;
|
|
39
39
|
}
|
|
40
40
|
/**
|
|
41
|
-
*
|
|
42
|
-
*
|
|
43
|
-
*
|
|
41
|
+
* 런타임에 환경변수를 process.env에 병합하는 JS 배너 스니펫을 생성한다.
|
|
42
|
+
* ??=를 사용하여 런타임 ENV(예: `DEV=false node server.js`)가
|
|
43
|
+
* 빌드 타임 기본값보다 우선하도록 한다.
|
|
44
44
|
*/
|
|
45
45
|
export function createEnvBanner(env) {
|
|
46
46
|
if (env == null || Object.keys(env).length === 0)
|
|
@@ -48,12 +48,12 @@ export function createEnvBanner(env) {
|
|
|
48
48
|
return `for(const[__k,__v]of Object.entries(${JSON.stringify(env)})){process.env[__k]??=__v;}`;
|
|
49
49
|
}
|
|
50
50
|
/**
|
|
51
|
-
*
|
|
51
|
+
* Server 빌드용 esbuild 설정을 생성한다.
|
|
52
52
|
*
|
|
53
|
-
*
|
|
54
|
-
* - bundle: true (
|
|
55
|
-
* - minify: true (
|
|
56
|
-
* - banner:
|
|
53
|
+
* server 패키지 빌드에 사용한다.
|
|
54
|
+
* - bundle: true (모든 의존성을 포함한 단일 번들)
|
|
55
|
+
* - minify: true (코드 보호를 위한 minify)
|
|
56
|
+
* - banner: CJS 패키지 require() 지원을 위한 createRequire shim + 환경변수 주입
|
|
57
57
|
*/
|
|
58
58
|
export function createServerEsbuildOptions(options) {
|
|
59
59
|
const envBanner = createEnvBanner(options.env);
|
|
@@ -74,7 +74,7 @@ export function createServerEsbuildOptions(options) {
|
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
/**
|
|
77
|
-
*
|
|
77
|
+
* 의존성 트리를 재귀적으로 스캔하고 predicate 기반으로 externals를 수집한다.
|
|
78
78
|
*/
|
|
79
79
|
function scanDependencyTree(pkgName, resolveDir, external, visited, collector) {
|
|
80
80
|
if (visited.has(pkgName))
|
|
@@ -91,12 +91,12 @@ function scanDependencyTree(pkgName, resolveDir, external, visited, collector) {
|
|
|
91
91
|
}
|
|
92
92
|
const depDir = path.dirname(pkgJsonPath);
|
|
93
93
|
const pkgJson = JSON.parse(readFileSync(pkgJsonPath, "utf-8"));
|
|
94
|
-
//
|
|
94
|
+
// predicate에 의해 external로 표시된 패키지 수집
|
|
95
95
|
const toExternal = collector(pkgName, depDir, pkgJson);
|
|
96
96
|
for (const name of toExternal) {
|
|
97
97
|
external.add(name);
|
|
98
98
|
}
|
|
99
|
-
//
|
|
99
|
+
// 하위 의존성 재귀 탐색
|
|
100
100
|
const subDeps = Object.keys(pkgJson.dependencies ?? {});
|
|
101
101
|
if (subDeps.length > 0) {
|
|
102
102
|
logger.debug(`[scanDependencyTree] ${pkgName}: traversing ${String(subDeps.length)} sub-dependencies`);
|
|
@@ -106,7 +106,7 @@ function scanDependencyTree(pkgName, resolveDir, external, visited, collector) {
|
|
|
106
106
|
}
|
|
107
107
|
}
|
|
108
108
|
/**
|
|
109
|
-
*
|
|
109
|
+
* 단일 트리 탐색으로 미설치 optional peer deps와 네이티브 모듈을 모두 수집한다.
|
|
110
110
|
*/
|
|
111
111
|
export function collectAllDependencyExternals(pkgDir) {
|
|
112
112
|
const optionalPeerDeps = new Set();
|
|
@@ -118,7 +118,7 @@ export function collectAllDependencyExternals(pkgDir) {
|
|
|
118
118
|
for (const dep of deps) {
|
|
119
119
|
scanDependencyTree(dep, pkgDir, optionalPeerDeps, visited, (pkgName, depDir, depPkgJson) => {
|
|
120
120
|
const found = [];
|
|
121
|
-
// Optional peer deps
|
|
121
|
+
// Optional peer deps 확인
|
|
122
122
|
if (depPkgJson.peerDependenciesMeta != null) {
|
|
123
123
|
const peerDeps = depPkgJson.peerDependencies ?? {};
|
|
124
124
|
const depReq = createRequire(path.join(depDir, "noop.js"));
|
|
@@ -133,7 +133,7 @@ export function collectAllDependencyExternals(pkgDir) {
|
|
|
133
133
|
}
|
|
134
134
|
}
|
|
135
135
|
}
|
|
136
|
-
//
|
|
136
|
+
// 네이티브 모듈 확인
|
|
137
137
|
if (existsSync(path.join(depDir, "binding.gyp"))) {
|
|
138
138
|
nativeModules.add(pkgName);
|
|
139
139
|
}
|
|
@@ -148,10 +148,10 @@ export function collectAllDependencyExternals(pkgDir) {
|
|
|
148
148
|
};
|
|
149
149
|
}
|
|
150
150
|
/**
|
|
151
|
-
*
|
|
151
|
+
* 의존성 트리에서 미설치 optional peer deps를 수집한다.
|
|
152
152
|
*
|
|
153
|
-
*
|
|
154
|
-
*
|
|
153
|
+
* server 빌드(bundle: true)에서 미설치 optional peer dependencies를
|
|
154
|
+
* esbuild externals로 지정하여 빌드 실패를 방지한다.
|
|
155
155
|
*/
|
|
156
156
|
export function collectUninstalledOptionalPeerDeps(pkgDir) {
|
|
157
157
|
return collectAllDependencyExternals(pkgDir).optionalPeerDeps;
|
|
@@ -159,10 +159,10 @@ export function collectUninstalledOptionalPeerDeps(pkgDir) {
|
|
|
159
159
|
//#endregion
|
|
160
160
|
//#region Native Module Externals
|
|
161
161
|
/**
|
|
162
|
-
*
|
|
162
|
+
* 의존성에서 binding.gyp가 있는 네이티브 모듈을 수집한다.
|
|
163
163
|
*
|
|
164
|
-
*
|
|
165
|
-
*
|
|
164
|
+
* node-gyp로 빌드된 네이티브 모듈은 esbuild로 번들링할 수 없으므로
|
|
165
|
+
* externals로 지정해야 한다.
|
|
166
166
|
*/
|
|
167
167
|
export function collectNativeModuleExternals(pkgDir) {
|
|
168
168
|
return collectAllDependencyExternals(pkgDir).nativeModules;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"esbuild-config.js","sourceRoot":"","sources":["../../src/utils/esbuild-config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,WAAiC;IAC7E,MAAM,CAAC,KAAK,CAAC,oBAAoB,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;IACzD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CACf,iDAAiD,EACjD,CAAC,MAAM,EAAE,MAAc,EAAE,UAAkB,EAAE,MAAc,EAAE,EAAE;gBAC7D,IAAI,qCAAqC,CAAC,IAAI,CAAC,UAAU,CAAC;oBAAE,OAAO,MAAM,CAAC;gBAC1E,OAAO,GAAG,MAAM,GAAG,UAAU,MAAM,MAAM,EAAE,CAAC;YAC9C,CAAC,CACF;YACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,
|
|
1
|
+
{"version":3,"file":"esbuild-config.js","sourceRoot":"","sources":["../../src/utils/esbuild-config.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,uBAAuB,CAAC,CAAC;AAExD;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAAC,WAAiC;IAC7E,MAAM,CAAC,KAAK,CAAC,oBAAoB,WAAW,CAAC,MAAM,IAAI,CAAC,CAAC;IACzD,IAAI,UAAU,GAAG,KAAK,CAAC;IACvB,MAAM,OAAO,CAAC,GAAG,CACf,WAAW,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QAC7B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC;YACzC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CACf,iDAAiD,EACjD,CAAC,MAAM,EAAE,MAAc,EAAE,UAAkB,EAAE,MAAc,EAAE,EAAE;gBAC7D,IAAI,qCAAqC,CAAC,IAAI,CAAC,UAAU,CAAC;oBAAE,OAAO,MAAM,CAAC;gBAC1E,OAAO,GAAG,MAAM,GAAG,UAAU,MAAM,MAAM,EAAE,CAAC;YAC9C,CAAC,CACF;YACH,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAEd,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YACvD,IAAI,QAAQ,KAAK,SAAS;gBAAE,OAAO;QACrC,CAAC;QAAC,MAAM,CAAC;YACP,iBAAiB;QACnB,CAAC;QAED,UAAU,GAAG,IAAI,CAAC;QAClB,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC7D,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC,CACH,CAAC;IACF,MAAM,CAAC,KAAK,CAAC,wBAAwB,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;IAC5D,OAAO,UAAU,CAAC;AACpB,CAAC;AAgBD;;;;GAIG;AACH,MAAM,UAAU,eAAe,CAAC,GAA4B;IAC1D,IAAI,GAAG,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,EAAE,CAAC;IAC5D,OAAO,uCAAuC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,6BAA6B,CAAC;AACjG,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAA6B;IACtE,MAAM,SAAS,GAAG,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC/C,MAAM,QAAQ,GACZ,yFAAyF;QACzF,SAAS,CAAC;IAEZ,OAAO;QACL,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC;QACzC,MAAM,EAAE,KAAK;QACb,MAAM,EAAE,OAAO,CAAC,GAAG,KAAK,IAAI;QAC5B,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,QAAQ;QAChB,MAAM,EAAE,IAAI;QACZ,MAAM,EAAE,EAAE,EAAE,EAAE,QAAQ,EAAE;QACxB,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,eAAe,CAAC;QACpD,QAAQ,EAAE,QAAQ;KACnB,CAAC;AACJ,CAAC;AAUD;;GAEG;AACH,SAAS,kBAAkB,CACzB,OAAe,EACf,UAAkB,EAClB,QAAqB,EACrB,OAAoB,EACpB,SAA0E;IAE1E,IAAI,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC;QAAE,OAAO;IACjC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAErB,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC,CAAC;IAE5D,IAAI,WAAmB,CAAC;IACxB,IAAI,CAAC;QACH,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,OAAO,eAAe,CAAC,CAAC;IACvD,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,CAAC,KAAK,CAAC,2CAA2C,OAAO,EAAE,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IAED,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAY,CAAC;IAE1E,qCAAqC;IACrC,MAAM,UAAU,GAAG,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IACvD,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE,CAAC;QAC9B,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IAED,eAAe;IACf,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACxD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACvB,MAAM,CAAC,KAAK,CACV,wBAAwB,OAAO,gBAAgB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,mBAAmB,CACzF,CAAC;IACJ,CAAC;IACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IAChE,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,6BAA6B,CAAC,MAAc;IAI1D,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAU,CAAC;IAC3C,MAAM,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;IACxC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;IAElC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CACxB,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAC9C,CAAC;IACb,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC;IACrD,MAAM,CAAC,KAAK,CACV,4CAA4C,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,4BAA4B,CAC5F,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,kBAAkB,CAChB,GAAG,EACH,MAAM,EACN,gBAAgB,EAChB,OAAO,EACP,CAAC,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAa,EAAE,CAAC;YAE3B,wBAAwB;YACxB,IAAI,UAAU,CAAC,oBAAoB,IAAI,IAAI,EAAE,CAAC;gBAC5C,MAAM,QAAQ,GAAG,UAAU,CAAC,gBAAgB,IAAI,EAAE,CAAC;gBACnD,MAAM,MAAM,GAAG,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;gBAC3D,KAAK,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC3E,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;wBAC/C,IAAI,CAAC;4BACH,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;wBACvB,CAAC;wBAAC,MAAM,CAAC;4BACP,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBACnB,CAAC;oBACH,CAAC;gBACH,CAAC;YACH,CAAC;YAED,aAAa;YACb,IAAI,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC,EAAE,CAAC;gBACjD,aAAa,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7B,CAAC;YAED,OAAO,KAAK,CAAC;QACf,CAAC,CACF,CAAC;IACJ,CAAC;IAED,MAAM,CAAC,KAAK,CACV,iDAAiD,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,aAAa;QAChF,oBAAoB,MAAM,CAAC,gBAAgB,CAAC,IAAI,CAAC,mBAAmB,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CACnG,CAAC;IAEF,OAAO;QACL,gBAAgB,EAAE,CAAC,GAAG,gBAAgB,CAAC;QACvC,aAAa,EAAE,CAAC,GAAG,aAAa,CAAC;KAClC,CAAC;AACJ,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kCAAkC,CAAC,MAAc;IAC/D,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC,gBAAgB,CAAC;AAChE,CAAC;AAED,YAAY;AAEZ,iCAAiC;AAEjC;;;;;GAKG;AACH,MAAM,UAAU,4BAA4B,CAAC,MAAc;IACzD,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;AAC7D,CAAC;AAED,YAAY"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type ts from "typescript";
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* LintWithProgramRunner.lint()가 반환하는 lint 결과
|
|
4
4
|
*/
|
|
5
5
|
export interface LintWithProgramResult {
|
|
6
6
|
success: boolean;
|
|
@@ -9,28 +9,28 @@ export interface LintWithProgramResult {
|
|
|
9
9
|
formattedOutput: string;
|
|
10
10
|
}
|
|
11
11
|
/**
|
|
12
|
-
*
|
|
12
|
+
* LintWithProgramRunner 생성자 옵션
|
|
13
13
|
*/
|
|
14
14
|
export interface LintWithProgramRunnerOptions {
|
|
15
15
|
cwd: string;
|
|
16
16
|
pkgName: string;
|
|
17
17
|
}
|
|
18
18
|
/**
|
|
19
|
-
*
|
|
19
|
+
* LintWithProgramRunner.lint() 옵션
|
|
20
20
|
*/
|
|
21
21
|
export interface LintRunOptions {
|
|
22
22
|
program: ts.Program;
|
|
23
|
-
/**
|
|
24
|
-
*
|
|
23
|
+
/** 제공 시 이 집합의 파일만 lint한다 (추출된 파일과의 교집합).
|
|
24
|
+
* watch 재빌드에서 affected 파일 기반 증분 lint에 사용한다. */
|
|
25
25
|
affectedFiles?: ReadonlySet<string>;
|
|
26
26
|
}
|
|
27
27
|
/**
|
|
28
|
-
*
|
|
28
|
+
* 기존 ts.Program을 사용하여 ESLint를 실행한다 (중복 Program 생성을 방지).
|
|
29
29
|
*
|
|
30
|
-
* -
|
|
31
|
-
* -
|
|
32
|
-
* -
|
|
33
|
-
* -
|
|
30
|
+
* - program.getSourceFiles()에서 pkgDir로 필터링하여 소스 파일을 추출한다
|
|
31
|
+
* - .d.ts 파일과 node_modules 경로를 제외한다
|
|
32
|
+
* - parserOptions.programs를 통해 ts.Program을 주입한다 (typescript-eslint)
|
|
33
|
+
* - 호출 간 ESLint 인스턴스를 재사용한다 (watch 모드 최적화)
|
|
34
34
|
*/
|
|
35
35
|
export declare class LintWithProgramRunner {
|
|
36
36
|
private readonly _cwd;
|
|
@@ -40,14 +40,14 @@ export declare class LintWithProgramRunner {
|
|
|
40
40
|
private readonly _programsRef;
|
|
41
41
|
constructor(options: LintWithProgramRunnerOptions);
|
|
42
42
|
/**
|
|
43
|
-
*
|
|
44
|
-
*
|
|
43
|
+
* ts.Program에서 lint 대상 파일을 추출한다.
|
|
44
|
+
* 모든 워크스페이스 소스 파일(cwd 범위)을 포함하고 .d.ts, node_modules, Angular shim을 제외한다.
|
|
45
45
|
*/
|
|
46
46
|
private _extractFiles;
|
|
47
47
|
/**
|
|
48
|
-
*
|
|
49
|
-
*
|
|
50
|
-
*
|
|
48
|
+
* 주어진 ts.Program의 파일에 대해 ESLint를 실행한다.
|
|
49
|
+
* affectedFiles가 제공되면 교집합만 lint한다 (watch 재빌드).
|
|
50
|
+
* 첫 호출 시 ESLint 인스턴스를 생성하고, 이후 호출에서 재사용한다.
|
|
51
51
|
*/
|
|
52
52
|
lint(options: LintRunOptions): Promise<LintWithProgramResult>;
|
|
53
53
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-with-program.d.ts","sourceRoot":"","sources":["../../src/utils/lint-with-program.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAOjC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB;
|
|
1
|
+
{"version":3,"file":"lint-with-program.d.ts","sourceRoot":"","sources":["../../src/utils/lint-with-program.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAOjC;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,4BAA4B;IAC3C,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC;IACpB;oDACgD;IAChD,aAAa,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;CACrC;AAED;;;;;;;GAOG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;IAClC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,aAAa,CAAsB;IAC3C,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAoB;gBAErC,OAAO,EAAE,4BAA4B;IAKjD;;;OAGG;IACH,OAAO,CAAC,aAAa;IAmCrB;;;;OAIG;IACG,IAAI,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,qBAAqB,CAAC;CAoFpE"}
|
|
@@ -4,12 +4,12 @@ import { pathx } from "@simplysm/core-node";
|
|
|
4
4
|
import { consola } from "consola";
|
|
5
5
|
const logger = consola.withTag("sd:cli:lint-with-program");
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
7
|
+
* 기존 ts.Program을 사용하여 ESLint를 실행한다 (중복 Program 생성을 방지).
|
|
8
8
|
*
|
|
9
|
-
* -
|
|
10
|
-
* -
|
|
11
|
-
* -
|
|
12
|
-
* -
|
|
9
|
+
* - program.getSourceFiles()에서 pkgDir로 필터링하여 소스 파일을 추출한다
|
|
10
|
+
* - .d.ts 파일과 node_modules 경로를 제외한다
|
|
11
|
+
* - parserOptions.programs를 통해 ts.Program을 주입한다 (typescript-eslint)
|
|
12
|
+
* - 호출 간 ESLint 인스턴스를 재사용한다 (watch 모드 최적화)
|
|
13
13
|
*/
|
|
14
14
|
export class LintWithProgramRunner {
|
|
15
15
|
_cwd;
|
|
@@ -22,8 +22,8 @@ export class LintWithProgramRunner {
|
|
|
22
22
|
this._pkgName = options.pkgName;
|
|
23
23
|
}
|
|
24
24
|
/**
|
|
25
|
-
*
|
|
26
|
-
*
|
|
25
|
+
* ts.Program에서 lint 대상 파일을 추출한다.
|
|
26
|
+
* 모든 워크스페이스 소스 파일(cwd 범위)을 포함하고 .d.ts, node_modules, Angular shim을 제외한다.
|
|
27
27
|
*/
|
|
28
28
|
_extractFiles(program) {
|
|
29
29
|
logger.debug(`[${this._pkgName}] 린트 대상 파일 추출 시작`);
|
|
@@ -31,19 +31,19 @@ export class LintWithProgramRunner {
|
|
|
31
31
|
const files = [];
|
|
32
32
|
for (const sf of program.getSourceFiles()) {
|
|
33
33
|
const fileName = pathx.posix(sf.fileName);
|
|
34
|
-
//
|
|
34
|
+
// 워크스페이스 루트 내에 있어야 함
|
|
35
35
|
if (!fileName.startsWith(normalizedCwd + "/")) {
|
|
36
36
|
continue;
|
|
37
37
|
}
|
|
38
|
-
//
|
|
38
|
+
// 선언 파일 제외
|
|
39
39
|
if (sf.isDeclarationFile) {
|
|
40
40
|
continue;
|
|
41
41
|
}
|
|
42
|
-
//
|
|
42
|
+
// node_modules 제외
|
|
43
43
|
if (fileName.includes("/node_modules/")) {
|
|
44
44
|
continue;
|
|
45
45
|
}
|
|
46
|
-
//
|
|
46
|
+
// Angular 타입체크 shim 파일 제외 (가상 파일, 디스크에 없음)
|
|
47
47
|
if (fileName.endsWith(".ngtypecheck.ts")) {
|
|
48
48
|
continue;
|
|
49
49
|
}
|
|
@@ -53,15 +53,15 @@ export class LintWithProgramRunner {
|
|
|
53
53
|
return files;
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
|
-
*
|
|
57
|
-
*
|
|
58
|
-
*
|
|
56
|
+
* 주어진 ts.Program의 파일에 대해 ESLint를 실행한다.
|
|
57
|
+
* affectedFiles가 제공되면 교집합만 lint한다 (watch 재빌드).
|
|
58
|
+
* 첫 호출 시 ESLint 인스턴스를 생성하고, 이후 호출에서 재사용한다.
|
|
59
59
|
*/
|
|
60
60
|
async lint(options) {
|
|
61
61
|
const { program, affectedFiles } = options;
|
|
62
|
-
//
|
|
62
|
+
// 대상 파일 추출 (워크스페이스 범위)
|
|
63
63
|
let files = this._extractFiles(program);
|
|
64
|
-
//
|
|
64
|
+
// affectedFiles가 제공되면 추출된 파일과 교집합
|
|
65
65
|
if (affectedFiles != null) {
|
|
66
66
|
files = files.filter((f) => affectedFiles.has(pathx.posix(f)));
|
|
67
67
|
}
|
|
@@ -73,21 +73,21 @@ export class LintWithProgramRunner {
|
|
|
73
73
|
formattedOutput: "",
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
|
-
//
|
|
76
|
+
// programs 참조 업데이트 (가변 배열 — ESLint가 lintFiles 시 읽음)
|
|
77
77
|
this._programsRef.length = 0;
|
|
78
78
|
this._programsRef.push(program);
|
|
79
|
-
//
|
|
80
|
-
//
|
|
81
|
-
//
|
|
82
|
-
//
|
|
79
|
+
// 캐시 정책: affected 파일 기반 증분 lint가 ESLint의
|
|
80
|
+
// 파일 내용 기반 캐시(의존성 변경을 놓침)보다 정확하다.
|
|
81
|
+
// affectedFiles가 제공되면 (watch 재빌드) 캐시를 비활성화한다.
|
|
82
|
+
// 제공되지 않으면 (일회성 빌드) 성능을 위해 캐시를 활성화한다.
|
|
83
83
|
const useCache = affectedFiles == null;
|
|
84
|
-
//
|
|
84
|
+
// 캐시 정책이 변경되거나 첫 호출 시 새 ESLint 인스턴스 생성
|
|
85
85
|
if (this._eslint == null || this._lastUseCache !== useCache) {
|
|
86
86
|
logger.debug(`[${this._pkgName}] ESLint 인스턴스 생성 (cache: ${String(useCache)})`);
|
|
87
|
-
// ESLint Flat Config
|
|
88
|
-
//
|
|
89
|
-
//
|
|
90
|
-
//
|
|
87
|
+
// ESLint Flat Config는 languageOptionsToJSON()을 통해 languageOptions를 직렬화하는데,
|
|
88
|
+
// parserOptions를 재귀 탐색하면서 ts.Program 메서드에서 예외가 발생한다.
|
|
89
|
+
// parserOptions에 toJSON()을 추가하여 직렬화 가능한 표현을 반환하면서
|
|
90
|
+
// typescript-eslint가 실제 programs 배열에 접근할 수 있도록 한다.
|
|
91
91
|
const parserOptions = {
|
|
92
92
|
programs: this._programsRef,
|
|
93
93
|
project: null,
|
|
@@ -108,17 +108,17 @@ export class LintWithProgramRunner {
|
|
|
108
108
|
});
|
|
109
109
|
this._lastUseCache = useCache;
|
|
110
110
|
}
|
|
111
|
-
//
|
|
111
|
+
// lint 실행
|
|
112
112
|
logger.debug(`[${this._pkgName}] 린트 시작 (${files.length}개 파일, affected: ${affectedFiles != null})`);
|
|
113
113
|
const results = await this._eslint.lintFiles(files);
|
|
114
|
-
//
|
|
114
|
+
// 결과 집계
|
|
115
115
|
let errorCount = 0;
|
|
116
116
|
let warningCount = 0;
|
|
117
117
|
for (const r of results) {
|
|
118
118
|
errorCount += r.errorCount;
|
|
119
119
|
warningCount += r.warningCount;
|
|
120
120
|
}
|
|
121
|
-
//
|
|
121
|
+
// 출력 포맷팅
|
|
122
122
|
const formatter = await this._eslint.loadFormatter("stylish");
|
|
123
123
|
const formattedOutput = await formatter.format(results);
|
|
124
124
|
logger.debug(`[${this._pkgName}] 린트 완료 (에러: ${errorCount}, 경고: ${warningCount})`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lint-with-program.js","sourceRoot":"","sources":["../../src/utils/lint-with-program.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAElC,MAAM,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;AA8B3D;;;;;;;GAOG;AACH,MAAM,OAAO,qBAAqB;IACf,IAAI,CAAS;IACb,QAAQ,CAAS;IAC1B,OAAO,CAAqB;IAC5B,aAAa,CAAsB;IAC1B,YAAY,GAAiB,EAAE,CAAC;IAEjD,YAAY,OAAqC;QAC/C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC;IAClC,CAAC;IAED;;;OAGG;IACK,aAAa,CAAC,OAAmB;QACvC,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,kBAAkB,CAAC,CAAC;QAClD,MAAM,aAAa,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,EAAE,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAC1C,MAAM,QAAQ,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC;YAE1C,
|
|
1
|
+
{"version":3,"file":"lint-with-program.js","sourceRoot":"","sources":["../../src/utils/lint-with-program.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ export interface NgtscBuildInfo {
|
|
|
8
8
|
cwd: string;
|
|
9
9
|
pkgDir: string;
|
|
10
10
|
output: BuildOutput;
|
|
11
|
-
/**
|
|
11
|
+
/** 타입체크 환경. 설정 시 getCompilerOptionsForEnv()로 compilerOptions를 조정한다. */
|
|
12
12
|
env?: TypecheckEnv;
|
|
13
|
-
/**
|
|
13
|
+
/** sd.config.ts의 replaceDeps 설정 */
|
|
14
14
|
replaceDeps?: Record<string, string>;
|
|
15
15
|
}
|
|
16
16
|
export interface NgtscBuildResult {
|
|
@@ -22,7 +22,7 @@ export interface NgtscBuildResult {
|
|
|
22
22
|
};
|
|
23
23
|
lint?: LintWithProgramResult;
|
|
24
24
|
}
|
|
25
|
-
/** runNgtscBuild 내부 반환 타입. program은 워커 내에서 lint 용도로만
|
|
25
|
+
/** runNgtscBuild 내부 반환 타입. program은 워커 내에서 lint 용도로만 사용한다. */
|
|
26
26
|
export interface NgtscBuildInternalResult extends NgtscBuildResult {
|
|
27
27
|
program?: ts.Program;
|
|
28
28
|
}
|
|
@@ -69,15 +69,15 @@ export declare function writeEmitResults(emitResults: Iterable<{
|
|
|
69
69
|
sourceFileName?: string;
|
|
70
70
|
}>, pkgDir: string, scss?: SideEffectScssOptions): void;
|
|
71
71
|
/**
|
|
72
|
-
*
|
|
73
|
-
*
|
|
74
|
-
*
|
|
72
|
+
* 레지스트리의 모든 side-effect SCSS 항목을 CSS로 컴파일한다.
|
|
73
|
+
* compileGlobalScss와 동일한 패턴 — 항상 모든 항목을 재컴파일한다.
|
|
74
|
+
* 에러 발생 시 scssErrors에 추가하고 기존 CSS 파일을 보존한다.
|
|
75
75
|
*/
|
|
76
76
|
export declare function compileSideEffectScss(registry: ReadonlyMap<string, SideEffectScssEntry>, loadPaths: string[], scssErrors: string[], scssDependencies: Map<string, Set<string>>): void;
|
|
77
77
|
export declare function compileGlobalScss(pkgDir: string, loadPaths: string[]): string[];
|
|
78
78
|
/**
|
|
79
|
-
*
|
|
80
|
-
* (
|
|
79
|
+
* AngularCompiler를 사용한 전체 Angular 라이브러리 빌드를 수행한다.
|
|
80
|
+
* (파싱, 초기화, 진단, emit, global SCSS)
|
|
81
81
|
*/
|
|
82
82
|
export declare function runNgtscBuild(info: NgtscBuildInfo): Promise<NgtscBuildInternalResult>;
|
|
83
83
|
//# sourceMappingURL=ngtsc-build-core.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ngtsc-build-core.d.ts","sourceRoot":"","sources":["../../src/utils/ngtsc-build-core.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,YAAY,CAAC;AAM5B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAEtE,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EAKL,KAAK,YAAY,EAClB,MAAM,YAAY,CAAC;AAQpB,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,WAAW,CAAC;IACpB
|
|
1
|
+
{"version":3,"file":"ngtsc-build-core.d.ts","sourceRoot":"","sources":["../../src/utils/ngtsc-build-core.ts"],"names":[],"mappings":"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"}
|