@simplysm/sd-cli 12.9.18 → 12.9.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.
Files changed (49) hide show
  1. package/dist/entry/sd-cli-cordova.d.ts +2 -2
  2. package/dist/entry/sd-cli-cordova.js +12 -12
  3. package/dist/entry/sd-cli-cordova.js.map +1 -1
  4. package/dist/entry/sd-cli-electron.d.ts +6 -1
  5. package/dist/entry/sd-cli-electron.js +85 -142
  6. package/dist/entry/sd-cli-electron.js.map +1 -1
  7. package/dist/entry/sd-cli-project.js +1 -1
  8. package/dist/entry/sd-cli-project.js.map +1 -1
  9. package/dist/fix/convert-ecma-private-to-ts-private.d.ts +1 -0
  10. package/dist/fix/{convert-private.js → convert-ecma-private-to-ts-private.js} +7 -8
  11. package/dist/fix/convert-ecma-private-to-ts-private.js.map +1 -0
  12. package/dist/fix/convert-ordering-interface.d.ts +1 -0
  13. package/dist/fix/convert-ordering-interface.js +46 -0
  14. package/dist/fix/convert-ordering-interface.js.map +1 -0
  15. package/dist/fix/convert-sd-sheet-bindings-inInline-template.d.ts +1 -0
  16. package/dist/fix/convert-sd-sheet-bindings-inInline-template.js +49 -0
  17. package/dist/fix/convert-sd-sheet-bindings-inInline-template.js.map +1 -0
  18. package/dist/fix/core/get-ts-morph-source-files.d.ts +1 -0
  19. package/dist/fix/core/get-ts-morph-source-files.js +8 -0
  20. package/dist/fix/core/get-ts-morph-source-files.js.map +1 -0
  21. package/dist/fix/prefix-underscore-for-access-modifiers.d.ts +1 -0
  22. package/dist/fix/{convert-private-underscore.js → prefix-underscore-for-access-modifiers.js} +13 -10
  23. package/dist/fix/prefix-underscore-for-access-modifiers.js.map +1 -0
  24. package/dist/pkg-builders/client/sd-client.build-runner.js +1 -1
  25. package/dist/pkg-builders/client/sd-client.build-runner.js.map +1 -1
  26. package/dist/sd-cli-entry.js +12 -5
  27. package/dist/sd-cli-entry.js.map +1 -1
  28. package/dist/ts-compiler/create-model-rewrite.transformer.d.ts +2 -0
  29. package/dist/ts-compiler/create-model-rewrite.transformer.js +52 -0
  30. package/dist/ts-compiler/create-model-rewrite.transformer.js.map +1 -0
  31. package/dist/ts-compiler/sd-ts-compiler.js +2 -0
  32. package/dist/ts-compiler/sd-ts-compiler.js.map +1 -1
  33. package/package.json +8 -8
  34. package/src/entry/sd-cli-cordova.ts +17 -13
  35. package/src/entry/sd-cli-electron.ts +115 -179
  36. package/src/entry/sd-cli-project.ts +4 -1
  37. package/src/fix/{convert-private.ts → convert-ecma-private-to-ts-private.ts} +5 -8
  38. package/src/fix/convert-ordering-interface.ts +56 -0
  39. package/src/fix/convert-sd-sheet-bindings-inInline-template.ts +62 -0
  40. package/src/fix/core/get-ts-morph-source-files.ts +9 -0
  41. package/src/fix/{convert-private-underscore.ts → prefix-underscore-for-access-modifiers.ts} +12 -13
  42. package/src/pkg-builders/client/sd-client.build-runner.ts +1 -1
  43. package/src/sd-cli-entry.ts +14 -5
  44. package/src/ts-compiler/create-model-rewrite.transformer.ts +119 -0
  45. package/src/ts-compiler/sd-ts-compiler.ts +2 -0
  46. package/dist/fix/convert-private-underscore.d.ts +0 -1
  47. package/dist/fix/convert-private-underscore.js.map +0 -1
  48. package/dist/fix/convert-private.d.ts +0 -1
  49. package/dist/fix/convert-private.js.map +0 -1
@@ -0,0 +1,119 @@
1
+ import ts from "typescript";
2
+
3
+ export function createModelRewriteTransformer(): ts.TransformerFactory<ts.SourceFile> {
4
+ return (context) => {
5
+ const factory = context.factory;
6
+
7
+ return (sourceFile) => {
8
+ const newStatements: ts.Statement[] = [];
9
+
10
+ for (const stmt of sourceFile.statements) {
11
+ // model(...) 할당을 찾아서 변형
12
+ if (
13
+ ts.isVariableStatement(stmt) &&
14
+ stmt.declarationList.declarations.length === 1
15
+ ) {
16
+ const decl = stmt.declarationList.declarations[0];
17
+
18
+ if (
19
+ decl.initializer &&
20
+ ts.isCallExpression(decl.initializer) &&
21
+ ts.isIdentifier(decl.initializer.expression) &&
22
+ decl.initializer.expression.text === "model"
23
+ ) {
24
+ const varName = (decl.name as ts.Identifier).text;
25
+ const valueNode = decl.initializer.arguments[0];
26
+
27
+ // __value = input(...)
28
+ const inputDecl = factory.createVariableStatement(
29
+ [factory.createModifier(ts.SyntaxKind.ConstKeyword)],
30
+ factory.createVariableDeclarationList(
31
+ [
32
+ factory.createVariableDeclaration(
33
+ `__${varName}`,
34
+ undefined,
35
+ undefined,
36
+ factory.createCallExpression(
37
+ factory.createIdentifier("input"),
38
+ undefined,
39
+ [
40
+ valueNode, factory.createObjectLiteralExpression([
41
+ factory.createPropertyAssignment(
42
+ factory.createIdentifier("alias"),
43
+ factory.createStringLiteral(varName),
44
+ ),
45
+ ]),
46
+ ],
47
+ ),
48
+ ),
49
+ ],
50
+ ts.NodeFlags.Const,
51
+ ),
52
+ );
53
+
54
+ // __valueChange = output(...)
55
+ const outputDecl = factory.createVariableStatement(
56
+ [factory.createModifier(ts.SyntaxKind.ConstKeyword)],
57
+ factory.createVariableDeclarationList(
58
+ [
59
+ factory.createVariableDeclaration(
60
+ `__${varName}Change`,
61
+ undefined,
62
+ undefined,
63
+ factory.createCallExpression(
64
+ factory.createIdentifier("output"),
65
+ undefined,
66
+ [
67
+ factory.createObjectLiteralExpression([
68
+ factory.createPropertyAssignment(
69
+ factory.createIdentifier("alias"),
70
+ factory.createStringLiteral(`${varName}Change`),
71
+ ),
72
+ ]),
73
+ ],
74
+ ),
75
+ ),
76
+ ],
77
+ ts.NodeFlags.Const,
78
+ ),
79
+ );
80
+
81
+ // value = $model(__value, __valueChange)
82
+ const modelDecl = factory.createVariableStatement(
83
+ [factory.createModifier(ts.SyntaxKind.ConstKeyword)],
84
+ factory.createVariableDeclarationList(
85
+ [
86
+ factory.createVariableDeclaration(
87
+ factory.createIdentifier(varName),
88
+ undefined,
89
+ undefined,
90
+ factory.createCallExpression(
91
+ factory.createIdentifier("$model"),
92
+ undefined,
93
+ [
94
+ factory.createIdentifier(`__${varName}`),
95
+ factory.createIdentifier(`__${varName}Change`),
96
+ ],
97
+ ),
98
+ ),
99
+ ],
100
+ ts.NodeFlags.Const,
101
+ ),
102
+ );
103
+
104
+ newStatements.push(inputDecl, outputDecl, modelDecl);
105
+ continue; // skip original `value = model(...)`
106
+ }
107
+ }
108
+
109
+ // 그대로 유지
110
+ newStatements.push(stmt);
111
+ }
112
+
113
+ return factory.updateSourceFile(
114
+ sourceFile,
115
+ ts.setTextRange(factory.createNodeArray(newStatements), sourceFile.statements),
116
+ );
117
+ };
118
+ };
119
+ }
@@ -25,6 +25,7 @@ import {
25
25
  } from "@angular/build/src/tools/esbuild/angular/component-stylesheets";
26
26
  import { transformSupportedBrowsersToTargets } from "@angular/build/src/tools/esbuild/utils";
27
27
  import browserslist from "browserslist";
28
+ import { createModelRewriteTransformer } from "./create-model-rewrite.transformer";
28
29
 
29
30
  export class SdTsCompiler {
30
31
  private _logger = SdLogger.get(["simplysm", "sd-cli", "SdTsCompiler"]);
@@ -534,6 +535,7 @@ ${affectedFileTree.map(item => getTreeText(item)).join("\n")}`.trim());
534
535
  return relPath.replace(/\.ts$/, "").replaceAll("\\", "/") + ".js";
535
536
  }),
536
537
  );
538
+ (transformers.before ??= []).push(createModelRewriteTransformer());
537
539
  }
538
540
 
539
541
  this._debug(`파일 출력 중...`);
@@ -1 +0,0 @@
1
- export default function convertPrivateUnderscore(): void;
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-private-underscore.js","sourceRoot":"","sources":["../../src/fix/convert-private-underscore.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,OAAO,EAGP,UAAU,GACX,MAAM,UAAU,CAAC;AAElB,MAAM,CAAC,OAAO,UAAU,wBAAwB;IAC9C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,gBAAgB,EAAE,oBAAoB;KACvC,CAAC,CAAC;IAEH,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,wBAAwB,CAAC,CAAC;IAErE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;QACrC,KAAK,MAAM,QAAQ,IAAI,UAAU,CAAC,UAAU,EAAE,EAAE,CAAC;YAC/C,MAAM,OAAO,GAAG,QAAQ,CAAC,UAAU,EAAE,CAAC;YAEtC,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;gBAC7B,SAAS;gBACT,IACE,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,mBAAmB;oBACnD,MAAM,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,iBAAiB,EACjD,CAAC;oBACD,SAAS;gBACX,CAAC;gBAED,MAAM,WAAW,GAAG,MAAiD,CAAC;gBACtE,MAAM,QAAQ,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;gBAC3C,IAAI,QAAQ,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,UAAU;oBAAE,SAAS;gBAE3D,MAAM,YAAY,GAAG,QAAQ,CAAC,OAAO,EAAE,CAAC;gBACxC,MAAM,SAAS,GAAG,WAAW,CAAC,YAAY,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEvE,SAAS;gBACT,IAAI,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;oBAAE,SAAS;gBAC3C,IAAI,cAAc,CAAC,IAAI,CAAC,YAAY,CAAC;oBAAE,SAAS;gBAChD,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC;oBAAE,SAAS;gBAEhF,IAAI,SAAS,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrE,MAAM,OAAO,GAAG,IAAI,YAAY,EAAE,CAAC;oBAEnC,WAAW,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;oBAE5B,iBAAiB;oBACjB,UAAU;yBACP,oBAAoB,CAAC,UAAU,CAAC,wBAAwB,CAAC;yBACzD,OAAO,CAAC,CAAC,IAA8B,EAAE,EAAE;wBAC1C,IACE,IAAI,CAAC,OAAO,EAAE,KAAK,YAAY;4BAC/B,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,WAAW,EACzD,CAAC;4BACD,IAAI,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;wBAC9C,CAAC;oBACH,CAAC,CAAC,CAAC;oBAEL,OAAO,CAAC,GAAG,CAAC,aAAa,UAAU,CAAC,WAAW,EAAE,OAAO,YAAY,MAAM,OAAO,EAAE,CAAC,CAAC;gBACvF,CAAC;YACH,CAAC;QACH,CAAC;QAED,UAAU,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;AAClD,CAAC"}
@@ -1 +0,0 @@
1
- export default function convertPrivate(): void;
@@ -1 +0,0 @@
1
- {"version":3,"file":"convert-private.js","sourceRoot":"","sources":["../../src/fix/convert-private.ts"],"names":[],"mappings":"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"}