@simplysm/sd-cli 14.0.38 → 14.0.40

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.
Files changed (57) hide show
  1. package/dist/angular/angular-build-pipeline.d.ts +1 -1
  2. package/dist/angular/angular-build-pipeline.js +1 -1
  3. package/dist/angular/client-transform-stylesheet.d.ts +1 -1
  4. package/dist/angular/client-transform-stylesheet.js +3 -3
  5. package/dist/dev-server/hmr-client-script.d.ts +2 -2
  6. package/dist/dev-server/hmr-client-script.d.ts.map +1 -1
  7. package/dist/dev-server/hmr-client-script.js +4 -4
  8. package/dist/dev-server/hmr-client-script.js.map +1 -1
  9. package/dist/esbuild/esbuild-client-config.d.ts +0 -2
  10. package/dist/esbuild/esbuild-client-config.d.ts.map +1 -1
  11. package/dist/esbuild/esbuild-client-config.js +20 -10
  12. package/dist/esbuild/esbuild-client-config.js.map +1 -1
  13. package/dist/esbuild/esbuild-postcss-plugin.d.ts +8 -0
  14. package/dist/esbuild/esbuild-postcss-plugin.d.ts.map +1 -0
  15. package/dist/esbuild/esbuild-postcss-plugin.js +105 -0
  16. package/dist/esbuild/esbuild-postcss-plugin.js.map +1 -0
  17. package/dist/esbuild/esbuild-tsc-plugin.d.ts +23 -0
  18. package/dist/esbuild/esbuild-tsc-plugin.d.ts.map +1 -0
  19. package/dist/esbuild/esbuild-tsc-plugin.js +60 -0
  20. package/dist/esbuild/esbuild-tsc-plugin.js.map +1 -0
  21. package/dist/workers/client.worker.d.ts.map +1 -1
  22. package/dist/workers/client.worker.js +94 -26
  23. package/dist/workers/client.worker.js.map +1 -1
  24. package/dist/workers/server-build.worker.d.ts.map +1 -1
  25. package/dist/workers/server-build.worker.js +129 -90
  26. package/dist/workers/server-build.worker.js.map +1 -1
  27. package/dist/workers/server-esbuild-context.d.ts +27 -0
  28. package/dist/workers/server-esbuild-context.d.ts.map +1 -1
  29. package/dist/workers/server-esbuild-context.js +57 -4
  30. package/dist/workers/server-esbuild-context.js.map +1 -1
  31. package/package.json +6 -4
  32. package/src/angular/angular-build-pipeline.ts +2 -2
  33. package/src/angular/client-transform-stylesheet.ts +4 -4
  34. package/src/dev-server/hmr-client-script.ts +4 -4
  35. package/src/esbuild/esbuild-client-config.ts +22 -13
  36. package/src/esbuild/esbuild-postcss-plugin.ts +117 -0
  37. package/src/esbuild/esbuild-tsc-plugin.ts +83 -0
  38. package/src/workers/client.worker.ts +96 -29
  39. package/src/workers/server-build.worker.ts +136 -97
  40. package/src/workers/server-esbuild-context.ts +72 -4
  41. package/tests/angular/client-transform-stylesheet.spec.ts +1 -1
  42. package/tests/esbuild/esbuild-tsc-plugin.acc.spec.ts +349 -0
  43. package/tests/esbuild/esbuild-tsc-plugin.spec.ts +230 -0
  44. package/tests/utils/esbuild-client-config-postcss.verify.md +6 -0
  45. package/tests/utils/esbuild-client-config.acc.spec.ts +34 -20
  46. package/tests/utils/esbuild-client-config.spec.ts +79 -16
  47. package/tests/utils/esbuild-postcss-plugin.acc.spec.ts +299 -0
  48. package/tests/utils/esbuild-postcss-plugin.spec.ts +290 -0
  49. package/tests/utils/esbuild-scss-plugin.acc.spec.ts +1 -0
  50. package/tests/utils/hmr-client-script.acc.spec.ts +8 -8
  51. package/tests/utils/hmr-client-script.spec.ts +5 -5
  52. package/tests/workers/server-build-lint.spec.ts +43 -0
  53. package/tests/workers/server-build-worker-refactoring.verify.md +14 -0
  54. package/tests/workers/server-build-worker.spec.ts +122 -9
  55. package/tests/workers/server-esbuild-context-tsc.verify.md +7 -0
  56. package/tests/workers/server-esbuild-context.acc.spec.ts +188 -2
  57. package/tests/workers/server-esbuild-context.spec.ts +401 -2
@@ -39,7 +39,7 @@ export interface AngularBuildPipelineOptions {
39
39
  sourceFileCache?: AngularSourceFileCache;
40
40
  externalStylesheets?: Map<string, string>;
41
41
  compilerOptionsTransformer?: (opts: ts.CompilerOptions) => ts.CompilerOptions;
42
- postCssPlugins?: unknown[];
42
+ postcssPlugins?: unknown[];
43
43
  scssCacheDir?: string;
44
44
  }
45
45
  /**
@@ -124,7 +124,7 @@ export class AngularBuildPipeline {
124
124
  const transformStylesheet = this._options.mode === "client"
125
125
  ? createClientTransformStylesheet({
126
126
  loadPaths,
127
- postCssPlugins: this._options.postCssPlugins,
127
+ postcssPlugins: this._options.postcssPlugins,
128
128
  scssErrors: this._scssErrors,
129
129
  scssDependencies: this._scssDependencies,
130
130
  cacheDir: this._options.scssCacheDir,
@@ -1,6 +1,6 @@
1
1
  export interface ClientTransformStylesheetOptions {
2
2
  loadPaths: string[];
3
- postCssPlugins?: unknown[];
3
+ postcssPlugins?: unknown[];
4
4
  scssErrors: string[];
5
5
  scssDependencies: Map<string, Set<string>>;
6
6
  /** SCSS 캐시 디렉토리 (미지정 시 캐시 비활성화) */
@@ -37,9 +37,9 @@ async function readFileHash(filePath) {
37
37
  * - .css 외부 파일: null 반환 (readResource가 원본 CSS 처리)
38
38
  */
39
39
  export function createClientTransformStylesheet(options) {
40
- const { loadPaths, postCssPlugins, scssErrors, scssDependencies, cacheDir } = options;
41
- const postCssProcessor = postCssPlugins != null && postCssPlugins.length > 0
42
- ? postcss(postCssPlugins)
40
+ const { loadPaths, postcssPlugins, scssErrors, scssDependencies, cacheDir } = options;
41
+ const postCssProcessor = postcssPlugins != null && postcssPlugins.length > 0
42
+ ? postcss(postcssPlugins)
43
43
  : undefined;
44
44
  return async (data, containingFile, stylesheetFile) => {
45
45
  // 외부 스타일시트 파일
@@ -3,11 +3,11 @@
3
3
  * Chrome 61+ 호환 문법으로 작성 (optional chaining, nullish coalescing 미사용).
4
4
  * @param basePath basePath (예: "/app/")
5
5
  */
6
- export declare function getHmrClientScript(_basePath: string): string;
6
+ export declare function getHmrClientScript(_basePath: string, port: number): string;
7
7
  /**
8
8
  * index.html에 HMR 클라이언트 스크립트를 주입하는 postTransform을 생성한다.
9
9
  * Feature 1.2의 GenerateIndexHtmlOptions.postTransform에 전달하여 사용.
10
10
  * @param basePath basePath (예: "/app/")
11
11
  */
12
- export declare function createHmrPostTransform(basePath: string): (content: string) => Promise<string>;
12
+ export declare function createHmrPostTransform(basePath: string, port: number): (content: string) => Promise<string>;
13
13
  //# sourceMappingURL=hmr-client-script.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"hmr-client-script.d.ts","sourceRoot":"","sources":["../../src/dev-server/hmr-client-script.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAkD5D;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAW7F"}
1
+ {"version":3,"file":"hmr-client-script.d.ts","sourceRoot":"","sources":["../../src/dev-server/hmr-client-script.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAkD1E;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAW3G"}
@@ -3,14 +3,14 @@
3
3
  * Chrome 61+ 호환 문법으로 작성 (optional chaining, nullish coalescing 미사용).
4
4
  * @param basePath basePath (예: "/app/")
5
5
  */
6
- export function getHmrClientScript(_basePath) {
6
+ export function getHmrClientScript(_basePath, port) {
7
7
  return [
8
8
  "(function() {",
9
9
  " var ws = null;",
10
10
  " var reconnectDelay = 1000;",
11
11
  "",
12
12
  " function connect() {",
13
- ' ws = new WebSocket("ws://" + location.hostname + ":" + location.port);',
13
+ ` ws = new WebSocket("ws://" + location.hostname + ":${port}");`,
14
14
  "",
15
15
  " ws.onmessage = function(e) {",
16
16
  " var msg = JSON.parse(e.data);",
@@ -59,8 +59,8 @@ export function getHmrClientScript(_basePath) {
59
59
  * Feature 1.2의 GenerateIndexHtmlOptions.postTransform에 전달하여 사용.
60
60
  * @param basePath basePath (예: "/app/")
61
61
  */
62
- export function createHmrPostTransform(basePath) {
63
- const script = getHmrClientScript(basePath);
62
+ export function createHmrPostTransform(basePath, port) {
63
+ const script = getHmrClientScript(basePath, port);
64
64
  const scriptTag = `<script>${script}</script>`;
65
65
  return (html) => {
66
66
  const bodyCloseIdx = html.lastIndexOf("</body>");
@@ -1 +1 @@
1
- {"version":3,"file":"hmr-client-script.js","sourceRoot":"","sources":["../../src/dev-server/hmr-client-script.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB;IAClD,OAAO;QACL,eAAe;QACf,kBAAkB;QAClB,8BAA8B;QAC9B,EAAE;QACF,wBAAwB;QACxB,4EAA4E;QAC5E,EAAE;QACF,kCAAkC;QAClC,qCAAqC;QACrC,EAAE;QACF,8CAA8C;QAC9C,gEAAgE;QAChE,8BAA8B;QAC9B,kDAAkD;QAClD,qEAAqE;QACrE,2BAA2B;QAC3B,wCAAwC;QACxC,iBAAiB;QACjB,aAAa;QACb,WAAW;QACX,EAAE;QACF,+CAA+C;QAC/C,4EAA4E;QAC5E,gCAAgC;QAChC,kDAAkD;QAClD,qDAAqD;QACrD,uBAAuB;QACvB,4CAA4C;QAC5C,uEAAuE;QACvE,4DAA4D;QAC5D,4EAA4E;QAC5E,eAAe;QACf,aAAa;QACb,WAAW;QACX,EAAE;QACF,gDAAgD;QAChD,4BAA4B;QAC5B,SAAS;QACT,QAAQ;QACR,EAAE;QACF,+BAA+B;QAC/B,4CAA4C;QAC5C,QAAQ;QACR,KAAK;QACL,EAAE;QACF,cAAc;QACd,OAAO;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB;IACrD,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,WAAW,MAAM,WAAW,CAAC;IAE/C,OAAO,CAAC,IAAY,EAAmB,EAAE;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"hmr-client-script.js","sourceRoot":"","sources":["../../src/dev-server/hmr-client-script.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,SAAiB,EAAE,IAAY;IAChE,OAAO;QACL,eAAe;QACf,kBAAkB;QAClB,8BAA8B;QAC9B,EAAE;QACF,wBAAwB;QACxB,0DAA0D,IAAI,KAAK;QACnE,EAAE;QACF,kCAAkC;QAClC,qCAAqC;QACrC,EAAE;QACF,8CAA8C;QAC9C,gEAAgE;QAChE,8BAA8B;QAC9B,kDAAkD;QAClD,qEAAqE;QACrE,2BAA2B;QAC3B,wCAAwC;QACxC,iBAAiB;QACjB,aAAa;QACb,WAAW;QACX,EAAE;QACF,+CAA+C;QAC/C,4EAA4E;QAC5E,gCAAgC;QAChC,kDAAkD;QAClD,qDAAqD;QACrD,uBAAuB;QACvB,4CAA4C;QAC5C,uEAAuE;QACvE,4DAA4D;QAC5D,4EAA4E;QAC5E,eAAe;QACf,aAAa;QACb,WAAW;QACX,EAAE;QACF,gDAAgD;QAChD,4BAA4B;QAC5B,SAAS;QACT,QAAQ;QACR,EAAE;QACF,+BAA+B;QAC/B,4CAA4C;QAC5C,QAAQ;QACR,KAAK;QACL,EAAE;QACF,cAAc;QACd,OAAO;KACR,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CAAC,QAAgB,EAAE,IAAY;IACnE,MAAM,MAAM,GAAG,kBAAkB,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAClD,MAAM,SAAS,GAAG,WAAW,MAAM,WAAW,CAAC;IAE/C,OAAO,CAAC,IAAY,EAAmB,EAAE;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QACjD,IAAI,YAAY,KAAK,CAAC,CAAC,EAAE,CAAC;YACxB,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,YAAY,CAAC,GAAG,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC;QAC7F,CAAC;QACD,OAAO,OAAO,CAAC,OAAO,CAAC,IAAI,GAAG,SAAS,CAAC,CAAC;IAC3C,CAAC,CAAC;AACJ,CAAC"}
@@ -19,8 +19,6 @@ export interface CreateClientEsbuildOptions {
19
19
  onEnd?: (result: esbuild.BuildResult) => void | Promise<void>;
20
20
  /** PostCSS 플러그인 ([name, options] 튜플 배열) */
21
21
  postcssPlugins?: [string, (object | string)?][];
22
- /** PostCSS 설정 기준 경로 */
23
- postcssConfigPath?: string;
24
22
  /** 빌드 출력 경로 (기본: pkgDir/dist) */
25
23
  outdir?: string;
26
24
  /** browserslist 쿼리. 미설정 시 "es2022" 기본값 */
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild-client-config.d.ts","sourceRoot":"","sources":["../../src/esbuild/esbuild-client-config.ts"],"names":[],"mappings":"AAEA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAEL,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAGhC,MAAM,WAAW,0BAA0B;IACzC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY;IACZ,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3B,kDAAkD;IAClD,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,wBAAwB;IACxB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,2CAA2C;IAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,uBAAuB;IACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC;IAC9B,eAAe,EAAE,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC;CACvD;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CAmL9B"}
1
+ {"version":3,"file":"esbuild-client-config.d.ts","sourceRoot":"","sources":["../../src/esbuild/esbuild-client-config.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,SAAS,CAAC;AAG9B,OAAO,EAEL,eAAe,EAGhB,MAAM,wBAAwB,CAAC;AAIhC,MAAM,WAAW,0BAA0B;IACzC,kBAAkB;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,8BAA8B;IAC9B,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY;IACZ,IAAI,EAAE,KAAK,GAAG,OAAO,CAAC;IACtB,6CAA6C;IAC7C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,0CAA0C;IAC1C,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;IAC3B,kDAAkD;IAClD,eAAe,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACtC,wBAAwB;IACxB,KAAK,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,WAAW,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,2CAA2C;IAC3C,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;IAChD,iCAAiC;IACjC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0CAA0C;IAC1C,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACjC,+EAA+E;IAC/E,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;IACrB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC,YAAY,CAAC;IAC9B,eAAe,EAAE,YAAY,CAAC,OAAO,eAAe,CAAC,CAAC;CACvD;AAED,wBAAsB,0BAA0B,CAC9C,OAAO,EAAE,0BAA0B,GAClC,OAAO,CAAC,mBAAmB,CAAC,CA2L9B"}
@@ -1,9 +1,11 @@
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";
5
6
  import { createCompilerPlugin, SourceFileCache, } from "@angular/build/private";
6
7
  import { createScssPlugin } from "./esbuild-scss-plugin.js";
8
+ import { createPostcssPlugin } from "./esbuild-postcss-plugin.js";
7
9
  export async function createClientEsbuildContext(options) {
8
10
  const isDev = options.mode === "dev";
9
11
  // browserslist → esbuild target 변환
@@ -43,15 +45,20 @@ export async function createClientEsbuildContext(options) {
43
45
  path: cachePath,
44
46
  basePath: cachePath,
45
47
  },
46
- postcssConfiguration: options.postcssPlugins != null
47
- ? {
48
- config: { plugins: options.postcssPlugins },
49
- configPath: options.postcssConfigPath ?? options.pkgDir,
50
- }
51
- : undefined,
48
+ postcssConfiguration: undefined,
52
49
  inlineStyleLanguage: "scss",
53
50
  };
54
51
  const angularPlugin = createCompilerPlugin(pluginOptions, styleOptions);
52
+ // PostCSS 플러그인 로딩 (튜플 → 인스턴스)
53
+ let loadedPostcssPlugins;
54
+ if (options.postcssPlugins != null && options.postcssPlugins.length > 0) {
55
+ const req = createRequire(path.join(options.pkgDir, "package.json"));
56
+ loadedPostcssPlugins = options.postcssPlugins.map(([name, pluginOpts]) => {
57
+ const pluginFn = req(name);
58
+ const fn = pluginFn.default ?? pluginFn;
59
+ return pluginOpts != null ? fn(pluginOpts) : fn;
60
+ });
61
+ }
55
62
  // SCSS side-effect import 처리 플러그인
56
63
  const scssPlugin = createScssPlugin({
57
64
  loadPaths: [
@@ -73,10 +80,10 @@ export async function createClientEsbuildContext(options) {
73
80
  define["ngHmrMode"] = "false";
74
81
  }
75
82
  // 커스텀 env
83
+ // esbuild define은 정적 패턴만 치환하므로, import.meta.env 객체 자체를 주입해야
84
+ // env() 함수의 동적 접근(import.meta.env?.[key])이 동작한다.
76
85
  if (options.env != null) {
77
- for (const [key, value] of Object.entries(options.env)) {
78
- define[`import.meta.env.${key}`] = JSON.stringify(value);
79
- }
86
+ define["import.meta.env"] = JSON.stringify(options.env);
80
87
  }
81
88
  // import.meta.hot 폴리필 banner (Angular HMR 런타임용)
82
89
  // Angular의 compileHmrInitializer가 import.meta.hot.on('angular:component-update', ...)을 사용.
@@ -128,9 +135,12 @@ export async function createClientEsbuildContext(options) {
128
135
  },
129
136
  ]
130
137
  : []),
138
+ ...(options.plugins ?? []),
131
139
  angularPlugin,
132
140
  scssPlugin,
133
- ...(options.plugins ?? []),
141
+ ...(loadedPostcssPlugins != null
142
+ ? [createPostcssPlugin({ plugins: loadedPostcssPlugins })]
143
+ : []),
134
144
  ...(options.legacyModule === true
135
145
  ? [
136
146
  {
@@ -1 +1 @@
1
- {"version":3,"file":"esbuild-client-config.js","sourceRoot":"","sources":["../../src/esbuild/esbuild-client-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"esbuild-client-config.js","sourceRoot":"","sources":["../../src/esbuild/esbuild-client-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type esbuild from "esbuild";
2
+ import type { AcceptedPlugin } from "postcss";
3
+ export interface CreatePostcssPluginOptions {
4
+ /** 이미 로딩된 PostCSS 플러그인 인스턴스 배열 */
5
+ plugins: AcceptedPlugin[];
6
+ }
7
+ export declare function createPostcssPlugin(options: CreatePostcssPluginOptions): esbuild.Plugin;
8
+ //# sourceMappingURL=esbuild-postcss-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-postcss-plugin.d.ts","sourceRoot":"","sources":["../../src/esbuild/esbuild-postcss-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAM9C,MAAM,WAAW,0BAA0B;IACzC,kCAAkC;IAClC,OAAO,EAAE,cAAc,EAAE,CAAC;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,0BAA0B,GAAG,OAAO,CAAC,MAAM,CAwGvF"}
@@ -0,0 +1,105 @@
1
+ import postcss from "postcss";
2
+ import fs from "fs";
3
+ import * as acorn from "acorn";
4
+ import * as walk from "acorn-walk";
5
+ export function createPostcssPlugin(options) {
6
+ return {
7
+ name: "sd-postcss",
8
+ setup(build) {
9
+ build.onEnd(async (result) => {
10
+ if (options.plugins.length === 0)
11
+ return;
12
+ if (result.metafile == null)
13
+ return;
14
+ const processor = postcss(options.plugins);
15
+ const outputFiles = Object.keys(result.metafile.outputs);
16
+ // .css 파일 처리
17
+ for (const file of outputFiles) {
18
+ if (!file.endsWith(".css"))
19
+ continue;
20
+ try {
21
+ const css = await fs.promises.readFile(file, "utf-8");
22
+ const processed = await processor.process(css, { from: file });
23
+ await fs.promises.writeFile(file, processed.css);
24
+ }
25
+ catch (e) {
26
+ result.errors.push({
27
+ id: "",
28
+ pluginName: "sd-postcss",
29
+ text: `PostCSS error in ${file}: ${e instanceof Error ? e.message : String(e)}`,
30
+ location: null,
31
+ notes: [],
32
+ detail: undefined,
33
+ });
34
+ }
35
+ }
36
+ // .js 파일 처리 — ɵɵdefineComponent 내 styles 배열의 문자열에 PostCSS 적용
37
+ for (const file of outputFiles) {
38
+ if (!file.endsWith(".js"))
39
+ continue;
40
+ try {
41
+ const code = await fs.promises.readFile(file, "utf-8");
42
+ if (!code.includes("styles"))
43
+ continue;
44
+ const ast = acorn.parse(code, {
45
+ ecmaVersion: "latest",
46
+ sourceType: "module",
47
+ });
48
+ // styles 배열 내 문자열 리터럴의 위치와 PostCSS 결과를 수집
49
+ const replacements = [];
50
+ walk.ancestor(ast, {
51
+ Property(node, _state, ancestors) {
52
+ // key가 "styles"이고 value가 ArrayExpression인 Property만 대상
53
+ if (node.key.type !== "Identifier" || node.key.name !== "styles")
54
+ return;
55
+ if (node.value.type !== "ArrayExpression")
56
+ return;
57
+ // ancestors에서 ɵɵdefineComponent 호출을 확인
58
+ const inDefineComponent = ancestors.some((a) => a.type === "CallExpression" &&
59
+ a.callee?.type === "MemberExpression" &&
60
+ a.callee.property?.type === "Identifier" &&
61
+ a.callee.property.name === "\u0275\u0275defineComponent");
62
+ if (!inDefineComponent)
63
+ return;
64
+ for (const element of node.value.elements) {
65
+ if (element == null)
66
+ continue;
67
+ if (element.type !== "Literal" || typeof element.value !== "string")
68
+ continue;
69
+ replacements.push({
70
+ start: element.start,
71
+ end: element.end,
72
+ text: element.value,
73
+ });
74
+ }
75
+ },
76
+ });
77
+ if (replacements.length === 0)
78
+ continue;
79
+ // PostCSS 적용 및 역순 교체
80
+ let modified = code;
81
+ // 끝에서 시작 방향으로 교체하여 offset 유지
82
+ const sorted = replacements.sort((a, b) => b.start - a.start);
83
+ for (const rep of sorted) {
84
+ const processed = await processor.process(rep.text, { from: file });
85
+ const escaped = JSON.stringify(processed.css);
86
+ modified = modified.slice(0, rep.start) + escaped + modified.slice(rep.end);
87
+ }
88
+ await fs.promises.writeFile(file, modified);
89
+ }
90
+ catch (e) {
91
+ result.errors.push({
92
+ id: "",
93
+ pluginName: "sd-postcss",
94
+ text: `PostCSS error in ${file}: ${e instanceof Error ? e.message : String(e)}`,
95
+ location: null,
96
+ notes: [],
97
+ detail: undefined,
98
+ });
99
+ }
100
+ }
101
+ });
102
+ },
103
+ };
104
+ }
105
+ //# sourceMappingURL=esbuild-postcss-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-postcss-plugin.js","sourceRoot":"","sources":["../../src/esbuild/esbuild-postcss-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import type esbuild from "esbuild";
2
+ import type ts from "typescript";
3
+ import { type TypecheckEnv } from "../utils/tsconfig";
4
+ import type { SerializedDiagnostic } from "../typecheck/typecheck-serialization";
5
+ export interface TscPluginOptions {
6
+ pkgDir: string;
7
+ cwd: string;
8
+ output: {
9
+ dts: boolean;
10
+ };
11
+ env?: TypecheckEnv;
12
+ includeTests?: boolean;
13
+ }
14
+ export interface TscPluginResult {
15
+ plugin: esbuild.Plugin;
16
+ getProgram(): ts.Program | undefined;
17
+ getAffectedFiles(): ReadonlySet<string> | undefined;
18
+ getDiagnostics(): SerializedDiagnostic[];
19
+ getErrors(): string[] | undefined;
20
+ resetBuilderProgram(): void;
21
+ }
22
+ export declare function createTscPlugin(options: TscPluginOptions): TscPluginResult;
23
+ //# sourceMappingURL=esbuild-tsc-plugin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-tsc-plugin.d.ts","sourceRoot":"","sources":["../../src/esbuild/esbuild-tsc-plugin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,OAAO,MAAM,SAAS,CAAC;AACnC,OAAO,KAAK,EAAE,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAiB,KAAK,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAErE,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sCAAsC,CAAC;AAEjF,MAAM,WAAW,gBAAgB;IAC/B,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QAAE,GAAG,EAAE,OAAO,CAAA;KAAE,CAAC;IACzB,GAAG,CAAC,EAAE,YAAY,CAAC;IACnB,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC;IACvB,UAAU,IAAI,EAAE,CAAC,OAAO,GAAG,SAAS,CAAC;IACrC,gBAAgB,IAAI,WAAW,CAAC,MAAM,CAAC,GAAG,SAAS,CAAC;IACpD,cAAc,IAAI,oBAAoB,EAAE,CAAC;IACzC,SAAS,IAAI,MAAM,EAAE,GAAG,SAAS,CAAC;IAClC,mBAAmB,IAAI,IAAI,CAAC;CAC7B;AAED,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,CA0D1E"}
@@ -0,0 +1,60 @@
1
+ import { err as errNs } from "@simplysm/core-common";
2
+ import { parseTsconfig } from "../utils/tsconfig.js";
3
+ import { runTscPackageBuild } from "../utils/tsc-build.js";
4
+ export function createTscPlugin(options) {
5
+ // 내부 상태
6
+ let lastProgram;
7
+ let lastAffectedFiles;
8
+ let lastDiagnostics = [];
9
+ let lastErrors;
10
+ let lastBuilderProgram;
11
+ // onStart에서 생성한 tsc Promise (onEnd에서 await)
12
+ let tscPromise;
13
+ const plugin = {
14
+ name: "sd-tsc",
15
+ setup(build) {
16
+ build.onStart(() => {
17
+ // microtask로 tsc 스케줄링 (await하지 않음)
18
+ tscPromise = Promise.resolve().then(() => {
19
+ const parsedConfig = parseTsconfig(options.pkgDir);
20
+ return runTscPackageBuild({
21
+ pkgDir: options.pkgDir,
22
+ cwd: options.cwd,
23
+ output: { js: false, dts: options.output.dts },
24
+ parsedConfig,
25
+ env: options.env,
26
+ includeTests: options.includeTests,
27
+ oldBuilderProgram: lastBuilderProgram,
28
+ });
29
+ });
30
+ });
31
+ build.onEnd(async () => {
32
+ try {
33
+ const tscResult = await tscPromise;
34
+ lastProgram = tscResult.program;
35
+ lastAffectedFiles = tscResult.affectedFiles;
36
+ lastDiagnostics = tscResult.diagnostics;
37
+ lastErrors = tscResult.errors;
38
+ lastBuilderProgram = tscResult.builderProgram;
39
+ }
40
+ catch (err) {
41
+ lastProgram = undefined;
42
+ lastAffectedFiles = undefined;
43
+ lastDiagnostics = [];
44
+ lastErrors = [errNs.message(err)];
45
+ }
46
+ });
47
+ },
48
+ };
49
+ return {
50
+ plugin,
51
+ getProgram: () => lastProgram,
52
+ getAffectedFiles: () => lastAffectedFiles,
53
+ getDiagnostics: () => lastDiagnostics,
54
+ getErrors: () => lastErrors,
55
+ resetBuilderProgram: () => {
56
+ lastBuilderProgram = undefined;
57
+ },
58
+ };
59
+ }
60
+ //# sourceMappingURL=esbuild-tsc-plugin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"esbuild-tsc-plugin.js","sourceRoot":"","sources":["../../src/esbuild/esbuild-tsc-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,GAAG,IAAI,KAAK,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,aAAa,EAAqB,MAAM,mBAAmB,CAAC;AACrE,OAAO,EAAE,kBAAkB,EAA8B,MAAM,oBAAoB,CAAC;AAoBpF,MAAM,UAAU,eAAe,CAAC,OAAyB;IACvD,QAAQ;IACR,IAAI,WAAmC,CAAC;IACxC,IAAI,iBAAkD,CAAC;IACvD,IAAI,eAAe,GAA2B,EAAE,CAAC;IACjD,IAAI,UAAgC,CAAC;IACrC,IAAI,kBAA2E,CAAC;IAEhF,4CAA4C;IAC5C,IAAI,UAAsD,CAAC;IAE3D,MAAM,MAAM,GAAmB;QAC7B,IAAI,EAAE,QAAQ;QACd,KAAK,CAAC,KAAK;YACT,KAAK,CAAC,OAAO,CAAC,GAAG,EAAE;gBACjB,mCAAmC;gBACnC,UAAU,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE;oBACvC,MAAM,YAAY,GAAG,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;oBACnD,OAAO,kBAAkB,CAAC;wBACxB,MAAM,EAAE,OAAO,CAAC,MAAM;wBACtB,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,MAAM,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE;wBAC9C,YAAY;wBACZ,GAAG,EAAE,OAAO,CAAC,GAAG;wBAChB,YAAY,EAAE,OAAO,CAAC,YAAY;wBAClC,iBAAiB,EAAE,kBAAkB;qBACtC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE;gBACrB,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,MAAM,UAAW,CAAC;oBACpC,WAAW,GAAG,SAAS,CAAC,OAAO,CAAC;oBAChC,iBAAiB,GAAG,SAAS,CAAC,aAAa,CAAC;oBAC5C,eAAe,GAAG,SAAS,CAAC,WAAW,CAAC;oBACxC,UAAU,GAAG,SAAS,CAAC,MAAM,CAAC;oBAC9B,kBAAkB,GAAG,SAAS,CAAC,cAAc,CAAC;gBAChD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,WAAW,GAAG,SAAS,CAAC;oBACxB,iBAAiB,GAAG,SAAS,CAAC;oBAC9B,eAAe,GAAG,EAAE,CAAC;oBACrB,UAAU,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBACpC,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;IAEF,OAAO;QACL,MAAM;QACN,UAAU,EAAE,GAAG,EAAE,CAAC,WAAW;QAC7B,gBAAgB,EAAE,GAAG,EAAE,CAAC,iBAAiB;QACzC,cAAc,EAAE,GAAG,EAAE,CAAC,eAAe;QACrC,SAAS,EAAE,GAAG,EAAE,CAAC,UAAU;QAC3B,mBAAmB,EAAE,GAAG,EAAE;YACxB,kBAAkB,GAAG,SAAS,CAAC;QACjC,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client.worker.d.ts","sourceRoot":"","sources":["../../src/workers/client.worker.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAMjF,sBAAsB;AACtB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;IAC1B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,mBAAmB;AACnB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,oBAAoB;AACpB,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B;AAiCD;;GAEG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA4FtE;AAED;;GAEG;AACH,iBAAe,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2J3E;AAED;;GAEG;AACH,iBAAe,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CA4BxC;AAcD,QAAA,MAAM,MAAM;;;eAED,OAAO,KAAK;oBACP,OAAO,UAAU;mBAClB,OAAO,SAAS;;;CAGI,CAAC;AAEpC,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"client.worker.d.ts","sourceRoot":"","sources":["../../src/workers/client.worker.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,sBAAsB,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AAKjF,sBAAsB;AACtB,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,6DAA6D;IAC7D,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,oBAAoB;IACpB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,2CAA2C;IAC3C,GAAG,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;IAC1B,mCAAmC;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kCAAkC;IAClC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,cAAc,CAAC,EAAE,sBAAsB,CAAC;CACzC;AAED,mBAAmB;AACnB,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,oBAAoB;AACpB,MAAM,WAAW,kBAAmB,SAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;IACjE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAClC,KAAK,EAAE,iBAAiB,CAAC;IACzB,WAAW,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC9B,KAAK,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B;AAkCD;;GAEG;AACH,iBAAe,KAAK,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CA2FtE;AAED;;GAEG;AACH,iBAAe,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAyN3E;AAED;;GAEG;AACH,iBAAe,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAkCxC;AAcD,QAAA,MAAM,MAAM;;;eAED,OAAO,KAAK;oBACP,OAAO,UAAU;mBAClB,OAAO,SAAS;;;CAGI,CAAC;AAEpC,eAAe,MAAM,CAAC"}