@tsonic/cli 0.0.14 → 0.0.16

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 (56) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/cli/constants.d.ts +1 -1
  3. package/dist/cli/constants.d.ts.map +1 -1
  4. package/dist/cli/constants.js +4 -1
  5. package/dist/cli/constants.js.map +1 -1
  6. package/dist/cli/dispatcher.d.ts.map +1 -1
  7. package/dist/cli/dispatcher.js +63 -24
  8. package/dist/cli/dispatcher.js.map +1 -1
  9. package/dist/cli/help.d.ts.map +1 -1
  10. package/dist/cli/help.js +10 -7
  11. package/dist/cli/help.js.map +1 -1
  12. package/dist/cli/parser.d.ts +1 -2
  13. package/dist/cli/parser.d.ts.map +1 -1
  14. package/dist/cli/parser.js +29 -19
  15. package/dist/cli/parser.js.map +1 -1
  16. package/dist/cli/parser.test.js +49 -29
  17. package/dist/cli/parser.test.js.map +1 -1
  18. package/dist/commands/add-common.d.ts +61 -0
  19. package/dist/commands/add-common.d.ts.map +1 -0
  20. package/dist/commands/add-common.js +226 -0
  21. package/dist/commands/add-common.js.map +1 -0
  22. package/dist/commands/add-framework.d.ts +17 -0
  23. package/dist/commands/add-framework.d.ts.map +1 -0
  24. package/dist/commands/add-framework.js +125 -0
  25. package/dist/commands/add-framework.js.map +1 -0
  26. package/dist/commands/add-nuget.d.ts +18 -0
  27. package/dist/commands/add-nuget.d.ts.map +1 -0
  28. package/dist/commands/add-nuget.js +256 -0
  29. package/dist/commands/add-nuget.js.map +1 -0
  30. package/dist/commands/add-package.d.ts +12 -19
  31. package/dist/commands/add-package.d.ts.map +1 -1
  32. package/dist/commands/add-package.js +175 -86
  33. package/dist/commands/add-package.js.map +1 -1
  34. package/dist/commands/build.d.ts.map +1 -1
  35. package/dist/commands/build.js +12 -2
  36. package/dist/commands/build.js.map +1 -1
  37. package/dist/commands/generate.d.ts.map +1 -1
  38. package/dist/commands/generate.js +74 -53
  39. package/dist/commands/generate.js.map +1 -1
  40. package/dist/commands/init.d.ts +2 -3
  41. package/dist/commands/init.d.ts.map +1 -1
  42. package/dist/commands/init.js +21 -63
  43. package/dist/commands/init.js.map +1 -1
  44. package/dist/commands/init.test.js +19 -59
  45. package/dist/commands/init.test.js.map +1 -1
  46. package/dist/config.d.ts.map +1 -1
  47. package/dist/config.js +63 -6
  48. package/dist/config.js.map +1 -1
  49. package/dist/config.test.js +36 -6
  50. package/dist/config.test.js.map +1 -1
  51. package/dist/types.d.ts +33 -3
  52. package/dist/types.d.ts.map +1 -1
  53. package/package.json +5 -5
  54. package/runtime/Tsonic.JSRuntime.dll +0 -0
  55. package/runtime/Tsonic.Runtime.dll +0 -0
  56. package/runtime/nodejs.dll +0 -0
@@ -7,8 +7,7 @@
7
7
  export const parseArgs = (args) => {
8
8
  const options = {};
9
9
  let command = "";
10
- let entryFile;
11
- let secondArg;
10
+ const positionals = [];
12
11
  const programArgs = [];
13
12
  let captureProgramArgs = false;
14
13
  for (let i = 0; i < args.length; i++) {
@@ -34,20 +33,25 @@ export const parseArgs = (args) => {
34
33
  i++;
35
34
  }
36
35
  // Handle "add package" as two-word command
37
- if (command === "add" && nextArg === "package") {
38
- command = "add:package";
39
- i++;
36
+ if (command === "add") {
37
+ if (nextArg === "package") {
38
+ command = "add:package";
39
+ i++;
40
+ }
41
+ else if (nextArg === "nuget") {
42
+ command = "add:nuget";
43
+ i++;
44
+ }
45
+ else if (nextArg === "framework") {
46
+ command = "add:framework";
47
+ i++;
48
+ }
40
49
  }
41
50
  continue;
42
51
  }
43
- // First positional arg after command (entry file or dll path)
44
- if (command && !entryFile && !arg.startsWith("-")) {
45
- entryFile = arg;
46
- continue;
47
- }
48
- // Second positional arg (for commands that take two args like add:package)
49
- if (command && entryFile && !secondArg && !arg.startsWith("-")) {
50
- secondArg = arg;
52
+ // Positional args after command
53
+ if (command && !arg.startsWith("-")) {
54
+ positionals.push(arg);
51
55
  continue;
52
56
  }
53
57
  // Options
@@ -55,10 +59,10 @@ export const parseArgs = (args) => {
55
59
  case "-h":
56
60
  case "--help":
57
61
  options.verbose = true; // reuse for help flag
58
- return { command: "help", options: {} };
62
+ return { command: "help", positionals: [], options: {}, programArgs };
59
63
  case "-v":
60
64
  case "--version":
61
- return { command: "version", options: {} };
65
+ return { command: "version", positionals: [], options: {}, programArgs };
62
66
  case "-V":
63
67
  case "--verbose":
64
68
  options.verbose = true;
@@ -87,9 +91,6 @@ export const parseArgs = (args) => {
87
91
  case "--rid":
88
92
  options.rid = args[++i] ?? "";
89
93
  break;
90
- case "--runtime":
91
- options.runtime = (args[++i] ?? "js");
92
- break;
93
94
  case "--skip-types":
94
95
  options.skipTypes = true;
95
96
  break;
@@ -123,8 +124,17 @@ export const parseArgs = (args) => {
123
124
  }
124
125
  }
125
126
  break;
127
+ case "--deps":
128
+ {
129
+ const depDir = args[++i] ?? "";
130
+ if (depDir) {
131
+ options.deps = options.deps || [];
132
+ options.deps.push(depDir);
133
+ }
134
+ }
135
+ break;
126
136
  }
127
137
  }
128
- return { command, entryFile, secondArg, options, programArgs };
138
+ return { command, positionals, options, programArgs };
129
139
  };
130
140
  //# sourceMappingURL=parser.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CACvB,IAAc,EAMd,EAAE;IACF,MAAM,OAAO,GAAe,EAAE,CAAC;IAC/B,IAAI,OAAO,GAAG,EAAE,CAAC;IACjB,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,MAAM,WAAW,GAAa,EAAE,CAAC;IACjC,IAAI,kBAAkB,GAAG,KAAK,CAAC;IAE/B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QACpB,IAAI,CAAC,GAAG;YAAE,SAAS,CAAC,oBAAoB;QAExC,kCAAkC;QAClC,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;YACjB,kBAAkB,GAAG,IAAI,CAAC;YAC1B,SAAS;QACX,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,WAAW;QACX,IAAI,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACrC,OAAO,GAAG,GAAG,CAAC;YACd,4CAA4C;YAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;YAC5B,IAAI,OAAO,KAAK,SAAS,IAAI,OAAO,KAAK,MAAM,EAAE,CAAC;gBAChD,OAAO,GAAG,cAAc,CAAC;gBACzB,CAAC,EAAE,CAAC;YACN,CAAC;YACD,2CAA2C;YAC3C,IAAI,OAAO,KAAK,KAAK,EAAE,CAAC;gBACtB,IAAI,OAAO,KAAK,SAAS,EAAE,CAAC;oBAC1B,OAAO,GAAG,aAAa,CAAC;oBACxB,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,IAAI,OAAO,KAAK,OAAO,EAAE,CAAC;oBAC/B,OAAO,GAAG,WAAW,CAAC;oBACtB,CAAC,EAAE,CAAC;gBACN,CAAC;qBAAM,IAAI,OAAO,KAAK,WAAW,EAAE,CAAC;oBACnC,OAAO,GAAG,eAAe,CAAC;oBAC1B,CAAC,EAAE,CAAC;gBACN,CAAC;YACH,CAAC;YACD,SAAS;QACX,CAAC;QAED,gCAAgC;QAChC,IAAI,OAAO,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACtB,SAAS;QACX,CAAC;QAED,UAAU;QACV,QAAQ,GAAG,EAAE,CAAC;YACZ,KAAK,IAAI,CAAC;YACV,KAAK,QAAQ;gBACX,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC,sBAAsB;gBAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;YACxE,KAAK,IAAI,CAAC;YACV,KAAK,WAAW;gBACd,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;YAC3E,KAAK,IAAI,CAAC;YACV,KAAK,WAAW;gBACd,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,SAAS;gBACZ,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;gBACrB,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,UAAU;gBACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACjC,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,OAAO;gBACV,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,OAAO;gBACV,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,aAAa;gBAChB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACpC,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,OAAO;gBACV,OAAO,CAAC,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBAC9B,MAAM;YACR,KAAK,cAAc;gBACjB,OAAO,CAAC,SAAS,GAAG,IAAI,CAAC;gBACzB,MAAM;YACR,KAAK,iBAAiB;gBACpB,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;gBACvC,MAAM;YACR,KAAK,UAAU;gBACb,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;gBACtB,MAAM;YACR,KAAK,QAAQ;gBACX,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;gBACpB,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,YAAY;gBACf,OAAO,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,OAAO,CAAqB,CAAC;gBAC9D,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,aAAa;gBAChB,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACxB,MAAM;YACR,KAAK,YAAY;gBACf,OAAO,CAAC,OAAO,GAAG,IAAI,CAAC;gBACvB,MAAM;YACR,KAAK,IAAI,CAAC;YACV,KAAK,OAAO;gBACV,CAAC;oBACC,MAAM,OAAO,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAChC,IAAI,OAAO,EAAE,CAAC;wBACZ,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,IAAI,EAAE,CAAC;wBAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBACD,MAAM;YACR,KAAK,QAAQ;gBACX,CAAC;oBACC,MAAM,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;oBAC/B,IAAI,MAAM,EAAE,CAAC;wBACX,OAAO,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;wBAClC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;oBAC5B,CAAC;gBACH,CAAC;gBACD,MAAM;QACV,CAAC;IACH,CAAC;IAED,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,CAAC;AACxD,CAAC,CAAC"}
@@ -31,8 +31,38 @@ describe("CLI Parser", () => {
31
31
  "@scope/types",
32
32
  ]);
33
33
  expect(result.command).to.equal("add:package");
34
- expect(result.entryFile).to.equal("/path/to/lib.dll");
35
- expect(result.secondArg).to.equal("@scope/types");
34
+ expect(result.positionals).to.deep.equal([
35
+ "/path/to/lib.dll",
36
+ "@scope/types",
37
+ ]);
38
+ });
39
+ it("should parse add:nuget as two-word command", () => {
40
+ const result = parseArgs([
41
+ "add",
42
+ "nuget",
43
+ "My.Package",
44
+ "1.2.3",
45
+ "@scope/my-package-types",
46
+ ]);
47
+ expect(result.command).to.equal("add:nuget");
48
+ expect(result.positionals).to.deep.equal([
49
+ "My.Package",
50
+ "1.2.3",
51
+ "@scope/my-package-types",
52
+ ]);
53
+ });
54
+ it("should parse add:framework as two-word command", () => {
55
+ const result = parseArgs([
56
+ "add",
57
+ "framework",
58
+ "Microsoft.AspNetCore.App",
59
+ "@tsonic/aspnetcore",
60
+ ]);
61
+ expect(result.command).to.equal("add:framework");
62
+ expect(result.positionals).to.deep.equal([
63
+ "Microsoft.AspNetCore.App",
64
+ "@tsonic/aspnetcore",
65
+ ]);
36
66
  });
37
67
  it("should parse help command from --help", () => {
38
68
  const result = parseArgs(["--help"]);
@@ -55,16 +85,16 @@ describe("CLI Parser", () => {
55
85
  it("should parse entry file after command", () => {
56
86
  const result = parseArgs(["run", "index.ts"]);
57
87
  expect(result.command).to.equal("run");
58
- expect(result.entryFile).to.equal("index.ts");
88
+ expect(result.positionals).to.deep.equal(["index.ts"]);
59
89
  });
60
90
  it("should parse entry file with path", () => {
61
91
  const result = parseArgs(["build", "src/main.ts"]);
62
92
  expect(result.command).to.equal("build");
63
- expect(result.entryFile).to.equal("src/main.ts");
93
+ expect(result.positionals).to.deep.equal(["src/main.ts"]);
64
94
  });
65
95
  it("should handle no entry file", () => {
66
96
  const result = parseArgs(["build"]);
67
- expect(result.entryFile).to.equal(undefined);
97
+ expect(result.positionals).to.deep.equal([]);
68
98
  });
69
99
  });
70
100
  describe("Options", () => {
@@ -152,33 +182,23 @@ describe("CLI Parser", () => {
152
182
  const result = parseArgs(["project", "init", "--nodejs"]);
153
183
  expect(result.options.nodejs).to.equal(true);
154
184
  });
155
- it("should parse --nodejs with --runtime dotnet", () => {
156
- const result = parseArgs([
157
- "project",
158
- "init",
159
- "--runtime",
160
- "dotnet",
161
- "--nodejs",
162
- ]);
163
- expect(result.command).to.equal("project:init");
164
- expect(result.options.runtime).to.equal("dotnet");
165
- expect(result.options.nodejs).to.equal(true);
166
- });
167
185
  it("should parse --pure option", () => {
168
186
  const result = parseArgs(["project", "init", "--pure"]);
169
187
  expect(result.options.pure).to.equal(true);
170
188
  });
171
- it("should parse --pure with --runtime dotnet", () => {
189
+ it("should parse --deps option (repeatable)", () => {
172
190
  const result = parseArgs([
173
- "project",
174
- "init",
175
- "--runtime",
176
- "dotnet",
177
- "--pure",
191
+ "add",
192
+ "package",
193
+ "./lib/MyLib.dll",
194
+ "--deps",
195
+ "./deps1",
196
+ "--deps",
197
+ "./deps2",
178
198
  ]);
179
- expect(result.command).to.equal("project:init");
180
- expect(result.options.runtime).to.equal("dotnet");
181
- expect(result.options.pure).to.equal(true);
199
+ expect(result.command).to.equal("add:package");
200
+ expect(result.positionals).to.deep.equal(["./lib/MyLib.dll"]);
201
+ expect(result.options.deps).to.deep.equal(["./deps1", "./deps2"]);
182
202
  });
183
203
  });
184
204
  describe("Program Arguments", () => {
@@ -214,7 +234,7 @@ describe("CLI Parser", () => {
214
234
  "--verbose",
215
235
  ]);
216
236
  expect(result.command).to.equal("build");
217
- expect(result.entryFile).to.equal("src/main.ts");
237
+ expect(result.positionals).to.deep.equal(["src/main.ts"]);
218
238
  expect(result.options.namespace).to.equal("MyApp");
219
239
  expect(result.options.out).to.equal("dist");
220
240
  expect(result.options.verbose).to.equal(true);
@@ -229,7 +249,7 @@ describe("CLI Parser", () => {
229
249
  "programArg2",
230
250
  ]);
231
251
  expect(result.command).to.equal("run");
232
- expect(result.entryFile).to.equal("index.ts");
252
+ expect(result.positionals).to.deep.equal(["index.ts"]);
233
253
  expect(result.options.verbose).to.equal(true);
234
254
  expect(result.programArgs).to.deep.equal([
235
255
  "programArg1",
@@ -239,7 +259,7 @@ describe("CLI Parser", () => {
239
259
  it("should handle empty args array", () => {
240
260
  const result = parseArgs([]);
241
261
  expect(result.command).to.equal("");
242
- expect(result.entryFile).to.equal(undefined);
262
+ expect(result.positionals).to.deep.equal([]);
243
263
  expect(result.options).to.deep.equal({});
244
264
  expect(result.programArgs).to.deep.equal([]);
245
265
  });
@@ -1 +1 @@
1
- {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../src/cli/parser.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parser.test.js","sourceRoot":"","sources":["../../src/cli/parser.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,61 @@
1
+ /**
2
+ * Shared utilities for `tsonic add ...` commands.
3
+ *
4
+ * These commands must be airplane-grade:
5
+ * - Deterministic dependency closure resolution (no "copy everything" modes)
6
+ * - Fail fast with actionable messages when requirements aren't met
7
+ */
8
+ import type { Result, TsonicConfig } from "../types.js";
9
+ export type AddCommandOptions = {
10
+ readonly verbose?: boolean;
11
+ readonly quiet?: boolean;
12
+ readonly deps?: readonly string[];
13
+ };
14
+ export type TsbindgenNaming = "js" | "clr";
15
+ export type ExecResult = {
16
+ readonly status: number | null;
17
+ readonly stdout: string;
18
+ readonly stderr: string;
19
+ };
20
+ export type Exec = (command: string, args: readonly string[], cwd: string, stdio: "inherit" | "pipe") => ExecResult;
21
+ export declare const defaultExec: Exec;
22
+ export declare const readTsonicJson: (projectRoot: string) => Result<{
23
+ path: string;
24
+ config: TsonicConfig;
25
+ }, string>;
26
+ export declare const writeTsonicJson: (configPath: string, config: TsonicConfig) => Result<void, string>;
27
+ export declare const resolveFromProjectRoot: (projectRoot: string, pathLike: string) => string;
28
+ export declare const normalizeNpmName: (raw: string) => string;
29
+ export declare const defaultBindingsPackageNameForDll: (dllPath: string) => string;
30
+ export declare const defaultBindingsPackageNameForNuget: (packageId: string) => string;
31
+ export declare const defaultBindingsPackageNameForFramework: (frameworkRef: string) => string;
32
+ export declare const npmInstallDevDependency: (projectRoot: string, packageSpec: string, options: AddCommandOptions, exec?: Exec) => Result<void, string>;
33
+ export declare const detectTsbindgenNaming: (config: TsonicConfig) => TsbindgenNaming;
34
+ export declare const resolveTsbindgenDllPath: (projectRoot: string) => Result<string, string>;
35
+ export type DotnetRuntime = {
36
+ readonly name: string;
37
+ readonly version: string;
38
+ readonly dir: string;
39
+ };
40
+ export declare const listDotnetRuntimes: (cwd: string, exec?: Exec) => Result<readonly DotnetRuntime[], string>;
41
+ export declare const ensurePackageJson: (dir: string, packageName: string) => Result<void, string>;
42
+ export type TsbindgenClosureOutput = {
43
+ readonly seeds: readonly string[];
44
+ readonly referenceDirectories: readonly string[];
45
+ readonly resolvedAssemblies: ReadonlyArray<{
46
+ readonly name: string;
47
+ readonly publicKeyToken: string;
48
+ readonly culture: string;
49
+ readonly version: string;
50
+ readonly path: string;
51
+ }>;
52
+ readonly diagnostics: ReadonlyArray<{
53
+ readonly code: string;
54
+ readonly severity: "Info" | "Warning" | "Error";
55
+ readonly message: string;
56
+ readonly location?: string;
57
+ }>;
58
+ };
59
+ export declare const tsbindgenResolveClosure: (projectRoot: string, tsbindgenDllPath: string, seeds: readonly string[], refDirs: readonly string[], exec?: Exec) => Result<TsbindgenClosureOutput, string>;
60
+ export declare const tsbindgenGenerate: (projectRoot: string, tsbindgenDllPath: string, args: readonly string[], options: AddCommandOptions, exec?: Exec) => Result<void, string>;
61
+ //# sourceMappingURL=add-common.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-common.d.ts","sourceRoot":"","sources":["../../src/commands/add-common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,226 @@
1
+ /**
2
+ * Shared utilities for `tsonic add ...` commands.
3
+ *
4
+ * These commands must be airplane-grade:
5
+ * - Deterministic dependency closure resolution (no "copy everything" modes)
6
+ * - Fail fast with actionable messages when requirements aren't met
7
+ */
8
+ import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
9
+ import { basename, dirname, isAbsolute, join, resolve } from "node:path";
10
+ import { spawnSync } from "node:child_process";
11
+ import { createRequire } from "node:module";
12
+ import { fileURLToPath } from "node:url";
13
+ export const defaultExec = (command, args, cwd, stdio) => {
14
+ const result = spawnSync(command, args, {
15
+ cwd,
16
+ stdio,
17
+ encoding: "utf-8",
18
+ });
19
+ return {
20
+ status: result.status,
21
+ stdout: typeof result.stdout === "string" ? result.stdout : "",
22
+ stderr: typeof result.stderr === "string" ? result.stderr : "",
23
+ };
24
+ };
25
+ export const readTsonicJson = (projectRoot) => {
26
+ const configPath = join(projectRoot, "tsonic.json");
27
+ if (!existsSync(configPath)) {
28
+ return { ok: false, error: `tsonic.json not found in ${projectRoot}` };
29
+ }
30
+ try {
31
+ const content = readFileSync(configPath, "utf-8");
32
+ const parsed = JSON.parse(content);
33
+ return { ok: true, value: { path: configPath, config: parsed } };
34
+ }
35
+ catch (error) {
36
+ return {
37
+ ok: false,
38
+ error: `Failed to parse tsonic.json: ${error instanceof Error ? error.message : String(error)}`,
39
+ };
40
+ }
41
+ };
42
+ export const writeTsonicJson = (configPath, config) => {
43
+ try {
44
+ writeFileSync(configPath, JSON.stringify(config, null, 2) + "\n", "utf-8");
45
+ return { ok: true, value: undefined };
46
+ }
47
+ catch (error) {
48
+ return {
49
+ ok: false,
50
+ error: `Failed to write tsonic.json: ${error instanceof Error ? error.message : String(error)}`,
51
+ };
52
+ }
53
+ };
54
+ export const resolveFromProjectRoot = (projectRoot, pathLike) => {
55
+ return isAbsolute(pathLike) ? pathLike : resolve(projectRoot, pathLike);
56
+ };
57
+ export const normalizeNpmName = (raw) => {
58
+ const cleaned = raw
59
+ .trim()
60
+ .replace(/\.dll$/i, "")
61
+ .replace(/[^a-zA-Z0-9]+/g, "-")
62
+ .replace(/([a-z0-9])([A-Z])/g, "$1-$2")
63
+ .replace(/([A-Z]+)([A-Z][a-z])/g, "$1-$2")
64
+ .replace(/-+/g, "-")
65
+ .replace(/^-|-$/g, "")
66
+ .toLowerCase();
67
+ return cleaned.length > 0 ? cleaned : "bindings";
68
+ };
69
+ export const defaultBindingsPackageNameForDll = (dllPath) => {
70
+ const dllName = basename(dllPath);
71
+ const base = dllName.replace(/\.dll$/i, "");
72
+ return `${normalizeNpmName(base)}-types`;
73
+ };
74
+ export const defaultBindingsPackageNameForNuget = (packageId) => {
75
+ return `${normalizeNpmName(packageId)}-types`;
76
+ };
77
+ export const defaultBindingsPackageNameForFramework = (frameworkRef) => {
78
+ return `${normalizeNpmName(frameworkRef)}-types`;
79
+ };
80
+ export const npmInstallDevDependency = (projectRoot, packageSpec, options, exec = defaultExec) => {
81
+ const args = ["install", "--save-dev", packageSpec];
82
+ if (options.quiet)
83
+ args.push("--silent");
84
+ const result = exec("npm", args, projectRoot, options.verbose ? "inherit" : "pipe");
85
+ if (result.status !== 0) {
86
+ const errorMsg = result.stderr || result.stdout || "Unknown error";
87
+ return { ok: false, error: `npm install failed:\n${errorMsg}` };
88
+ }
89
+ return { ok: true, value: undefined };
90
+ };
91
+ export const detectTsbindgenNaming = (config) => {
92
+ const typeRoots = config.dotnet?.typeRoots;
93
+ if (!typeRoots)
94
+ return "js";
95
+ return typeRoots.some((p) => p.includes("@tsonic/globals-pure")) ? "clr" : "js";
96
+ };
97
+ export const resolveTsbindgenDllPath = (projectRoot) => {
98
+ const tryResolve = (req) => {
99
+ try {
100
+ const pkgJson = req.resolve("@tsonic/tsbindgen/package.json");
101
+ const pkgRoot = dirname(pkgJson);
102
+ const dllPath = join(pkgRoot, "lib", "tsbindgen.dll");
103
+ return existsSync(dllPath) ? dllPath : null;
104
+ }
105
+ catch {
106
+ return null;
107
+ }
108
+ };
109
+ const projectPkgJson = join(projectRoot, "package.json");
110
+ const projectReq = existsSync(projectPkgJson)
111
+ ? createRequire(projectPkgJson)
112
+ : null;
113
+ const selfReq = createRequire(import.meta.url);
114
+ const direct = (projectReq ? tryResolve(projectReq) : null) ?? tryResolve(selfReq);
115
+ if (direct)
116
+ return { ok: true, value: direct };
117
+ // Development fallback: sibling checkout next to the tsonic repo.
118
+ const here = fileURLToPath(import.meta.url);
119
+ // <repoRoot>/packages/cli/src/commands/add-common.ts
120
+ const repoRoot = resolve(join(dirname(here), "../../../.."));
121
+ const sibling = resolve(join(repoRoot, "..", "tsbindgen"));
122
+ const siblingDll = join(sibling, "lib", "tsbindgen.dll");
123
+ if (existsSync(siblingDll))
124
+ return { ok: true, value: siblingDll };
125
+ return {
126
+ ok: false,
127
+ error: "tsbindgen not found. Install '@tsonic/tsbindgen' (recommended) or ensure it is available in node_modules.",
128
+ };
129
+ };
130
+ export const listDotnetRuntimes = (cwd, exec = defaultExec) => {
131
+ const result = exec("dotnet", ["--list-runtimes"], cwd, "pipe");
132
+ if (result.status !== 0) {
133
+ const msg = result.stderr || result.stdout || "Unknown error";
134
+ return { ok: false, error: `dotnet --list-runtimes failed:\n${msg}` };
135
+ }
136
+ const lines = result.stdout.split(/\r?\n/).map((l) => l.trim()).filter(Boolean);
137
+ const entries = [];
138
+ for (const line of lines) {
139
+ // Example:
140
+ // Microsoft.NETCore.App 10.0.1 [/home/user/.dotnet/shared/Microsoft.NETCore.App]
141
+ const match = line.match(/^(\S+)\s+(\S+)\s+\[(.+)\]$/);
142
+ if (!match)
143
+ continue;
144
+ const [, name, version, baseDir] = match;
145
+ if (!name || !version || !baseDir)
146
+ continue;
147
+ entries.push({ name, version, dir: join(baseDir, version) });
148
+ }
149
+ // Pick highest version per runtime name (lexicographic is not enough).
150
+ const byName = new Map();
151
+ const parseVer = (v) => v.split(".").map((p) => Number.parseInt(p, 10)).map((n) => (Number.isFinite(n) ? n : 0));
152
+ const cmp = (a, b) => {
153
+ const av = parseVer(a);
154
+ const bv = parseVer(b);
155
+ const len = Math.max(av.length, bv.length);
156
+ for (let i = 0; i < len; i++) {
157
+ const d = (av[i] ?? 0) - (bv[i] ?? 0);
158
+ if (d !== 0)
159
+ return d;
160
+ }
161
+ return 0;
162
+ };
163
+ for (const e of entries) {
164
+ const existing = byName.get(e.name);
165
+ if (!existing || cmp(existing.version, e.version) < 0) {
166
+ byName.set(e.name, e);
167
+ }
168
+ }
169
+ return { ok: true, value: Array.from(byName.values()) };
170
+ };
171
+ export const ensurePackageJson = (dir, packageName) => {
172
+ const pkgJsonPath = join(dir, "package.json");
173
+ if (existsSync(pkgJsonPath))
174
+ return { ok: true, value: undefined };
175
+ try {
176
+ mkdirSync(dir, { recursive: true });
177
+ writeFileSync(pkgJsonPath, JSON.stringify({
178
+ name: packageName,
179
+ version: "0.0.0",
180
+ private: true,
181
+ type: "module",
182
+ }, null, 2) + "\n", "utf-8");
183
+ return { ok: true, value: undefined };
184
+ }
185
+ catch (error) {
186
+ return {
187
+ ok: false,
188
+ error: `Failed to write bindings package.json: ${error instanceof Error ? error.message : String(error)}`,
189
+ };
190
+ }
191
+ };
192
+ export const tsbindgenResolveClosure = (projectRoot, tsbindgenDllPath, seeds, refDirs, exec = defaultExec) => {
193
+ const args = [tsbindgenDllPath, "resolve-closure"];
194
+ for (const seed of seeds) {
195
+ args.push("-a", seed);
196
+ }
197
+ for (const dir of refDirs) {
198
+ args.push("--ref-dir", dir);
199
+ }
200
+ args.push("--strict-versions");
201
+ const result = exec("dotnet", args, projectRoot, "pipe");
202
+ if (result.status !== 0 && !result.stdout.trim()) {
203
+ const msg = result.stderr || "Unknown error";
204
+ return { ok: false, error: `tsbindgen resolve-closure failed:\n${msg}` };
205
+ }
206
+ try {
207
+ const parsed = JSON.parse(result.stdout);
208
+ return { ok: true, value: parsed };
209
+ }
210
+ catch (error) {
211
+ const msg = result.stderr || result.stdout || "Unknown error";
212
+ return {
213
+ ok: false,
214
+ error: `Failed to parse tsbindgen closure JSON:\n${msg}\n${error instanceof Error ? error.message : String(error)}`,
215
+ };
216
+ }
217
+ };
218
+ export const tsbindgenGenerate = (projectRoot, tsbindgenDllPath, args, options, exec = defaultExec) => {
219
+ const result = exec("dotnet", [tsbindgenDllPath, "generate", ...args], projectRoot, options.verbose ? "inherit" : "pipe");
220
+ if (result.status !== 0) {
221
+ const msg = result.stderr || result.stdout || "Unknown error";
222
+ return { ok: false, error: `tsbindgen generate failed:\n${msg}` };
223
+ }
224
+ return { ok: true, value: undefined };
225
+ };
226
+ //# sourceMappingURL=add-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-common.js","sourceRoot":"","sources":["../../src/commands/add-common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * tsonic add framework - add a FrameworkReference to the project, plus bindings.
3
+ *
4
+ * Usage:
5
+ * tsonic add framework Microsoft.AspNetCore.App [typesPackage]
6
+ *
7
+ * If typesPackage is omitted, bindings are auto-generated via tsbindgen from the
8
+ * installed shared framework assemblies.
9
+ */
10
+ import type { Result } from "../types.js";
11
+ import { type AddCommandOptions } from "./add-common.js";
12
+ export type AddFrameworkOptions = AddCommandOptions;
13
+ export declare const addFrameworkCommand: (frameworkReference: string, typesPackage: string | undefined, projectRoot: string, options?: AddFrameworkOptions) => Result<{
14
+ frameworkReference: string;
15
+ bindings: string;
16
+ }, string>;
17
+ //# sourceMappingURL=add-framework.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-framework.d.ts","sourceRoot":"","sources":["../../src/commands/add-framework.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AACxD,OAAO,EAUL,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,CAAC;AAWpD,eAAO,MAAM,mBAAmB,GAC9B,oBAAoB,MAAM,EAC1B,cAAc,MAAM,GAAG,SAAS,EAChC,aAAa,MAAM,EACnB,UAAS,mBAAwB,KAChC,MAAM,CAAC;IAAE,kBAAkB,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAoHjE,CAAC"}