@simplysm/sd-cli 12.13.19 → 12.13.20

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.
@@ -32,7 +32,7 @@ export function createSdNgPlugin(conf) {
32
32
  jit: false,
33
33
  advancedOptimizations: !conf.dev,
34
34
  }, Math.floor((os.cpus().length * 2) / 3));
35
- let cssStore = new Map();
35
+ // let cssStore = new Map<TNormPath, Buffer>();
36
36
  //---------------------------
37
37
  build.onStart(async () => {
38
38
  perf = new SdCliPerformanceTimer("esbuild");
@@ -41,7 +41,7 @@ export function createSdNgPlugin(conf) {
41
41
  outputContentsCacheMap.delete(modifiedFile);
42
42
  }
43
43
  tsCompileResult = await tsCompiler.compileAsync(conf.modifiedFileSet);
44
- cssStore.clear();
44
+ // cssStore.clear();
45
45
  conf.result.watchFileSet = tsCompileResult.watchFileSet;
46
46
  conf.result.affectedFileSet = tsCompileResult.affectedFileSet;
47
47
  const tsEsbuildResult = SdCliConvertMessageUtils.convertToEsbuildFromBuildMessages(tsCompileResult.messages, conf.pkgPath);
@@ -64,67 +64,80 @@ export function createSdNgPlugin(conf) {
64
64
  perf.start("esbuild transform & bundling");
65
65
  return res;
66
66
  });
67
- build.onResolve({ filter: /\.css$/ }, (args) => {
68
- if (args.path.startsWith("sd-css-asset:"))
69
- return;
70
- return {
71
- path: path.resolve(args.resolveDir, args.path),
72
- namespace: "sd-css",
73
- };
67
+ /*build.onResolve({ filter: /\.css$/ }, (args) => {
68
+ if (args.path.startsWith("sd-css-asset:")) return;
69
+ return {
70
+ path: path.resolve(args.resolveDir, args.path),
71
+ namespace: "sd-css",
72
+ };
74
73
  });
74
+
75
75
  build.onLoad({ filter: /\.css$/, namespace: "sd-css" }, async (args) => {
76
- const code = /* language=javascript */ `
77
- import href from "sd-css-asset:${PathUtils.posix(args.path)}"
78
- (function __sdEnsureStyle(href) {
79
- let link = document.querySelector('link[data-sd-style="' + href + '"]');
80
- if (link) return;
81
- link = document.createElement('link');
82
- link.rel = 'stylesheet';
83
- link.setAttribute('data-sd-style', href);
84
- link.href = href;
85
- document.head.appendChild(link);
86
- })(href);`;
87
- if (FsUtils.exists(args.path)) {
88
- const css = await FsUtils.readFileBufferAsync(args.path);
89
- cssStore.set(PathUtils.norm(args.path), css);
90
- }
91
- return { contents: code, loader: "js", resolveDir: path.dirname(args.path) };
76
+ const code = /!* language=javascript *!/ `
77
+ import href from "sd-css-asset:${PathUtils.posix(args.path)}"
78
+ (function __sdEnsureStyle(href) {
79
+ let link = document.querySelector('link[data-sd-style="' + href + '"]');
80
+ if (link) return;
81
+ link = document.createElement('link');
82
+ link.rel = 'stylesheet';
83
+ link.setAttribute('data-sd-style', href);
84
+ link.href = href;
85
+ document.head.appendChild(link);
86
+ })(href);`;
87
+
88
+ if (FsUtils.exists(args.path)) {
89
+ const css = await FsUtils.readFileBufferAsync(args.path);
90
+ cssStore.set(PathUtils.norm(args.path), css);
91
+ }
92
+
93
+ return { contents: code, loader: "js", resolveDir: path.dirname(args.path) };
92
94
  });
95
+
93
96
  build.onResolve({ filter: /^sd-css-asset:/ }, (args) => {
94
- const real = args.path.replace(/^sd-css-asset:/, "");
95
- return { path: real, namespace: "sd-css-asset" };
97
+ const real = args.path.replace(/^sd-css-asset:/, "");
98
+ return { path: real, namespace: "sd-css-asset" };
96
99
  });
100
+
97
101
  build.onLoad({ filter: /\.css$/, namespace: "sd-css-asset" }, (args) => {
98
- const cssContent = cssStore.get(PathUtils.norm(args.path)) ??
99
- cssStore.get(PathUtils.norm(args.path.replace(/[\\\/]src[\\\/]/, "\\dist\\")));
100
- if (cssContent == null) {
101
- return { errors: [{ text: `Missing CSS for ${PathUtils.norm(args.path)}` }] };
102
- }
102
+ const cssContent =
103
+ cssStore.get(PathUtils.norm(args.path)) ??
104
+ cssStore.get(PathUtils.norm(args.path.replace(/[\\\/]src[\\\/]/, "\\dist\\")));
105
+ if (cssContent == null) {
103
106
  return {
104
- contents: cssContent,
105
- loader: "file",
106
- resolveDir: path.dirname(args.path),
107
+ errors: [
108
+ {
109
+ location: null,
110
+ text: `Missing CSS for ${PathUtils.norm(args.path)}`,
111
+ },
112
+ ],
107
113
  };
108
- });
114
+ }
115
+
116
+ return {
117
+ contents: cssContent,
118
+ loader: "file",
119
+ resolveDir: path.dirname(args.path),
120
+ };
121
+ });*/
109
122
  build.onLoad({ filter: /\.ts$/ }, async (args) => {
110
123
  const emittedFiles = tsCompileResult.emittedFilesCacheMap.get(PathUtils.norm(args.path));
111
- try {
112
- const css = emittedFiles?.single((item) => Boolean(item.outAbsPath?.endsWith(".css")));
113
- if (css) {
114
- cssStore.set(PathUtils.norm(css.outAbsPath), Buffer.from(css.text));
115
- }
116
- }
117
- catch (err) {
118
- return {
119
- errors: [
120
- {
121
- text: (err?.message ?? String(err)) +
122
- "\n" +
123
- emittedFiles?.map((item) => "- " + item.outAbsPath).join("\n"),
124
- },
125
- ],
126
- };
127
- }
124
+ /*try {
125
+ const css = emittedFiles?.single((item) => Boolean(item.outAbsPath?.endsWith(".css")));
126
+ if (css) {
127
+ cssStore.set(PathUtils.norm(css.outAbsPath!), Buffer.from(css.text));
128
+ }
129
+ } catch (err) {
130
+ return {
131
+ errors: [
132
+ {
133
+ text:
134
+ (err?.message ?? String(err)) +
135
+ "\n" +
136
+ emittedFiles?.map((item) => "- " + item.outAbsPath).join("\n"),
137
+ },
138
+ ],
139
+ };
140
+ }*/
128
141
  const output = outputContentsCacheMap.get(PathUtils.norm(args.path));
129
142
  if (output != null) {
130
143
  return { contents: output, loader: "js" };
@@ -140,7 +153,7 @@ import href from "sd-css-asset:${PathUtils.posix(args.path)}"
140
153
  outputContentsCacheMap.set(PathUtils.norm(args.path), newContents);
141
154
  return { contents: newContents, loader: "js" };
142
155
  });
143
- build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => {
156
+ build.onLoad({ filter: /\.mjs$/ }, async (args) => {
144
157
  conf.result.watchFileSet.add(PathUtils.norm(args.path));
145
158
  const output = outputContentsCacheMap.get(PathUtils.norm(args.path));
146
159
  if (output != null) {
@@ -156,9 +169,7 @@ import href from "sd-css-asset:${PathUtils.posix(args.path)}"
156
169
  ? await FsUtils.readFileBufferAsync(args.path)
157
170
  : await javascriptTransformer.transformFile(args.path, false, sideEffects);*/
158
171
  const contents = await FsUtils.readFileBufferAsync(args.path);
159
- return args.path.includes("node_modules") && !args.path.includes("angular")
160
- ? contents
161
- : await javascriptTransformer.transformData(args.path, contents.toString(), false, sideEffects);
172
+ return await javascriptTransformer.transformData(args.path, contents.toString(), false, sideEffects);
162
173
  });
163
174
  outputContentsCacheMap.set(PathUtils.norm(args.path), newContents);
164
175
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"sd-ng.plugin-creator.js","sourceRoot":"","sources":["../../../src/pkg-builders/client/sd-ng.plugin-creator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-ng.plugin-creator.js","sourceRoot":"","sources":["../../../src/pkg-builders/client/sd-ng.plugin-creator.ts"],"names":[],"mappings":"AACA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,qBAAqB,EAAE,MAAM,yDAAyD,CAAC;AAChG,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAa,MAAM,wBAAwB,CAAC;AACjF,OAAO,EAAE,qBAAqB,EAAE,MAAM,qCAAqC,CAAC;AAC5E,OAAO,EAAE,wBAAwB,EAAE,MAAM,0CAA0C,CAAC;AAGpF,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAGhE,MAAM,UAAU,gBAAgB,CAAC,IAQhC;IACC,IAAI,IAA2B,CAAC;IAChC,MAAM,MAAM,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,UAAU,EAAE,QAAQ,EAAE,kBAAkB,CAAC,CAAC,CAAC;IAExE,MAAM,KAAK,GAAG,CAAC,GAAG,GAAU,EAAE,EAAE;QAC9B,MAAM,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,GAAG,CAAC,CAAC;IAC3D,CAAC,CAAC;IAEF,OAAO;QACL,IAAI,EAAE,eAAe;QACrB,KAAK,EAAE,CAAC,KAA0B,EAAE,EAAE;YACpC,MAAM,UAAU,GAAG,IAAI,YAAY,CAAC;gBAClC,OAAO,EAAE,IAAI,CAAC,OAAO;gBACrB,iBAAiB,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBACzC,SAAS,EAAE,IAAI,CAAC,GAAG;gBACnB,WAAW,EAAE,IAAI;gBACjB,UAAU,EAAE,IAAI,CAAC,QAAQ;gBACzB,QAAQ,EAAE,IAAI,CAAC,MAAM;gBACrB,iBAAiB,EAAE,IAAI,CAAC,iBAAiB;aAC1C,CAAC,CAAC;YAEH,IAAI,eAAoC,CAAC;YACzC,MAAM,sBAAsB,GAAG,IAAI,GAAG,EAAyB,CAAC;YAEhE,yBAAyB;YACzB,MAAM,qBAAqB,GAAG,IAAI,qBAAqB,CACrD;gBACE,oBAAoB,EAAE,IAAI,CAAC,GAAG;gBAC9B,SAAS,EAAE,IAAI,CAAC,GAAG;gBACnB,GAAG,EAAE,KAAK;gBACV,qBAAqB,EAAE,CAAC,IAAI,CAAC,GAAG;aACjC,EACD,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CACvC,CAAC;YAEF,+CAA+C;YAE/C,6BAA6B;YAE7B,KAAK,CAAC,OAAO,CAAC,KAAK,IAAI,EAAE;gBACvB,IAAI,GAAG,IAAI,qBAAqB,CAAC,SAAS,CAAC,CAAC;gBAE5C,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;oBACxD,KAAK,MAAM,YAAY,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;wBAChD,sBAAsB,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;oBAC9C,CAAC;oBAED,eAAe,GAAG,MAAM,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBAEtE,oBAAoB;oBAEpB,IAAI,CAAC,MAAM,CAAC,YAAY,GAAG,eAAe,CAAC,YAAY,CAAC;oBACxD,IAAI,CAAC,MAAM,CAAC,eAAe,GAAG,eAAe,CAAC,eAAe,CAAC;oBAE9D,MAAM,eAAe,GAAG,wBAAwB,CAAC,iCAAiC,CAChF,eAAe,CAAC,QAAQ,EACxB,IAAI,CAAC,OAAO,CACb,CAAC;oBACF,oBAAoB;oBACpB,OAAO;wBACL,MAAM,EAAE;4BACN,GAAG,eAAe,CAAC,MAAM;4BACzB,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;iCAChE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;iCAC9B,YAAY,EAAE;yBAClB,CAAC,YAAY,EAAE;wBAChB,QAAQ,EAAE;4BACR,GAAG,eAAe,CAAC,QAAQ;4BAC3B,GAAG,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,CAAC;iCAChE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC;iCAChC,YAAY,EAAE;yBAClB;qBACF,CAAC;gBACJ,CAAC,CAAC,CAAC;gBAEH,IAAI,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAC;gBAC3C,OAAO,GAAG,CAAC;YACb,CAAC,CAAC,CAAC;YAEH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAsDK;YAEL,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAC/C,MAAM,YAAY,GAAG,eAAe,CAAC,oBAAoB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEzF;;;;;;;;;;;;;;;;mBAgBG;gBAEH,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC5C,CAAC;gBAED,MAAM,QAAQ,GAAG,YAAY,EAAE,IAAI,EAAE,EAAE,IAAI,IAAI,EAAE,CAAC;gBAElD,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;oBACrD,IAAI,EAAE,kBAAkB;oBACxB,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,IAAI,EAAE;iBACrD,CAAC,CAAC;gBAEH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;oBACzE,OAAO,MAAM,qBAAqB,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC;gBAC3F,CAAC,CAAC,CAAC;gBAEH,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;gBAEnE,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;YACjD,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE;gBAChD,IAAI,CAAC,MAAM,CAAC,YAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEzD,MAAM,MAAM,GAAG,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACrE,IAAI,MAAM,IAAI,IAAI,EAAE,CAAC;oBACnB,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;gBAC5C,CAAC;gBAED,MAAM,EAAE,WAAW,EAAE,GAAG,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;oBACrD,IAAI,EAAE,kBAAkB;oBACxB,UAAU,EAAE,KAAK,CAAC,cAAc,CAAC,aAAa,IAAI,EAAE;iBACrD,CAAC,CAAC;gBAEH,IAAI,CAAC;oBACH,MAAM,WAAW,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,2BAA2B,EAAE,KAAK,IAAI,EAAE;wBACzE;;uGAE+E;wBAE/E,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;wBAE9D,OAAO,MAAM,qBAAqB,CAAC,aAAa,CAC9C,IAAI,CAAC,IAAI,EACT,QAAQ,CAAC,QAAQ,EAAE,EACnB,KAAK,EACL,WAAW,CACZ,CAAC;oBACJ,CAAC,CAAC,CAAC;oBAEH,sBAAsB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,CAAC,CAAC;oBAEnE,OAAO;wBACL,QAAQ,EAAE,WAAW;wBACrB,MAAM,EAAE,IAAI;qBACb,CAAC;gBACJ,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,OAAO,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,OAAO,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;oBAC3D;;;wBAGI;gBACN,CAAC;YACH,CAAC,CAAC,CAAC;YAEH,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC,GAAG;gBACD,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,MAAM,IAAI,EAAE,CAAC;qBAC3C,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC;qBACxB,IAAI,CAAC,GAAG,CAAC;gBACZ,IAAI,CACP,CAAC;YACF,KAAK,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,iBAAiB,EAAE,EAAE,CAAC,IAAI,EAAE,EAAE;gBACnD,IAAI,CAAC,MAAM,CAAC,YAAa,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;gBACzD,OAAO,IAAI,CAAC;YACd,CAAC,CAAC,CAAC;YAEH,KAAK,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;gBACzC,KAAK,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAEvB,KAAK,MAAM,wBAAwB,IAAI,eAAe,CAAC,2BAA2B,CAAC,MAAM,EAAE,EAAE,CAAC;oBAC5F,IAAI,aAAa,IAAI,wBAAwB,EAAE,CAAC;wBAC9C,MAAM,CAAC,WAAW,KAAK,EAAE,CAAC;wBAC1B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,wBAAwB,CAAC,WAAW,CAAC,CAAC;wBAEjE,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;4BACpB,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG;gCACvB,GAAG,MAAM,CAAC,QAAQ,CAAC,MAAM;gCACzB,GAAG,wBAAwB,CAAC,QAAQ,CAAC,MAAM;6BAC5C,CAAC;4BACF,MAAM,CAAC,QAAQ,CAAC,OAAO,GAAG;gCACxB,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO;gCAC1B,GAAG,wBAAwB,CAAC,QAAQ,CAAC,OAAO;6BAC7C,CAAC;wBACJ,CAAC;oBACH,CAAC;gBACH,CAAC;gBAED,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;gBAC7C,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;gBAEvC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;YAC/B,CAAC,CAAC,CAAC;QACL,CAAC;KACF,CAAC;AACJ,CAAC"}
@@ -108,16 +108,25 @@ export class SdTsCompiler {
108
108
  return null;
109
109
  }
110
110
  const styleBundleResult = await this.#styleBundler.bundleAsync(data, PathUtils.norm(context.containingFile), context.resourceFile != null ? PathUtils.norm(context.resourceFile) : undefined);
111
- if (!styleBundleResult.cached && !StringUtils.isNullOrEmpty(styleBundleResult.contents)) {
112
- const relPath = path.relative(path.resolve(this._opt.pkgPath, "src"), context.containingFile);
113
- const outAbsPath = PathUtils.norm(compilerOptions.outDir, relPath.replace(/\.ts$/, ".css"));
114
- const cache = this.#emittedFilesCacheMap.getOrCreate(PathUtils.norm(context.containingFile), []);
115
- cache.remove((item) => item.outAbsPath === outAbsPath);
116
- cache.push({ outAbsPath, text: styleBundleResult.contents });
117
- }
111
+ /*if (!styleBundleResult.cached && !StringUtils.isNullOrEmpty(styleBundleResult.contents)) {
112
+ const relPath = path.relative(
113
+ path.resolve(this._opt.pkgPath, "src"),
114
+ context.containingFile,
115
+ );
116
+ const outAbsPath = PathUtils.norm(
117
+ compilerOptions.outDir!,
118
+ relPath.replace(/\.ts$/, ".css"),
119
+ );
120
+ const cache = this.#emittedFilesCacheMap.getOrCreate(
121
+ PathUtils.norm(context.containingFile),
122
+ [],
123
+ );
124
+ cache.remove((item) => item.outAbsPath === outAbsPath);
125
+ cache.push({ outAbsPath, text: styleBundleResult.contents });
126
+ }*/
118
127
  return StringUtils.isNullOrEmpty(styleBundleResult.contents)
119
128
  ? null
120
- : { content: "" /*styleBundleResult.contents*/ };
129
+ : { content: styleBundleResult.contents };
121
130
  };
122
131
  }
123
132
  compilerHost.getModifiedResourceFiles = () => {
@@ -331,15 +340,15 @@ export class SdTsCompiler {
331
340
  const relPath = path.relative(path.resolve(this._opt.pkgPath, "src"), fullPath);
332
341
  return relPath.replace(/\.ts$/, "").replaceAll("\\", "/") + ".js";
333
342
  }));
334
- (transformers.before ??= []).push(this.#createExternalizeComponentStylesTransformer());
343
+ // (transformers.before ??= []).push(this.#createExternalizeComponentStylesTransformer());
335
344
  }
336
345
  this.#debug(`파일 출력 중...`);
337
346
  // affected에 새로 추가된 파일은 포함되지 않는 현상이 있어 sourceFileSet으로 바꿈
338
347
  // 비교해보니, 딱히 getSourceFiles라서 더 느려지는것 같지는 않음
339
348
  // 그래도 affected로 다시 테스트 (조금이라도 더 빠르게)
340
349
  for (const affectedFile of [
341
- ...prepareResult.affectedFileSet /*,
342
- ...prepareResult.styleAffectedFileSet,*/,
350
+ ...prepareResult.affectedFileSet,
351
+ ...prepareResult.styleAffectedFileSet,
343
352
  ]) {
344
353
  if (this.#emittedFilesCacheMap
345
354
  .get(affectedFile)
@@ -389,220 +398,105 @@ export class SdTsCompiler {
389
398
  diagnostics,
390
399
  };
391
400
  }
392
- #createExternalizeComponentStylesTransformer() {
393
- const f = ts.factory;
394
- /*function makeEnsureStyleFunc() {
395
- // function __sdEnsureStyle(href) { ... }
396
- const hrefParam = f.createParameterDeclaration(undefined, undefined, "href");
397
-
398
- // const d = document;
399
- const declD = f.createVariableStatement(
400
- undefined,
401
- f.createVariableDeclarationList(
402
- [f.createVariableDeclaration("d", undefined, undefined, f.createIdentifier("document"))],
403
- ts.NodeFlags.Const,
404
- ),
405
- );
406
-
407
- // let link = d.querySelector(`link[data-sd-style="${href}"]`);
408
- const tpl = f.createTemplateExpression(f.createTemplateHead('link[data-sd-style="'), [
409
- f.createTemplateSpan(f.createIdentifier("href"), f.createTemplateTail('"]')),
410
- ]);
411
- const declLink = f.createVariableStatement(
412
- undefined,
413
- f.createVariableDeclarationList(
414
- [
415
- f.createVariableDeclaration(
416
- "link",
417
- undefined,
418
- undefined,
419
- f.createCallExpression(
420
- f.createPropertyAccessExpression(f.createIdentifier("d"), "querySelector"),
421
- undefined,
422
- [tpl],
423
- ),
424
- ),
425
- ],
426
- ts.NodeFlags.Let,
427
- ),
428
- );
429
-
430
- // if (link) return;
431
- const ifReturn = f.createIfStatement(
432
- f.createIdentifier("link"),
433
- f.createBlock([f.createReturnStatement()], true),
434
- );
435
-
436
- // link = d.createElement('link');
437
- const mkLink = f.createExpressionStatement(
438
- f.createBinaryExpression(
439
- f.createIdentifier("link"),
440
- ts.SyntaxKind.EqualsToken,
441
- f.createCallExpression(
442
- f.createPropertyAccessExpression(f.createIdentifier("d"), "createElement"),
443
- undefined,
444
- [f.createStringLiteral("link")],
445
- ),
446
- ),
447
- );
448
-
449
- // link.rel = 'stylesheet';
450
- const setRel = f.createExpressionStatement(
451
- f.createBinaryExpression(
452
- f.createPropertyAccessExpression(f.createIdentifier("link"), "rel"),
453
- ts.SyntaxKind.EqualsToken,
454
- f.createStringLiteral("stylesheet"),
455
- ),
456
- );
457
-
458
- // link.setAttribute('data-sd-style', href);
459
- const setData = f.createExpressionStatement(
460
- f.createCallExpression(
461
- f.createPropertyAccessExpression(f.createIdentifier("link"), "setAttribute"),
462
- undefined,
463
- [f.createStringLiteral("data-sd-style"), f.createIdentifier("href")],
464
- ),
465
- );
466
-
467
- // link.href = href;
468
- const setHref = f.createExpressionStatement(
469
- f.createBinaryExpression(
470
- f.createPropertyAccessExpression(f.createIdentifier("link"), "href"),
471
- ts.SyntaxKind.EqualsToken,
472
- f.createIdentifier("href"),
473
- ),
474
- );
475
-
476
- // d.head.appendChild(link);
477
- const append = f.createExpressionStatement(
478
- f.createCallExpression(
479
- f.createPropertyAccessExpression(
480
- f.createPropertyAccessExpression(f.createIdentifier("d"), "head"),
481
- "appendChild",
482
- ),
483
- undefined,
484
- [f.createIdentifier("link")],
485
- ),
486
- );
487
-
488
- const body = f.createBlock(
489
- [declD, declLink, ifReturn, mkLink, setRel, setData, setHref, append],
490
- true,
491
- );
492
-
493
- return f.createFunctionDeclaration(
494
- undefined,
495
- undefined,
496
- f.createIdentifier("__sdEnsureStyle"),
497
- undefined,
498
- [hrefParam],
499
- undefined,
500
- body,
501
- );
502
- }
503
-
504
- function makeEnsureCallInStatic(href: string) {
505
- return f.createExpressionStatement(
506
- f.createCallExpression(
507
- f.createIdentifier("__sdEnsureStyle"),
508
- undefined,
509
- [f.createStringLiteral(href)], // 필요하면 devBust 인자도 추가 가능
510
- ),
511
- );
401
+ /*#createExternalizeComponentStylesTransformer() {
402
+ const f = ts.factory;
403
+
404
+ function upsertEnsureStyleHelper(sf: ts.SourceFile): ts.SourceFile {
405
+ const importTarget = "./" + path.basename(sf.fileName).replace(/\.ts$/, ".css");
406
+
407
+ // 이미 동일한 import가 있으면 스킵
408
+ if (
409
+ sf.statements.some(
410
+ (s) =>
411
+ ts.isImportDeclaration(s) &&
412
+ ts.isStringLiteral(s.moduleSpecifier) &&
413
+ s.moduleSpecifier.text === importTarget,
414
+ )
415
+ ) {
416
+ return sf;
512
417
  }
513
-
514
- const upsertEnsureStyleHelper = (sf: ts.SourceFile): ts.SourceFile => {
515
- // 이미 있으면 스킵
516
- if (
517
- sf.statements.some((s) => ts.isFunctionDeclaration(s) && s.name?.text === "__sdEnsureStyle")
518
- ) {
519
- return sf;
520
- }
521
-
522
- const fn = makeEnsureStyleFunc();
523
-
524
- const href = path.basename(sf.fileName).replace(/\.ts$/, ".css");
525
- const call = makeEnsureCallInStatic(href);
526
-
527
- if (this._opt.isForBundle) {
528
- return f.updateSourceFile(sf, [fn, call, ...sf.statements]);
529
- } else {
530
- const importTarget = "./" + path.basename(sf.fileName).replace(/\.ts$/, ".css");
531
- const importDecl = f.createImportDeclaration(
532
- undefined,
533
- undefined,
534
- f.createStringLiteral(importTarget),
535
- );
536
-
537
- return f.updateSourceFile(sf, [fn, call, importDecl, ...sf.statements]);
538
- }
539
- };*/
540
- function upsertEnsureStyleHelper(sf) {
541
- // 이미 있으면 스킵
542
- if (sf.statements.some((s) => ts.isFunctionDeclaration(s) && s.name?.text === "__sdEnsureStyle")) {
543
- return sf;
418
+
419
+ const importDecl = f.createImportDeclaration(
420
+ undefined,
421
+ undefined,
422
+ f.createStringLiteral(importTarget),
423
+ );
424
+
425
+ return f.updateSourceFile(sf, [importDecl, ...sf.statements]);
426
+ }
427
+
428
+ const removeStyleProp = (node: ts.ClassDeclaration) => {
429
+ const allDecorators = ts.getDecorators(node);
430
+ if (!allDecorators || allDecorators.length === 0) return node;
431
+
432
+ const decoratorsUpdated = allDecorators.map((dec) => {
433
+ if (!ts.isCallExpression(dec.expression)) return dec;
434
+ const call = dec.expression;
435
+ if (!ts.isIdentifier(call.expression) || call.expression.text !== "Component") return dec;
436
+ if (call.arguments.length !== 1) return dec;
437
+ const arg = call.arguments[0];
438
+ if (!ts.isObjectLiteralExpression(arg)) return dec;
439
+
440
+ const filteredProps = arg.properties.filter((p) => {
441
+ if (!ts.isPropertyAssignment(p)) return true;
442
+ const name = p.name;
443
+ const key = ts.isIdentifier(name)
444
+ ? name.text
445
+ : ts.isStringLiteralLike(name)
446
+ ? name.text
447
+ : undefined;
448
+ return !(key === "styles" || key === "styleUrls");
449
+ });
450
+
451
+ const newArg = f.updateObjectLiteralExpression(arg, filteredProps);
452
+ const newCall = f.updateCallExpression(call, call.expression, call.typeArguments, [newArg]);
453
+ return f.updateDecorator(dec, newCall);
454
+ });
455
+
456
+ const existingModifiers = node.modifiers ?? [];
457
+ const modifiersWithoutOldDecos = existingModifiers.filter((m) => !ts.isDecorator(m));
458
+ const newModifiers: readonly ts.ModifierLike[] = [
459
+ ...decoratorsUpdated,
460
+ ...modifiersWithoutOldDecos,
461
+ ];
462
+
463
+ const newNode = f.updateClassDeclaration(
464
+ node,
465
+ newModifiers,
466
+ node.name,
467
+ node.typeParameters,
468
+ node.heritageClauses,
469
+ node.members,
470
+ );
471
+
472
+ return f.updateClassDeclaration(
473
+ newNode,
474
+ newNode.modifiers,
475
+ newNode.name,
476
+ newNode.typeParameters,
477
+ newNode.heritageClauses,
478
+ newNode.members,
479
+ );
480
+ };
481
+
482
+ return (ctx: ts.TransformationContext) => {
483
+ return (sf: ts.SourceFile) => {
484
+ const has = this.#styleBundler!.getResultCache().get(PathUtils.norm(sf.fileName));
485
+ if (!has) return sf;
486
+
487
+ const realSf = upsertEnsureStyleHelper(sf);
488
+
489
+ function visitor(node: ts.Node): ts.Node {
490
+ if (ts.isClassDeclaration(node) && Boolean(ts.getDecorators(node)?.length)) {
491
+ return removeStyleProp(node);
544
492
  }
545
- const importTarget = "./" + path.basename(sf.fileName).replace(/\.ts$/, ".css");
546
- const importDecl = f.createImportDeclaration(undefined, // decorators
547
- undefined, // modifiers
548
- f.createStringLiteral(importTarget));
549
- return f.updateSourceFile(sf, [importDecl, ...sf.statements]);
550
- }
551
- const removeStyleProp = (node) => {
552
- const allDecorators = ts.getDecorators(node);
553
- if (!allDecorators || allDecorators.length === 0)
554
- return node;
555
- const decoratorsUpdated = allDecorators.map((dec) => {
556
- if (!ts.isCallExpression(dec.expression))
557
- return dec;
558
- const call = dec.expression;
559
- if (!ts.isIdentifier(call.expression) || call.expression.text !== "Component")
560
- return dec;
561
- if (call.arguments.length !== 1)
562
- return dec;
563
- const arg = call.arguments[0];
564
- if (!ts.isObjectLiteralExpression(arg))
565
- return dec;
566
- const filteredProps = arg.properties.filter((p) => {
567
- if (!ts.isPropertyAssignment(p))
568
- return true;
569
- const name = p.name;
570
- const key = ts.isIdentifier(name)
571
- ? name.text
572
- : ts.isStringLiteralLike(name)
573
- ? name.text
574
- : undefined;
575
- return !(key === "styles" || key === "styleUrls");
576
- });
577
- const newArg = f.updateObjectLiteralExpression(arg, filteredProps);
578
- const newCall = f.updateCallExpression(call, call.expression, call.typeArguments, [newArg]);
579
- return f.updateDecorator(dec, newCall);
580
- });
581
- const existingModifiers = node.modifiers ?? [];
582
- const modifiersWithoutOldDecos = existingModifiers.filter((m) => !ts.isDecorator(m));
583
- const newModifiers = [
584
- ...decoratorsUpdated,
585
- ...modifiersWithoutOldDecos,
586
- ];
587
- const newNode = f.updateClassDeclaration(node, newModifiers, node.name, node.typeParameters, node.heritageClauses, node.members);
588
- return f.updateClassDeclaration(newNode, newNode.modifiers, newNode.name, newNode.typeParameters, newNode.heritageClauses, newNode.members);
589
- };
590
- return (ctx) => {
591
- return (sf) => {
592
- const has = this.#styleBundler.getResultCache().get(PathUtils.norm(sf.fileName));
593
- if (!has)
594
- return sf;
595
- const realSf = upsertEnsureStyleHelper(sf);
596
- function visitor(node) {
597
- if (ts.isClassDeclaration(node) && Boolean(ts.getDecorators(node)?.length)) {
598
- return removeStyleProp(node);
599
- }
600
- return ts.visitEachChild(node, visitor, ctx);
601
- }
602
- return ts.visitNode(realSf, visitor);
603
- };
493
+ return ts.visitEachChild(node, visitor, ctx);
494
+ }
495
+
496
+ return ts.visitNode(realSf, visitor) as ts.SourceFile;
604
497
  };
605
- }
498
+ };
499
+ }*/
606
500
  #convertOutputToReal(filePath, distPath, text) {
607
501
  let realFilePath = PathUtils.norm(filePath);
608
502
  let realText = text;
@@ -1 +1 @@
1
- {"version":3,"file":"sd-ts-compiler.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-ts-compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sd-ts-compiler.js","sourceRoot":"","sources":["../../src/ts-compiler/sd-ts-compiler.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": "12.13.19",
3
+ "version": "12.13.20",
4
4
  "description": "심플리즘 패키지 - CLI",
5
5
  "author": "김석래",
6
6
  "repository": {
@@ -17,10 +17,10 @@
17
17
  "@angular/compiler-cli": "^20.2.3",
18
18
  "@anthropic-ai/sdk": "^0.60.0",
19
19
  "@electron/rebuild": "^4.0.1",
20
- "@simplysm/sd-core-common": "12.13.19",
21
- "@simplysm/sd-core-node": "12.13.19",
22
- "@simplysm/sd-service-server": "12.13.19",
23
- "@simplysm/sd-storage": "12.13.19",
20
+ "@simplysm/sd-core-common": "12.13.20",
21
+ "@simplysm/sd-core-node": "12.13.20",
22
+ "@simplysm/sd-service-server": "12.13.20",
23
+ "@simplysm/sd-storage": "12.13.20",
24
24
  "browserslist": "^4.25.4",
25
25
  "cordova": "^12.0.0",
26
26
  "electron": "^37.4.0",
@@ -53,7 +53,7 @@ export function createSdNgPlugin(conf: {
53
53
  Math.floor((os.cpus().length * 2) / 3),
54
54
  );
55
55
 
56
- let cssStore = new Map<TNormPath, Buffer>();
56
+ // let cssStore = new Map<TNormPath, Buffer>();
57
57
 
58
58
  //---------------------------
59
59
 
@@ -67,7 +67,7 @@ export function createSdNgPlugin(conf: {
67
67
 
68
68
  tsCompileResult = await tsCompiler.compileAsync(conf.modifiedFileSet);
69
69
 
70
- cssStore.clear();
70
+ // cssStore.clear();
71
71
 
72
72
  conf.result.watchFileSet = tsCompileResult.watchFileSet;
73
73
  conf.result.affectedFileSet = tsCompileResult.affectedFileSet;
@@ -97,7 +97,7 @@ export function createSdNgPlugin(conf: {
97
97
  return res;
98
98
  });
99
99
 
100
- build.onResolve({ filter: /\.css$/ }, (args) => {
100
+ /*build.onResolve({ filter: /\.css$/ }, (args) => {
101
101
  if (args.path.startsWith("sd-css-asset:")) return;
102
102
  return {
103
103
  path: path.resolve(args.resolveDir, args.path),
@@ -106,7 +106,7 @@ export function createSdNgPlugin(conf: {
106
106
  });
107
107
 
108
108
  build.onLoad({ filter: /\.css$/, namespace: "sd-css" }, async (args) => {
109
- const code = /* language=javascript */ `
109
+ const code = /!* language=javascript *!/ `
110
110
  import href from "sd-css-asset:${PathUtils.posix(args.path)}"
111
111
  (function __sdEnsureStyle(href) {
112
112
  let link = document.querySelector('link[data-sd-style="' + href + '"]');
@@ -136,7 +136,14 @@ import href from "sd-css-asset:${PathUtils.posix(args.path)}"
136
136
  cssStore.get(PathUtils.norm(args.path)) ??
137
137
  cssStore.get(PathUtils.norm(args.path.replace(/[\\\/]src[\\\/]/, "\\dist\\")));
138
138
  if (cssContent == null) {
139
- return { errors: [{ text: `Missing CSS for ${PathUtils.norm(args.path)}` }] };
139
+ return {
140
+ errors: [
141
+ {
142
+ location: null,
143
+ text: `Missing CSS for ${PathUtils.norm(args.path)}`,
144
+ },
145
+ ],
146
+ };
140
147
  }
141
148
 
142
149
  return {
@@ -144,12 +151,12 @@ import href from "sd-css-asset:${PathUtils.posix(args.path)}"
144
151
  loader: "file",
145
152
  resolveDir: path.dirname(args.path),
146
153
  };
147
- });
154
+ });*/
148
155
 
149
156
  build.onLoad({ filter: /\.ts$/ }, async (args) => {
150
157
  const emittedFiles = tsCompileResult.emittedFilesCacheMap.get(PathUtils.norm(args.path));
151
158
 
152
- try {
159
+ /*try {
153
160
  const css = emittedFiles?.single((item) => Boolean(item.outAbsPath?.endsWith(".css")));
154
161
  if (css) {
155
162
  cssStore.set(PathUtils.norm(css.outAbsPath!), Buffer.from(css.text));
@@ -165,7 +172,7 @@ import href from "sd-css-asset:${PathUtils.posix(args.path)}"
165
172
  },
166
173
  ],
167
174
  };
168
- }
175
+ }*/
169
176
 
170
177
  const output = outputContentsCacheMap.get(PathUtils.norm(args.path));
171
178
  if (output != null) {
@@ -188,7 +195,7 @@ import href from "sd-css-asset:${PathUtils.posix(args.path)}"
188
195
  return { contents: newContents, loader: "js" };
189
196
  });
190
197
 
191
- build.onLoad({ filter: /\.[cm]?js$/ }, async (args) => {
198
+ build.onLoad({ filter: /\.mjs$/ }, async (args) => {
192
199
  conf.result.watchFileSet!.add(PathUtils.norm(args.path));
193
200
 
194
201
  const output = outputContentsCacheMap.get(PathUtils.norm(args.path));
@@ -209,14 +216,12 @@ import href from "sd-css-asset:${PathUtils.posix(args.path)}"
209
216
 
210
217
  const contents = await FsUtils.readFileBufferAsync(args.path);
211
218
 
212
- return args.path.includes("node_modules") && !args.path.includes("angular")
213
- ? contents
214
- : await javascriptTransformer.transformData(
215
- args.path,
216
- contents.toString(),
217
- false,
218
- sideEffects,
219
- );
219
+ return await javascriptTransformer.transformData(
220
+ args.path,
221
+ contents.toString(),
222
+ false,
223
+ sideEffects,
224
+ );
220
225
  });
221
226
 
222
227
  outputContentsCacheMap.set(PathUtils.norm(args.path), newContents);
@@ -171,7 +171,7 @@ export class SdTsCompiler {
171
171
  context.resourceFile != null ? PathUtils.norm(context.resourceFile) : undefined,
172
172
  );
173
173
 
174
- if (!styleBundleResult.cached && !StringUtils.isNullOrEmpty(styleBundleResult.contents)) {
174
+ /*if (!styleBundleResult.cached && !StringUtils.isNullOrEmpty(styleBundleResult.contents)) {
175
175
  const relPath = path.relative(
176
176
  path.resolve(this._opt.pkgPath, "src"),
177
177
  context.containingFile,
@@ -186,11 +186,11 @@ export class SdTsCompiler {
186
186
  );
187
187
  cache.remove((item) => item.outAbsPath === outAbsPath);
188
188
  cache.push({ outAbsPath, text: styleBundleResult.contents });
189
- }
189
+ }*/
190
190
 
191
191
  return StringUtils.isNullOrEmpty(styleBundleResult.contents)
192
192
  ? null
193
- : { content: "" /*styleBundleResult.contents*/ };
193
+ : { content: styleBundleResult.contents };
194
194
  };
195
195
  }
196
196
 
@@ -508,7 +508,7 @@ export class SdTsCompiler {
508
508
  }),
509
509
  );
510
510
 
511
- (transformers.before ??= []).push(this.#createExternalizeComponentStylesTransformer());
511
+ // (transformers.before ??= []).push(this.#createExternalizeComponentStylesTransformer());
512
512
  }
513
513
 
514
514
  this.#debug(`파일 출력 중...`);
@@ -517,8 +517,8 @@ export class SdTsCompiler {
517
517
  // 비교해보니, 딱히 getSourceFiles라서 더 느려지는것 같지는 않음
518
518
  // 그래도 affected로 다시 테스트 (조금이라도 더 빠르게)
519
519
  for (const affectedFile of [
520
- ...prepareResult.affectedFileSet /*,
521
- ...prepareResult.styleAffectedFileSet,*/,
520
+ ...prepareResult.affectedFileSet,
521
+ ...prepareResult.styleAffectedFileSet,
522
522
  ]) {
523
523
  if (
524
524
  this.#emittedFilesCacheMap
@@ -595,168 +595,27 @@ export class SdTsCompiler {
595
595
  };
596
596
  }
597
597
 
598
- #createExternalizeComponentStylesTransformer() {
598
+ /*#createExternalizeComponentStylesTransformer() {
599
599
  const f = ts.factory;
600
600
 
601
- /*function makeEnsureStyleFunc() {
602
- // function __sdEnsureStyle(href) { ... }
603
- const hrefParam = f.createParameterDeclaration(undefined, undefined, "href");
604
-
605
- // const d = document;
606
- const declD = f.createVariableStatement(
607
- undefined,
608
- f.createVariableDeclarationList(
609
- [f.createVariableDeclaration("d", undefined, undefined, f.createIdentifier("document"))],
610
- ts.NodeFlags.Const,
611
- ),
612
- );
613
-
614
- // let link = d.querySelector(`link[data-sd-style="${href}"]`);
615
- const tpl = f.createTemplateExpression(f.createTemplateHead('link[data-sd-style="'), [
616
- f.createTemplateSpan(f.createIdentifier("href"), f.createTemplateTail('"]')),
617
- ]);
618
- const declLink = f.createVariableStatement(
619
- undefined,
620
- f.createVariableDeclarationList(
621
- [
622
- f.createVariableDeclaration(
623
- "link",
624
- undefined,
625
- undefined,
626
- f.createCallExpression(
627
- f.createPropertyAccessExpression(f.createIdentifier("d"), "querySelector"),
628
- undefined,
629
- [tpl],
630
- ),
631
- ),
632
- ],
633
- ts.NodeFlags.Let,
634
- ),
635
- );
636
-
637
- // if (link) return;
638
- const ifReturn = f.createIfStatement(
639
- f.createIdentifier("link"),
640
- f.createBlock([f.createReturnStatement()], true),
641
- );
642
-
643
- // link = d.createElement('link');
644
- const mkLink = f.createExpressionStatement(
645
- f.createBinaryExpression(
646
- f.createIdentifier("link"),
647
- ts.SyntaxKind.EqualsToken,
648
- f.createCallExpression(
649
- f.createPropertyAccessExpression(f.createIdentifier("d"), "createElement"),
650
- undefined,
651
- [f.createStringLiteral("link")],
652
- ),
653
- ),
654
- );
655
-
656
- // link.rel = 'stylesheet';
657
- const setRel = f.createExpressionStatement(
658
- f.createBinaryExpression(
659
- f.createPropertyAccessExpression(f.createIdentifier("link"), "rel"),
660
- ts.SyntaxKind.EqualsToken,
661
- f.createStringLiteral("stylesheet"),
662
- ),
663
- );
664
-
665
- // link.setAttribute('data-sd-style', href);
666
- const setData = f.createExpressionStatement(
667
- f.createCallExpression(
668
- f.createPropertyAccessExpression(f.createIdentifier("link"), "setAttribute"),
669
- undefined,
670
- [f.createStringLiteral("data-sd-style"), f.createIdentifier("href")],
671
- ),
672
- );
673
-
674
- // link.href = href;
675
- const setHref = f.createExpressionStatement(
676
- f.createBinaryExpression(
677
- f.createPropertyAccessExpression(f.createIdentifier("link"), "href"),
678
- ts.SyntaxKind.EqualsToken,
679
- f.createIdentifier("href"),
680
- ),
681
- );
682
-
683
- // d.head.appendChild(link);
684
- const append = f.createExpressionStatement(
685
- f.createCallExpression(
686
- f.createPropertyAccessExpression(
687
- f.createPropertyAccessExpression(f.createIdentifier("d"), "head"),
688
- "appendChild",
689
- ),
690
- undefined,
691
- [f.createIdentifier("link")],
692
- ),
693
- );
694
-
695
- const body = f.createBlock(
696
- [declD, declLink, ifReturn, mkLink, setRel, setData, setHref, append],
697
- true,
698
- );
699
-
700
- return f.createFunctionDeclaration(
701
- undefined,
702
- undefined,
703
- f.createIdentifier("__sdEnsureStyle"),
704
- undefined,
705
- [hrefParam],
706
- undefined,
707
- body,
708
- );
709
- }
710
-
711
- function makeEnsureCallInStatic(href: string) {
712
- return f.createExpressionStatement(
713
- f.createCallExpression(
714
- f.createIdentifier("__sdEnsureStyle"),
715
- undefined,
716
- [f.createStringLiteral(href)], // 필요하면 devBust 인자도 추가 가능
717
- ),
718
- );
719
- }
720
-
721
- const upsertEnsureStyleHelper = (sf: ts.SourceFile): ts.SourceFile => {
722
- // 이미 있으면 스킵
723
- if (
724
- sf.statements.some((s) => ts.isFunctionDeclaration(s) && s.name?.text === "__sdEnsureStyle")
725
- ) {
726
- return sf;
727
- }
728
-
729
- const fn = makeEnsureStyleFunc();
730
-
731
- const href = path.basename(sf.fileName).replace(/\.ts$/, ".css");
732
- const call = makeEnsureCallInStatic(href);
733
-
734
- if (this._opt.isForBundle) {
735
- return f.updateSourceFile(sf, [fn, call, ...sf.statements]);
736
- } else {
737
- const importTarget = "./" + path.basename(sf.fileName).replace(/\.ts$/, ".css");
738
- const importDecl = f.createImportDeclaration(
739
- undefined,
740
- undefined,
741
- f.createStringLiteral(importTarget),
742
- );
743
-
744
- return f.updateSourceFile(sf, [fn, call, importDecl, ...sf.statements]);
745
- }
746
- };*/
747
-
748
601
  function upsertEnsureStyleHelper(sf: ts.SourceFile): ts.SourceFile {
749
- // 이미 있으면 스킵
602
+ const importTarget = "./" + path.basename(sf.fileName).replace(/\.ts$/, ".css");
603
+
604
+ // 이미 동일한 import가 있으면 스킵
750
605
  if (
751
- sf.statements.some((s) => ts.isFunctionDeclaration(s) && s.name?.text === "__sdEnsureStyle")
606
+ sf.statements.some(
607
+ (s) =>
608
+ ts.isImportDeclaration(s) &&
609
+ ts.isStringLiteral(s.moduleSpecifier) &&
610
+ s.moduleSpecifier.text === importTarget,
611
+ )
752
612
  ) {
753
613
  return sf;
754
614
  }
755
615
 
756
- const importTarget = "./" + path.basename(sf.fileName).replace(/\.ts$/, ".css");
757
616
  const importDecl = f.createImportDeclaration(
758
- undefined, // decorators
759
- undefined, // modifiers
617
+ undefined,
618
+ undefined,
760
619
  f.createStringLiteral(importTarget),
761
620
  );
762
621
 
@@ -834,7 +693,7 @@ export class SdTsCompiler {
834
693
  return ts.visitNode(realSf, visitor) as ts.SourceFile;
835
694
  };
836
695
  };
837
- }
696
+ }*/
838
697
 
839
698
  #convertOutputToReal(filePath: string, distPath: string, text: string) {
840
699
  let realFilePath = PathUtils.norm(filePath);