@tsonic/cli 0.0.27 → 0.0.29

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 (81) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/cli/dispatcher.d.ts.map +1 -1
  3. package/dist/cli/dispatcher.js +85 -44
  4. package/dist/cli/dispatcher.js.map +1 -1
  5. package/dist/cli/help.d.ts.map +1 -1
  6. package/dist/cli/help.js +15 -16
  7. package/dist/cli/help.js.map +1 -1
  8. package/dist/cli/parser.js +5 -5
  9. package/dist/cli/parser.js.map +1 -1
  10. package/dist/cli/parser.test.js +3 -7
  11. package/dist/cli/parser.test.js.map +1 -1
  12. package/dist/commands/add-common.d.ts +2 -4
  13. package/dist/commands/add-common.d.ts.map +1 -1
  14. package/dist/commands/add-common.js +0 -6
  15. package/dist/commands/add-common.js.map +1 -1
  16. package/dist/commands/add-deps.test.js +13 -20
  17. package/dist/commands/add-deps.test.js.map +1 -1
  18. package/dist/commands/add-framework.d.ts +1 -1
  19. package/dist/commands/add-framework.d.ts.map +1 -1
  20. package/dist/commands/add-framework.js +14 -23
  21. package/dist/commands/add-framework.js.map +1 -1
  22. package/dist/commands/add-js.d.ts +2 -2
  23. package/dist/commands/add-js.d.ts.map +1 -1
  24. package/dist/commands/add-js.js +17 -24
  25. package/dist/commands/add-js.js.map +1 -1
  26. package/dist/commands/add-js.test.js +22 -14
  27. package/dist/commands/add-js.test.js.map +1 -1
  28. package/dist/commands/add-nodejs.d.ts +2 -2
  29. package/dist/commands/add-nodejs.d.ts.map +1 -1
  30. package/dist/commands/add-nodejs.js +18 -25
  31. package/dist/commands/add-nodejs.js.map +1 -1
  32. package/dist/commands/add-nodejs.test.js +26 -18
  33. package/dist/commands/add-nodejs.test.js.map +1 -1
  34. package/dist/commands/add-nuget.d.ts +1 -1
  35. package/dist/commands/add-nuget.d.ts.map +1 -1
  36. package/dist/commands/add-nuget.js +7 -7
  37. package/dist/commands/add-nuget.js.map +1 -1
  38. package/dist/commands/add-package.d.ts.map +1 -1
  39. package/dist/commands/add-package.js +59 -35
  40. package/dist/commands/add-package.js.map +1 -1
  41. package/dist/commands/build.d.ts.map +1 -1
  42. package/dist/commands/build.js +157 -11
  43. package/dist/commands/build.js.map +1 -1
  44. package/dist/commands/generate.d.ts.map +1 -1
  45. package/dist/commands/generate.js +32 -26
  46. package/dist/commands/generate.js.map +1 -1
  47. package/dist/commands/init.d.ts +10 -19
  48. package/dist/commands/init.d.ts.map +1 -1
  49. package/dist/commands/init.js +150 -265
  50. package/dist/commands/init.js.map +1 -1
  51. package/dist/commands/init.test.js +19 -56
  52. package/dist/commands/init.test.js.map +1 -1
  53. package/dist/commands/pack.js +1 -1
  54. package/dist/commands/pack.js.map +1 -1
  55. package/dist/commands/remove-nuget.d.ts +1 -1
  56. package/dist/commands/remove-nuget.d.ts.map +1 -1
  57. package/dist/commands/remove-nuget.js +3 -3
  58. package/dist/commands/remove-nuget.js.map +1 -1
  59. package/dist/commands/restore.d.ts +1 -1
  60. package/dist/commands/restore.d.ts.map +1 -1
  61. package/dist/commands/restore.js +80 -57
  62. package/dist/commands/restore.js.map +1 -1
  63. package/dist/commands/restore.test.js +103 -28
  64. package/dist/commands/restore.test.js.map +1 -1
  65. package/dist/commands/update-nuget.d.ts +1 -1
  66. package/dist/commands/update-nuget.d.ts.map +1 -1
  67. package/dist/commands/update-nuget.js +3 -3
  68. package/dist/commands/update-nuget.js.map +1 -1
  69. package/dist/config.d.ts +18 -9
  70. package/dist/config.d.ts.map +1 -1
  71. package/dist/config.js +234 -153
  72. package/dist/config.js.map +1 -1
  73. package/dist/config.test.js +169 -147
  74. package/dist/config.test.js.map +1 -1
  75. package/dist/dotnet/runtime-assets.d.ts +1 -0
  76. package/dist/dotnet/runtime-assets.d.ts.map +1 -1
  77. package/dist/dotnet/runtime-assets.js +30 -0
  78. package/dist/dotnet/runtime-assets.js.map +1 -1
  79. package/dist/types.d.ts +69 -37
  80. package/dist/types.d.ts.map +1 -1
  81. package/package.json +5 -5
@@ -5,8 +5,8 @@ import { describe, it } from "mocha";
5
5
  import { expect } from "chai";
6
6
  import { mkdtempSync, readFileSync, rmSync } from "node:fs";
7
7
  import { tmpdir } from "node:os";
8
- import { join } from "node:path";
9
- import { getTypePackageInfo, initProject } from "./init.js";
8
+ import { basename, join } from "node:path";
9
+ import { getTypePackageInfo, initWorkspace } from "./init.js";
10
10
  describe("Init Command", () => {
11
11
  describe("getTypePackageInfo", () => {
12
12
  describe("default (no options)", () => {
@@ -16,7 +16,6 @@ describe("Init Command", () => {
16
16
  expect(packageNames).to.include("tsonic");
17
17
  expect(packageNames).to.include("@tsonic/core");
18
18
  expect(packageNames).to.include("@tsonic/globals");
19
- expect(packageNames).to.not.include("@tsonic/globals-pure");
20
19
  expect(packageNames).to.not.include("@tsonic/nodejs");
21
20
  expect(packageNames).to.not.include("@tsonic/js");
22
21
  });
@@ -47,29 +46,6 @@ describe("Init Command", () => {
47
46
  expect(packageNames).to.include("@tsonic/js");
48
47
  });
49
48
  });
50
- describe("pure flag", () => {
51
- it("should use globals-pure when pure flag is true", () => {
52
- const result = getTypePackageInfo({ pure: true });
53
- const packageNames = result.packages.map((p) => p.name);
54
- expect(packageNames).to.include("tsonic");
55
- expect(packageNames).to.include("@tsonic/core");
56
- expect(packageNames).to.include("@tsonic/globals-pure");
57
- expect(packageNames).to.not.include("@tsonic/globals");
58
- expect(result.typeRoots).to.deep.equal([
59
- "node_modules/@tsonic/globals-pure",
60
- ]);
61
- });
62
- it("should use globals-pure with nodejs when both flags are true", () => {
63
- const result = getTypePackageInfo({ nodejs: true, pure: true });
64
- const packageNames = result.packages.map((p) => p.name);
65
- expect(packageNames).to.include("tsonic");
66
- expect(packageNames).to.include("@tsonic/core");
67
- expect(packageNames).to.include("@tsonic/globals-pure");
68
- expect(packageNames).to.include("@tsonic/dotnet");
69
- expect(packageNames).to.include("@tsonic/nodejs");
70
- expect(packageNames).to.not.include("@tsonic/globals");
71
- });
72
- });
73
49
  describe("package versions", () => {
74
50
  it("should use latest version for all packages", () => {
75
51
  const result = getTypePackageInfo();
@@ -87,17 +63,17 @@ describe("Init Command", () => {
87
63
  });
88
64
  });
89
65
  });
90
- describe("initProject", () => {
66
+ describe("initWorkspace", () => {
91
67
  it("should generate dotnet sample for default mode", () => {
92
68
  const dir = mkdtempSync(join(tmpdir(), "tsonic-init-default-"));
93
69
  try {
94
- const result = initProject(dir, { skipTypes: true });
70
+ const result = initWorkspace(dir, { skipTypes: true });
95
71
  expect(result.ok).to.equal(true);
96
- const appTs = readFileSync(join(dir, "src", "App.ts"), "utf-8");
72
+ const workspaceName = basename(dir);
73
+ const appTs = readFileSync(join(dir, "packages", workspaceName, "src", "App.ts"), "utf-8");
97
74
  expect(appTs).to.include('@tsonic/dotnet/System.js');
98
- expect(appTs).to.include("Console.writeLine");
99
- expect(appTs).to.include("File.readAllText");
100
- expect(appTs).to.not.include("@tsonic/dotnet-pure/System.js");
75
+ expect(appTs).to.include("Console.WriteLine");
76
+ expect(appTs).to.include("File.ReadAllText");
101
77
  }
102
78
  finally {
103
79
  rmSync(dir, { recursive: true, force: true });
@@ -106,14 +82,15 @@ describe("Init Command", () => {
106
82
  it("should generate js sample when --js is enabled", () => {
107
83
  const dir = mkdtempSync(join(tmpdir(), "tsonic-init-js-"));
108
84
  try {
109
- const result = initProject(dir, { skipTypes: true, js: true });
85
+ const result = initWorkspace(dir, { skipTypes: true, js: true });
110
86
  expect(result.ok).to.equal(true);
111
- const appTs = readFileSync(join(dir, "src", "App.ts"), "utf-8");
87
+ const workspaceName = basename(dir);
88
+ const appTs = readFileSync(join(dir, "packages", workspaceName, "src", "App.ts"), "utf-8");
112
89
  expect(appTs).to.include('@tsonic/js/index.js');
113
90
  expect(appTs).to.include("JSON.parse");
114
91
  expect(appTs).to.include("JSON.stringify");
115
- const config = JSON.parse(readFileSync(join(dir, "tsonic.json"), "utf-8"));
116
- expect(config.dotnet?.libraries).to.deep.equal(["lib/Tsonic.JSRuntime.dll"]);
92
+ const config = JSON.parse(readFileSync(join(dir, "tsonic.workspace.json"), "utf-8"));
93
+ expect(config.dotnet?.libraries).to.deep.equal(["libs/Tsonic.JSRuntime.dll"]);
117
94
  }
118
95
  finally {
119
96
  rmSync(dir, { recursive: true, force: true });
@@ -122,36 +99,22 @@ describe("Init Command", () => {
122
99
  it("should generate nodejs sample when --nodejs is enabled", () => {
123
100
  const dir = mkdtempSync(join(tmpdir(), "tsonic-init-nodejs-"));
124
101
  try {
125
- const result = initProject(dir, { skipTypes: true, nodejs: true });
102
+ const result = initWorkspace(dir, { skipTypes: true, nodejs: true });
126
103
  expect(result.ok).to.equal(true);
127
- const appTs = readFileSync(join(dir, "src", "App.ts"), "utf-8");
104
+ const workspaceName = basename(dir);
105
+ const appTs = readFileSync(join(dir, "packages", workspaceName, "src", "App.ts"), "utf-8");
128
106
  expect(appTs).to.include('@tsonic/nodejs/index.js');
129
107
  expect(appTs).to.include("console.log");
130
- const config = JSON.parse(readFileSync(join(dir, "tsonic.json"), "utf-8"));
108
+ const config = JSON.parse(readFileSync(join(dir, "tsonic.workspace.json"), "utf-8"));
131
109
  expect(config.dotnet?.libraries).to.deep.equal([
132
- "lib/Tsonic.JSRuntime.dll",
133
- "lib/nodejs.dll",
110
+ "libs/Tsonic.JSRuntime.dll",
111
+ "libs/nodejs.dll",
134
112
  ]);
135
113
  }
136
114
  finally {
137
115
  rmSync(dir, { recursive: true, force: true });
138
116
  }
139
117
  });
140
- it("should generate dotnet-pure sample when --pure is enabled", () => {
141
- const dir = mkdtempSync(join(tmpdir(), "tsonic-init-pure-"));
142
- try {
143
- const result = initProject(dir, { skipTypes: true, pure: true });
144
- expect(result.ok).to.equal(true);
145
- const appTs = readFileSync(join(dir, "src", "App.ts"), "utf-8");
146
- expect(appTs).to.include('@tsonic/dotnet-pure/System.js');
147
- expect(appTs).to.include("Console.WriteLine");
148
- expect(appTs).to.include("File.ReadAllText");
149
- expect(appTs).to.not.include("@tsonic/dotnet/System.js");
150
- }
151
- finally {
152
- rmSync(dir, { recursive: true, force: true });
153
- }
154
- });
155
118
  });
156
119
  });
157
120
  //# sourceMappingURL=init.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../src/commands/init.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.test.js","sourceRoot":"","sources":["../../src/commands/init.test.ts"],"names":[],"mappings":"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"}
@@ -45,7 +45,7 @@ export const packCommand = (config) => {
45
45
  if (!quiet) {
46
46
  console.log("Step 2/2: Creating NuGet package...");
47
47
  }
48
- const nugetConfigResult = resolveNugetConfigFile(config.projectRoot);
48
+ const nugetConfigResult = resolveNugetConfigFile(config.workspaceRoot);
49
49
  if (!nugetConfigResult.ok)
50
50
  return nugetConfigResult;
51
51
  const packArgs = [
@@ -1 +1 @@
1
- {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;GAEG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,MAAsB,EACkB,EAAE;IAC1C,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC;IAE/D,mCAAmC;IACnC,IAAI,MAAM,CAAC,YAAY,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC3C,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EACH,kGAAkG;SACrG,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;QAClC,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EACH,qEAAqE;SACxE,CAAC;IACJ,CAAC;IAED,uBAAuB;IACvB,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,iCAAiC,CAAC,CAAC;IACjD,CAAC;IAED,MAAM,cAAc,GAAG,eAAe,CAAC,MAAM,CAAC,CAAC;IAC/C,IAAI,CAAC,cAAc,CAAC,EAAE,EAAE,CAAC;QACvB,OAAO,cAAc,CAAC;IACxB,CAAC;IAED,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,SAAS,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,CAAC,YAAY,EAAE,eAAe,CAAC,CAAC;IAEvD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,6BAA6B,eAAe,+CAA+C;SACnG,CAAC;IACJ,CAAC;IAED,0BAA0B;IAC1B,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;IACrD,CAAC;IAED,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACrE,IAAI,CAAC,iBAAiB,CAAC,EAAE;QAAE,OAAO,iBAAiB,CAAC;IAEpD,MAAM,QAAQ,GAAG;QACf,MAAM;QACN,eAAe;QACf,IAAI;QACJ,SAAS;QACT,UAAU;QACV,cAAc;QACd,iBAAiB,CAAC,KAAK;KACxB,CAAC;IAEF,IAAI,KAAK,EAAE,CAAC;QACV,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;IACxC,CAAC;SAAM,IAAI,OAAO,EAAE,CAAC;QACnB,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IAC3C,CAAC;SAAM,CAAC;QACN,QAAQ,CAAC,IAAI,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC;IAC1C,CAAC;IAED,MAAM,UAAU,GAAG,SAAS,CAAC,QAAQ,EAAE,QAAQ,EAAE;QAC/C,GAAG,EAAE,YAAY;QACjB,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM;QACnC,QAAQ,EAAE,OAAO;KAClB,CAAC,CAAC;IAEH,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,MAAM,IAAI,eAAe,CAAC;QAC3E,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,wBAAwB,QAAQ,EAAE;SAC1C,CAAC;IACJ,CAAC;IAED,iCAAiC;IACjC,MAAM,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,KAAK,EAAE,SAAS,CAAC,CAAC;IAEtD,mBAAmB;IACnB,MAAM,SAAS,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,EAAE,IAAI,UAAU,CAAC;IAChE,MAAM,cAAc,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,IAAI,OAAO,CAAC;IACvE,MAAM,SAAS,GAAG,GAAG,SAAS,IAAI,cAAc,QAAQ,CAAC;IACzD,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAE5C,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE,CAAC;QAC3B,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,8BAA8B,SAAS,wCAAwC;SACvF,CAAC;IACJ,CAAC;IAED,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,GAAG,CAAC,wBAAwB,SAAS,EAAE,CAAC,CAAC;QACjD,OAAO,CAAC,GAAG,CAAC,4BAA4B,CAAC,CAAC;QAC1C,OAAO,CAAC,GAAG,CACT,uBAAuB,SAAS,sEAAsE,CACvG,CAAC;IACJ,CAAC;IAED,OAAO;QACL,EAAE,EAAE,IAAI;QACR,KAAK,EAAE,EAAE,UAAU,EAAE,SAAS,EAAE;KACjC,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"pack.js","sourceRoot":"","sources":["../../src/commands/pack.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tsonic remove nuget - remove a NuGet PackageReference from the project.
2
+ * tsonic remove nuget - remove a NuGet PackageReference from the workspace.
3
3
  *
4
4
  * Usage:
5
5
  * tsonic remove nuget <PackageId>
@@ -1 +1 @@
1
- {"version":3,"file":"remove-nuget.d.ts","sourceRoot":"","sources":["../../src/commands/remove-nuget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AAExD,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAW1E,eAAO,MAAM,kBAAkB,GAC7B,IAAI,MAAM,EACV,YAAY,MAAM,EAClB,UAAS,iBAAsB,KAC9B,MAAM,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAsCtC,CAAC"}
1
+ {"version":3,"file":"remove-nuget.d.ts","sourceRoot":"","sources":["../../src/commands/remove-nuget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiD,MAAM,aAAa,CAAC;AAEzF,OAAO,EAAmB,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAK1E,eAAO,MAAM,kBAAkB,GAC7B,IAAI,MAAM,EACV,YAAY,MAAM,EAClB,UAAS,iBAAsB,KAC9B,MAAM,CAAC;IAAE,SAAS,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAsCtC,CAAC"}
@@ -1,5 +1,5 @@
1
1
  /**
2
- * tsonic remove nuget - remove a NuGet PackageReference from the project.
2
+ * tsonic remove nuget - remove a NuGet PackageReference from the workspace.
3
3
  *
4
4
  * Usage:
5
5
  * tsonic remove nuget <PackageId>
@@ -8,7 +8,7 @@
8
8
  * - Deterministic edit: removes exactly one PackageReference by id (case-insensitive)
9
9
  * - Always runs `tsonic restore` afterwards to keep local bindings consistent
10
10
  */
11
- import { loadConfig } from "../config.js";
11
+ import { loadWorkspaceConfig } from "../config.js";
12
12
  import { writeTsonicJson } from "./add-common.js";
13
13
  import { restoreCommand } from "./restore.js";
14
14
  const normalizePkgId = (id) => id.trim().toLowerCase();
@@ -16,7 +16,7 @@ export const removeNugetCommand = (id, configPath, options = {}) => {
16
16
  if (!id.trim()) {
17
17
  return { ok: false, error: "NuGet package id must be non-empty" };
18
18
  }
19
- const configResult = loadConfig(configPath);
19
+ const configResult = loadWorkspaceConfig(configPath);
20
20
  if (!configResult.ok)
21
21
  return configResult;
22
22
  const config = configResult.value;
@@ -1 +1 @@
1
- {"version":3,"file":"remove-nuget.js","sourceRoot":"","sources":["../../src/commands/remove-nuget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,eAAe,EAA0B,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAQ9C,MAAM,cAAc,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,EAAU,EACV,UAAkB,EAClB,UAA6B,EAAE,EACQ,EAAE;IACzC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,YAAY,CAAC,EAAE;QAAE,OAAO,YAAY,CAAC;IAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAElC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,QAAQ,GAA6B;QACzC,GAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAA8B;KAClE,CAAC;IAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,cAAc,CAAC,EAAE,CAAC,CACnD,CAAC;IACF,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sCAAsC,EAAE,EAAE,EAAE,CAAC;IAC1E,CAAC;IAED,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAExB,MAAM,UAAU,GAAiB;QAC/B,GAAG,MAAM;QACT,MAAM,EAAE;YACN,GAAG,MAAM;YACT,iBAAiB,EAAE,QAAQ;SAC5B;KACF,CAAC;IAEF,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW,CAAC,EAAE;QAAE,OAAO,WAAW,CAAC;IAExC,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,aAAa,CAAC,EAAE;QAAE,OAAO,aAAa,CAAC;IAE5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC;AAChD,CAAC,CAAC"}
1
+ {"version":3,"file":"remove-nuget.js","sourceRoot":"","sources":["../../src/commands/remove-nuget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,eAAe,EAA0B,MAAM,iBAAiB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,cAAc,GAAG,CAAC,EAAU,EAAU,EAAE,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;AAEvE,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAChC,EAAU,EACV,UAAkB,EAClB,UAA6B,EAAE,EACQ,EAAE;IACzC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC;QACf,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,oCAAoC,EAAE,CAAC;IACpE,CAAC;IAED,MAAM,YAAY,GAAG,mBAAmB,CAAC,UAAU,CAAC,CAAC;IACrD,IAAI,CAAC,YAAY,CAAC,EAAE;QAAE,OAAO,YAAY,CAAC;IAC1C,MAAM,MAAM,GAAG,YAAY,CAAC,KAAK,CAAC;IAElC,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC;IACnC,MAAM,QAAQ,GAA6B;QACzC,GAAI,CAAC,MAAM,CAAC,iBAAiB,IAAI,EAAE,CAA8B;KAClE,CAAC;IAEF,MAAM,GAAG,GAAG,QAAQ,CAAC,SAAS,CAC5B,CAAC,CAAC,EAAE,EAAE,CAAC,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,cAAc,CAAC,EAAE,CAAC,CACnD,CAAC;IACF,IAAI,GAAG,GAAG,CAAC,EAAE,CAAC;QACZ,OAAO,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,sCAAsC,EAAE,EAAE,EAAE,CAAC;IAC1E,CAAC;IAED,QAAQ,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;IAExB,MAAM,UAAU,GAA0B;QACxC,GAAG,MAAM;QACT,MAAM,EAAE;YACN,GAAG,MAAM;YACT,iBAAiB,EAAE,QAAQ;SAC5B;KACF,CAAC;IAEF,MAAM,WAAW,GAAG,eAAe,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC5D,IAAI,CAAC,WAAW,CAAC,EAAE;QAAE,OAAO,WAAW,CAAC;IAExC,MAAM,aAAa,GAAG,cAAc,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IAC1D,IAAI,CAAC,aAAa,CAAC,EAAE;QAAE,OAAO,aAAa,CAAC;IAE5C,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,EAAE,CAAC;AAChD,CAAC,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * tsonic restore - restore .NET dependencies and (re)generate local bindings.
3
3
  *
4
4
  * This is the "clone a repo and get to green" command:
5
- * - Runs dotnet restore for NuGet PackageReferences from tsonic.json
5
+ * - Runs dotnet restore for NuGet PackageReferences from tsonic.workspace.json
6
6
  * - Generates bindings for all transitive NuGet package deps (no duplicates)
7
7
  * - Generates bindings for all local DLLs in dotnet.libraries (no duplicates)
8
8
  * - Generates bindings for FrameworkReferences when present
@@ -1 +1 @@
1
- {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,aAAa,CAAC;AAIxD,OAAO,EAcL,KAAK,iBAAiB,EAIvB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC;AAgL/C,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAClB,UAAS,cAAmB,KAC3B,MAAM,CAAC,IAAI,EAAE,MAAM,CA2frB,CAAC"}
1
+ {"version":3,"file":"restore.d.ts","sourceRoot":"","sources":["../../src/commands/restore.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAIH,OAAO,KAAK,EAIV,MAAM,EAEP,MAAM,aAAa,CAAC;AAIrB,OAAO,EAaL,KAAK,iBAAiB,EAIvB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,cAAc,GAAG,iBAAiB,CAAC;AA0K/C,eAAO,MAAM,cAAc,GACzB,YAAY,MAAM,EAClB,UAAS,cAAmB,KAC3B,MAAM,CAAC,IAAI,EAAE,MAAM,CAyhBrB,CAAC"}
@@ -2,7 +2,7 @@
2
2
  * tsonic restore - restore .NET dependencies and (re)generate local bindings.
3
3
  *
4
4
  * This is the "clone a repo and get to green" command:
5
- * - Runs dotnet restore for NuGet PackageReferences from tsonic.json
5
+ * - Runs dotnet restore for NuGet PackageReferences from tsonic.workspace.json
6
6
  * - Generates bindings for all transitive NuGet package deps (no duplicates)
7
7
  * - Generates bindings for all local DLLs in dotnet.libraries (no duplicates)
8
8
  * - Generates bindings for FrameworkReferences when present
@@ -15,9 +15,9 @@
15
15
  import { existsSync, mkdirSync, readFileSync, writeFileSync } from "node:fs";
16
16
  import { basename, dirname, join } from "node:path";
17
17
  import { isBuiltInRuntimeDllPath } from "../dotnet/runtime-dlls.js";
18
- import { loadConfig } from "../config.js";
18
+ import { loadWorkspaceConfig } from "../config.js";
19
19
  import { resolveNugetConfigFile } from "../dotnet/nuget-config.js";
20
- import { bindingsStoreDir, defaultBindingsPackageNameForDll, defaultBindingsPackageNameForFramework, defaultBindingsPackageNameForNuget, detectTsbindgenNaming, ensureGeneratedBindingsPackageJson, installGeneratedBindingsPackage, listDotnetRuntimes, resolveFromProjectRoot, resolvePackageRoot, resolveTsbindgenDllPath, tsbindgenGenerate, tsbindgenResolveClosure, defaultExec, writeTsonicJson, } from "./add-common.js";
20
+ import { bindingsStoreDir, defaultBindingsPackageNameForDll, defaultBindingsPackageNameForFramework, defaultBindingsPackageNameForNuget, ensureGeneratedBindingsPackageJson, installGeneratedBindingsPackage, listDotnetRuntimes, resolveFromProjectRoot, resolvePackageRoot, resolveTsbindgenDllPath, tsbindgenGenerate, tsbindgenResolveClosure, defaultExec, writeTsonicJson, } from "./add-common.js";
21
21
  const normalizePkgId = (id) => id.trim().toLowerCase();
22
22
  const pickPackageFolder = (assets) => {
23
23
  const folders = assets.packageFolders ? Object.keys(assets.packageFolders) : [];
@@ -130,35 +130,31 @@ const pathIsWithin = (path, dir) => {
130
130
  const normalizedBase = normalizedDir.replace(/\\/g, "/");
131
131
  return normalizedPath.startsWith(normalizedBase);
132
132
  };
133
+ const normalizeLibraryKey = (pathLike) => pathLike.replace(/\\/g, "/").replace(/^\.\//, "").toLowerCase();
133
134
  export const restoreCommand = (configPath, options = {}) => {
134
- const configResult = loadConfig(configPath);
135
+ const configResult = loadWorkspaceConfig(configPath);
135
136
  if (!configResult.ok)
136
137
  return configResult;
137
- const projectRoot = dirname(configPath);
138
- const nugetConfigResult = resolveNugetConfigFile(projectRoot);
138
+ const workspaceRoot = dirname(configPath);
139
+ const nugetConfigResult = resolveNugetConfigFile(workspaceRoot);
139
140
  if (!nugetConfigResult.ok)
140
141
  return nugetConfigResult;
141
142
  const nugetConfigFile = nugetConfigResult.value;
142
143
  const rawConfig = configResult.value;
143
144
  let config = rawConfig;
144
- const tsbindgenDllResult = resolveTsbindgenDllPath(projectRoot);
145
+ const tsbindgenDllResult = resolveTsbindgenDllPath(workspaceRoot);
145
146
  if (!tsbindgenDllResult.ok)
146
147
  return tsbindgenDllResult;
147
148
  const tsbindgenDll = tsbindgenDllResult.value;
148
- const runtimesResult = listDotnetRuntimes(projectRoot);
149
+ const runtimesResult = listDotnetRuntimes(workspaceRoot);
149
150
  if (!runtimesResult.ok)
150
151
  return runtimesResult;
151
152
  const runtimes = runtimesResult.value;
152
- const dotnetRoot = resolvePackageRoot(projectRoot, "@tsonic/dotnet");
153
+ const dotnetRoot = resolvePackageRoot(workspaceRoot, "@tsonic/dotnet");
153
154
  if (!dotnetRoot.ok)
154
155
  return dotnetRoot;
155
- const coreRoot = resolvePackageRoot(projectRoot, "@tsonic/core");
156
- if (!coreRoot.ok)
157
- return coreRoot;
158
156
  const dotnetLib = dotnetRoot.value;
159
- const coreLib = coreRoot.value;
160
157
  const dotnet = config.dotnet ?? {};
161
- const naming = detectTsbindgenNaming(config);
162
158
  // 1) FrameworkReferences bindings
163
159
  for (const entry of (dotnet.frameworkReferences ??
164
160
  [])) {
@@ -177,7 +173,7 @@ export const restoreCommand = (configPath, options = {}) => {
177
173
  };
178
174
  }
179
175
  const packageName = defaultBindingsPackageNameForFramework(frameworkRef);
180
- const outDir = bindingsStoreDir(projectRoot, "framework", packageName);
176
+ const outDir = bindingsStoreDir(workspaceRoot, "framework", packageName);
181
177
  const pkgJsonResult = ensureGeneratedBindingsPackageJson(outDir, packageName, {
182
178
  kind: "framework",
183
179
  source: { frameworkReference: frameworkRef },
@@ -189,22 +185,18 @@ export const restoreCommand = (configPath, options = {}) => {
189
185
  runtime.dir,
190
186
  "-o",
191
187
  outDir,
192
- "--naming",
193
- naming,
194
188
  "--lib",
195
189
  dotnetLib,
196
- "--lib",
197
- coreLib,
198
190
  ];
199
191
  for (const rt of runtimes)
200
192
  generateArgs.push("--ref-dir", rt.dir);
201
193
  for (const dep of options.deps ?? []) {
202
- generateArgs.push("--ref-dir", resolveFromProjectRoot(projectRoot, dep));
194
+ generateArgs.push("--ref-dir", resolveFromProjectRoot(workspaceRoot, dep));
203
195
  }
204
- const genResult = tsbindgenGenerate(projectRoot, tsbindgenDll, generateArgs, options);
196
+ const genResult = tsbindgenGenerate(workspaceRoot, tsbindgenDll, generateArgs, options);
205
197
  if (!genResult.ok)
206
198
  return genResult;
207
- const installResult = installGeneratedBindingsPackage(projectRoot, packageName, outDir);
199
+ const installResult = installGeneratedBindingsPackage(workspaceRoot, packageName, outDir);
208
200
  if (!installResult.ok)
209
201
  return installResult;
210
202
  }
@@ -212,8 +204,8 @@ export const restoreCommand = (configPath, options = {}) => {
212
204
  const packageReferencesAll = (dotnet.packageReferences ??
213
205
  []);
214
206
  if (packageReferencesAll.length > 0) {
215
- const targetFramework = config.dotnetVersion ?? "net10.0";
216
- const restoreDir = join(projectRoot, ".tsonic", "nuget");
207
+ const targetFramework = config.dotnetVersion;
208
+ const restoreDir = join(workspaceRoot, ".tsonic", "nuget");
217
209
  const restoreProject = writeRestoreProject(restoreDir, targetFramework, packageReferencesAll.map((p) => ({ id: p.id, version: p.version })));
218
210
  if (!restoreProject.ok)
219
211
  return restoreProject;
@@ -358,7 +350,7 @@ export const restoreCommand = (configPath, options = {}) => {
358
350
  if (!typesPkg) {
359
351
  return { ok: false, error: `Internal error: missing types package for ${packageId}` };
360
352
  }
361
- const root = resolvePackageRoot(projectRoot, typesPkg);
353
+ const root = resolvePackageRoot(workspaceRoot, typesPkg);
362
354
  if (!root.ok)
363
355
  return root;
364
356
  typesLibDirByPkgId.set(norm, root.value);
@@ -389,7 +381,7 @@ export const restoreCommand = (configPath, options = {}) => {
389
381
  continue; // bindings supplied externally; do not auto-generate.
390
382
  }
391
383
  const packageName = defaultBindingsPackageNameForNuget(node.packageId);
392
- const outDir = bindingsStoreDir(projectRoot, "nuget", packageName);
384
+ const outDir = bindingsStoreDir(workspaceRoot, "nuget", packageName);
393
385
  bindingsDirByLibKey.set(libKey, outDir);
394
386
  const pkgJsonResult = ensureGeneratedBindingsPackageJson(outDir, packageName, {
395
387
  kind: "nuget",
@@ -401,12 +393,8 @@ export const restoreCommand = (configPath, options = {}) => {
401
393
  ...seedDlls.flatMap((p) => ["-a", p]),
402
394
  "-o",
403
395
  outDir,
404
- "--naming",
405
- naming,
406
396
  "--lib",
407
397
  dotnetLib,
408
- "--lib",
409
- coreLib,
410
398
  ];
411
399
  const libDirs = new Set();
412
400
  for (const depKey of transitiveDeps.get(libKey) ?? []) {
@@ -434,42 +422,68 @@ export const restoreCommand = (configPath, options = {}) => {
434
422
  for (const d of compileDirs)
435
423
  generateArgs.push("--ref-dir", d);
436
424
  for (const dep of options.deps ?? []) {
437
- generateArgs.push("--ref-dir", resolveFromProjectRoot(projectRoot, dep));
425
+ generateArgs.push("--ref-dir", resolveFromProjectRoot(workspaceRoot, dep));
438
426
  }
439
- const genResult = tsbindgenGenerate(projectRoot, tsbindgenDll, generateArgs, options);
427
+ const genResult = tsbindgenGenerate(workspaceRoot, tsbindgenDll, generateArgs, options);
440
428
  if (!genResult.ok)
441
429
  return genResult;
442
- const installResult = installGeneratedBindingsPackage(projectRoot, packageName, outDir);
430
+ const installResult = installGeneratedBindingsPackage(workspaceRoot, packageName, outDir);
443
431
  if (!installResult.ok)
444
432
  return installResult;
445
433
  }
446
434
  }
447
435
  }
448
436
  // 3) Local DLL bindings (dotnet.libraries)
449
- const dllLibraries = (dotnet.libraries ?? []).filter((p) => {
437
+ const typesPackageByLibraryPathKey = new Map();
438
+ const libraryPaths = [];
439
+ for (const entry of (dotnet.libraries ?? [])) {
440
+ if (typeof entry === "string") {
441
+ libraryPaths.push(entry);
442
+ continue;
443
+ }
444
+ libraryPaths.push(entry.path);
445
+ if (entry.types === undefined)
446
+ continue;
447
+ const key = normalizeLibraryKey(entry.path);
448
+ if (!key.endsWith(".dll")) {
449
+ return {
450
+ ok: false,
451
+ error: `tsonic.workspace.json: dotnet.libraries entry has 'types' but is not a DLL: ${entry.path}`,
452
+ };
453
+ }
454
+ const existing = typesPackageByLibraryPathKey.get(key);
455
+ if (existing && existing !== entry.types) {
456
+ return {
457
+ ok: false,
458
+ error: `tsonic.workspace.json: conflicting 'types' mapping for '${entry.path}'.\n` +
459
+ `Existing: ${existing}\n` +
460
+ `New: ${entry.types}`,
461
+ };
462
+ }
463
+ typesPackageByLibraryPathKey.set(key, entry.types);
464
+ }
465
+ const dllLibraries = libraryPaths.filter((p) => {
450
466
  const normalized = p.replace(/\\/g, "/").toLowerCase();
451
467
  if (!normalized.endsWith(".dll"))
452
468
  return false;
453
469
  if (isBuiltInRuntimeDllPath(p))
454
470
  return false;
455
- // Only DLLs copied into ./lib are eligible for bindings generation.
456
- // Other DLL paths (e.g. workspace project outputs) are treated as build-time
457
- // references only.
458
- return normalized.startsWith("lib/") || normalized.startsWith("./lib/");
471
+ // Only DLLs copied into ./libs are eligible for bindings generation.
472
+ return normalized.startsWith("libs/") || normalized.startsWith("./libs/");
459
473
  });
460
474
  if (dllLibraries.length > 0) {
461
- const dllAbs = dllLibraries.map((p) => resolveFromProjectRoot(projectRoot, p));
475
+ const dllAbs = dllLibraries.map((p) => resolveFromProjectRoot(workspaceRoot, p));
462
476
  for (const p of dllAbs) {
463
477
  if (!existsSync(p)) {
464
478
  return {
465
479
  ok: false,
466
- error: `Missing DLL from tsonic.json dotnet.libraries: ${p}`,
480
+ error: `Missing DLL from tsonic.workspace.json dotnet.libraries: ${p}`,
467
481
  };
468
482
  }
469
483
  }
470
- const userDeps = (options.deps ?? []).map((d) => resolveFromProjectRoot(projectRoot, d));
471
- const refDirs = [...runtimes.map((r) => r.dir), join(projectRoot, "lib"), ...userDeps];
472
- const closureResult = tsbindgenResolveClosure(projectRoot, tsbindgenDll, dllAbs, refDirs);
484
+ const userDeps = (options.deps ?? []).map((d) => resolveFromProjectRoot(workspaceRoot, d));
485
+ const refDirs = [...runtimes.map((r) => r.dir), join(workspaceRoot, "libs"), ...userDeps];
486
+ const closureResult = tsbindgenResolveClosure(workspaceRoot, tsbindgenDll, dllAbs, refDirs);
473
487
  if (!closureResult.ok)
474
488
  return closureResult;
475
489
  const closure = closureResult.value;
@@ -521,9 +535,9 @@ export const restoreCommand = (configPath, options = {}) => {
521
535
  }
522
536
  ids.add(id);
523
537
  byId.set(id, asm);
524
- const destPath = resolveFromProjectRoot(projectRoot, join("lib", basename(asm.path)));
538
+ const destPath = resolveFromProjectRoot(workspaceRoot, join("libs", basename(asm.path)));
525
539
  if (!existsSync(destPath)) {
526
- return { ok: false, error: `Missing DLL dependency in lib/: ${destPath}` };
540
+ return { ok: false, error: `Missing DLL dependency in libs/: ${destPath}` };
527
541
  }
528
542
  destPathById.set(id, destPath);
529
543
  }
@@ -573,18 +587,31 @@ export const restoreCommand = (configPath, options = {}) => {
573
587
  }
574
588
  transitiveDeps.set(id, set);
575
589
  }
576
- const bindingsDirById = new Map();
590
+ const libDirById = new Map();
577
591
  for (const id of order) {
578
592
  const asm = byId.get(id);
579
593
  const destPath = destPathById.get(id);
580
594
  if (!asm || !destPath)
581
595
  return { ok: false, error: `Internal error: missing assembly info for ${id}` };
596
+ const typesPkg = typesPackageByLibraryPathKey.get(normalizeLibraryKey(`libs/${basename(destPath)}`));
597
+ if (typesPkg) {
598
+ const typesRoot = resolvePackageRoot(workspaceRoot, typesPkg);
599
+ if (!typesRoot.ok) {
600
+ return {
601
+ ok: false,
602
+ error: `Bindings package not found for '${basename(destPath)}': ${typesPkg}\n` +
603
+ `Install it in the workspace and retry (e.g. npm install -D ${typesPkg}).`,
604
+ };
605
+ }
606
+ libDirById.set(id, typesRoot.value);
607
+ continue; // bindings supplied externally; do not auto-generate.
608
+ }
582
609
  const packageName = defaultBindingsPackageNameForDll(destPath);
583
- const outDir = bindingsStoreDir(projectRoot, "dll", packageName);
584
- bindingsDirById.set(id, outDir);
610
+ const outDir = bindingsStoreDir(workspaceRoot, "dll", packageName);
611
+ libDirById.set(id, outDir);
585
612
  const pkgJsonResult = ensureGeneratedBindingsPackageJson(outDir, packageName, {
586
613
  kind: "dll",
587
- source: { assemblyName: asm.name, version: asm.version, path: `lib/${basename(destPath)}` },
614
+ source: { assemblyName: asm.name, version: asm.version, path: `libs/${basename(destPath)}` },
588
615
  });
589
616
  if (!pkgJsonResult.ok)
590
617
  return pkgJsonResult;
@@ -593,15 +620,11 @@ export const restoreCommand = (configPath, options = {}) => {
593
620
  destPath,
594
621
  "-o",
595
622
  outDir,
596
- "--naming",
597
- naming,
598
623
  "--lib",
599
624
  dotnetLib,
600
- "--lib",
601
- coreLib,
602
625
  ];
603
626
  const libs = Array.from(transitiveDeps.get(id) ?? [])
604
- .map((depId) => bindingsDirById.get(depId))
627
+ .map((depId) => libDirById.get(depId))
605
628
  .filter((p) => typeof p === "string")
606
629
  .sort((a, b) => a.localeCompare(b));
607
630
  for (const lib of libs)
@@ -610,11 +633,11 @@ export const restoreCommand = (configPath, options = {}) => {
610
633
  generateArgs.push("--ref-dir", rt.dir);
611
634
  for (const dep of userDeps)
612
635
  generateArgs.push("--ref-dir", dep);
613
- generateArgs.push("--ref-dir", join(projectRoot, "lib"));
614
- const genResult = tsbindgenGenerate(projectRoot, tsbindgenDll, generateArgs, options);
636
+ generateArgs.push("--ref-dir", join(workspaceRoot, "libs"));
637
+ const genResult = tsbindgenGenerate(workspaceRoot, tsbindgenDll, generateArgs, options);
615
638
  if (!genResult.ok)
616
639
  return genResult;
617
- const installResult = installGeneratedBindingsPackage(projectRoot, packageName, outDir);
640
+ const installResult = installGeneratedBindingsPackage(workspaceRoot, packageName, outDir);
618
641
  if (!installResult.ok)
619
642
  return installResult;
620
643
  }