@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.
- package/dist/.tsbuildinfo +1 -1
- package/dist/cli/dispatcher.d.ts.map +1 -1
- package/dist/cli/dispatcher.js +85 -44
- package/dist/cli/dispatcher.js.map +1 -1
- package/dist/cli/help.d.ts.map +1 -1
- package/dist/cli/help.js +15 -16
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/parser.js +5 -5
- package/dist/cli/parser.js.map +1 -1
- package/dist/cli/parser.test.js +3 -7
- package/dist/cli/parser.test.js.map +1 -1
- package/dist/commands/add-common.d.ts +2 -4
- package/dist/commands/add-common.d.ts.map +1 -1
- package/dist/commands/add-common.js +0 -6
- package/dist/commands/add-common.js.map +1 -1
- package/dist/commands/add-deps.test.js +13 -20
- package/dist/commands/add-deps.test.js.map +1 -1
- package/dist/commands/add-framework.d.ts +1 -1
- package/dist/commands/add-framework.d.ts.map +1 -1
- package/dist/commands/add-framework.js +14 -23
- package/dist/commands/add-framework.js.map +1 -1
- package/dist/commands/add-js.d.ts +2 -2
- package/dist/commands/add-js.d.ts.map +1 -1
- package/dist/commands/add-js.js +17 -24
- package/dist/commands/add-js.js.map +1 -1
- package/dist/commands/add-js.test.js +22 -14
- package/dist/commands/add-js.test.js.map +1 -1
- package/dist/commands/add-nodejs.d.ts +2 -2
- package/dist/commands/add-nodejs.d.ts.map +1 -1
- package/dist/commands/add-nodejs.js +18 -25
- package/dist/commands/add-nodejs.js.map +1 -1
- package/dist/commands/add-nodejs.test.js +26 -18
- package/dist/commands/add-nodejs.test.js.map +1 -1
- package/dist/commands/add-nuget.d.ts +1 -1
- package/dist/commands/add-nuget.d.ts.map +1 -1
- package/dist/commands/add-nuget.js +7 -7
- package/dist/commands/add-nuget.js.map +1 -1
- package/dist/commands/add-package.d.ts.map +1 -1
- package/dist/commands/add-package.js +59 -35
- package/dist/commands/add-package.js.map +1 -1
- package/dist/commands/build.d.ts.map +1 -1
- package/dist/commands/build.js +157 -11
- package/dist/commands/build.js.map +1 -1
- package/dist/commands/generate.d.ts.map +1 -1
- package/dist/commands/generate.js +32 -26
- package/dist/commands/generate.js.map +1 -1
- package/dist/commands/init.d.ts +10 -19
- package/dist/commands/init.d.ts.map +1 -1
- package/dist/commands/init.js +150 -265
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/init.test.js +19 -56
- package/dist/commands/init.test.js.map +1 -1
- package/dist/commands/pack.js +1 -1
- package/dist/commands/pack.js.map +1 -1
- package/dist/commands/remove-nuget.d.ts +1 -1
- package/dist/commands/remove-nuget.d.ts.map +1 -1
- package/dist/commands/remove-nuget.js +3 -3
- package/dist/commands/remove-nuget.js.map +1 -1
- package/dist/commands/restore.d.ts +1 -1
- package/dist/commands/restore.d.ts.map +1 -1
- package/dist/commands/restore.js +80 -57
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/restore.test.js +103 -28
- package/dist/commands/restore.test.js.map +1 -1
- package/dist/commands/update-nuget.d.ts +1 -1
- package/dist/commands/update-nuget.d.ts.map +1 -1
- package/dist/commands/update-nuget.js +3 -3
- package/dist/commands/update-nuget.js.map +1 -1
- package/dist/config.d.ts +18 -9
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +234 -153
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +169 -147
- package/dist/config.test.js.map +1 -1
- package/dist/dotnet/runtime-assets.d.ts +1 -0
- package/dist/dotnet/runtime-assets.d.ts.map +1 -1
- package/dist/dotnet/runtime-assets.js +30 -0
- package/dist/dotnet/runtime-assets.js.map +1 -1
- package/dist/types.d.ts +69 -37
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tsonic add nuget - add a NuGet PackageReference to the
|
|
2
|
+
* tsonic add nuget - add a NuGet PackageReference to the workspace, plus bindings.
|
|
3
3
|
*
|
|
4
4
|
* Usage:
|
|
5
5
|
* tsonic add nuget <PackageId> <Version> [typesPackage]
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
* - If types are omitted, we auto-generate bindings for the full transitive closure
|
|
11
11
|
* via `tsonic restore` (single source of truth)
|
|
12
12
|
*/
|
|
13
|
-
import {
|
|
13
|
+
import { loadWorkspaceConfig } from "../config.js";
|
|
14
14
|
import { dirname } from "node:path";
|
|
15
15
|
import { defaultBindingsPackageNameForNuget, npmInstallDevDependency, writeTsonicJson, } from "./add-common.js";
|
|
16
16
|
import { restoreCommand } from "./restore.js";
|
|
@@ -21,7 +21,7 @@ const isValidTypesPackageName = (name) => {
|
|
|
21
21
|
return /^@[a-z0-9-]+\/[a-z0-9-]+$/i.test(name);
|
|
22
22
|
};
|
|
23
23
|
export const addNugetCommand = (id, ver, typesPackage, configPath, options = {}) => {
|
|
24
|
-
const
|
|
24
|
+
const workspaceRoot = dirname(configPath);
|
|
25
25
|
if (!id.trim()) {
|
|
26
26
|
return { ok: false, error: "NuGet package id must be non-empty" };
|
|
27
27
|
}
|
|
@@ -31,7 +31,7 @@ export const addNugetCommand = (id, ver, typesPackage, configPath, options = {})
|
|
|
31
31
|
if (typesPackage !== undefined && !isValidTypesPackageName(typesPackage)) {
|
|
32
32
|
return { ok: false, error: `Invalid types package name: ${typesPackage}` };
|
|
33
33
|
}
|
|
34
|
-
const tsonicConfigResult =
|
|
34
|
+
const tsonicConfigResult = loadWorkspaceConfig(configPath);
|
|
35
35
|
if (!tsonicConfigResult.ok)
|
|
36
36
|
return tsonicConfigResult;
|
|
37
37
|
const config = tsonicConfigResult.value;
|
|
@@ -46,7 +46,7 @@ export const addNugetCommand = (id, ver, typesPackage, configPath, options = {})
|
|
|
46
46
|
return {
|
|
47
47
|
ok: false,
|
|
48
48
|
error: `NuGet package already present with a different version: ${current?.id} ${current?.version}\n` +
|
|
49
|
-
`Refusing to change versions automatically (airplane-grade). Update tsonic.json manually if intended.`,
|
|
49
|
+
`Refusing to change versions automatically (airplane-grade). Update tsonic.workspace.json manually if intended.`,
|
|
50
50
|
};
|
|
51
51
|
}
|
|
52
52
|
if (typesPackage) {
|
|
@@ -57,7 +57,7 @@ export const addNugetCommand = (id, ver, typesPackage, configPath, options = {})
|
|
|
57
57
|
`- ${current.id} ${current.version}\n` +
|
|
58
58
|
`- existing: ${current.types}\n` +
|
|
59
59
|
`- requested: ${typesPackage}\n` +
|
|
60
|
-
`Refusing to change automatically (airplane-grade). Update tsonic.json manually if intended.`,
|
|
60
|
+
`Refusing to change automatically (airplane-grade). Update tsonic.workspace.json manually if intended.`,
|
|
61
61
|
};
|
|
62
62
|
}
|
|
63
63
|
existing[idx] = { ...current, types: typesPackage };
|
|
@@ -80,7 +80,7 @@ export const addNugetCommand = (id, ver, typesPackage, configPath, options = {})
|
|
|
80
80
|
existing.find((p) => normalizePkgId(p.id) === normalizePkgId(id))?.types ??
|
|
81
81
|
defaultBindingsPackageNameForNuget(id);
|
|
82
82
|
if (typesPackage) {
|
|
83
|
-
const installResult = npmInstallDevDependency(
|
|
83
|
+
const installResult = npmInstallDevDependency(workspaceRoot, typesPackage, options);
|
|
84
84
|
if (!installResult.ok)
|
|
85
85
|
return installResult;
|
|
86
86
|
return { ok: true, value: { packageId: id, version: ver, bindings } };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-nuget.js","sourceRoot":"","sources":["../../src/commands/add-nuget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"add-nuget.js","sourceRoot":"","sources":["../../src/commands/add-nuget.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-package.d.ts","sourceRoot":"","sources":["../../src/commands/add-package.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"add-package.d.ts","sourceRoot":"","sources":["../../src/commands/add-package.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAUH,OAAO,KAAK,EAEV,MAAM,EAEP,MAAM,aAAa,CAAC;AAGrB,OAAO,EAYL,KAAK,iBAAiB,EAEvB,MAAM,iBAAiB,CAAC;AAEzB,MAAM,MAAM,iBAAiB,GAAG,iBAAiB,CAAC;AAiFlD,eAAO,MAAM,iBAAiB,GAC5B,SAAS,MAAM,EACf,cAAc,MAAM,GAAG,SAAS,EAChC,YAAY,MAAM,EAClB,UAAS,iBAAsB,KAC9B,MAAM,CAAC;IAAE,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAsUzD,CAAC"}
|
|
@@ -12,18 +12,46 @@
|
|
|
12
12
|
import { copyFileSync, existsSync, mkdirSync, readFileSync, } from "node:fs";
|
|
13
13
|
import { basename, dirname, join } from "node:path";
|
|
14
14
|
import { createHash } from "node:crypto";
|
|
15
|
-
import {
|
|
15
|
+
import { loadWorkspaceConfig } from "../config.js";
|
|
16
16
|
import { isBuiltInRuntimeDllPath } from "../dotnet/runtime-dlls.js";
|
|
17
|
-
import { bindingsStoreDir, defaultBindingsPackageNameForDll,
|
|
17
|
+
import { bindingsStoreDir, defaultBindingsPackageNameForDll, ensureGeneratedBindingsPackageJson, installGeneratedBindingsPackage, listDotnetRuntimes, npmInstallDevDependency, resolveFromProjectRoot, resolvePackageRoot, resolveTsbindgenDllPath, tsbindgenGenerate, tsbindgenResolveClosure, writeTsonicJson, } from "./add-common.js";
|
|
18
18
|
const sha256File = (path) => {
|
|
19
19
|
const data = readFileSync(path);
|
|
20
20
|
// crypto.update's types are stricter than Buffer's ArrayBufferLike surface.
|
|
21
21
|
// Convert to a standard Uint8Array backed by ArrayBuffer.
|
|
22
22
|
return createHash("sha256").update(new Uint8Array(data)).digest("hex");
|
|
23
23
|
};
|
|
24
|
-
const
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
const normalizeLibraryKey = (pathLike) => pathLike.replace(/\\/g, "/").replace(/^\.\//, "").toLowerCase();
|
|
25
|
+
const getLibraryPath = (entry) => typeof entry === "string" ? entry : entry.path;
|
|
26
|
+
const setLibraryTypesMapping = (entries, libraryPath, typesPackage) => {
|
|
27
|
+
const key = normalizeLibraryKey(libraryPath);
|
|
28
|
+
const idx = entries.findIndex((e) => normalizeLibraryKey(getLibraryPath(e)) === key);
|
|
29
|
+
if (idx === -1) {
|
|
30
|
+
entries.push({ path: libraryPath, types: typesPackage });
|
|
31
|
+
return { ok: true, value: undefined };
|
|
32
|
+
}
|
|
33
|
+
const existing = entries[idx];
|
|
34
|
+
if (typeof existing === "string") {
|
|
35
|
+
entries[idx] = { path: existing, types: typesPackage };
|
|
36
|
+
return { ok: true, value: undefined };
|
|
37
|
+
}
|
|
38
|
+
if (existing.types === undefined || existing.types === typesPackage) {
|
|
39
|
+
entries[idx] = { path: existing.path, types: typesPackage };
|
|
40
|
+
return { ok: true, value: undefined };
|
|
41
|
+
}
|
|
42
|
+
return {
|
|
43
|
+
ok: false,
|
|
44
|
+
error: `Conflicting types mapping for '${getLibraryPath(existing)}'.\n` +
|
|
45
|
+
`Existing: ${existing.types}\n` +
|
|
46
|
+
`Requested: ${typesPackage}\n` +
|
|
47
|
+
`Remove the existing entry from tsonic.workspace.json and retry.`,
|
|
48
|
+
};
|
|
49
|
+
};
|
|
50
|
+
const addUniqueLibraryPath = (entries, libraryPath) => {
|
|
51
|
+
const key = normalizeLibraryKey(libraryPath);
|
|
52
|
+
if (entries.some((e) => normalizeLibraryKey(getLibraryPath(e)) === key))
|
|
53
|
+
return;
|
|
54
|
+
entries.push(libraryPath);
|
|
27
55
|
};
|
|
28
56
|
const hasFrameworkReference = (arr, value) => arr.some((r) => (typeof r === "string" ? r : r.id).toLowerCase() === value.toLowerCase());
|
|
29
57
|
const isValidTypesPackageName = (name) => {
|
|
@@ -38,8 +66,8 @@ const pathIsWithin = (path, dir) => {
|
|
|
38
66
|
return normalizedPath.startsWith(normalizedBase);
|
|
39
67
|
};
|
|
40
68
|
export const addPackageCommand = (dllPath, typesPackage, configPath, options = {}) => {
|
|
41
|
-
const
|
|
42
|
-
const dllAbs = resolveFromProjectRoot(
|
|
69
|
+
const workspaceRoot = dirname(configPath);
|
|
70
|
+
const dllAbs = resolveFromProjectRoot(workspaceRoot, dllPath);
|
|
43
71
|
if (!existsSync(dllAbs)) {
|
|
44
72
|
return { ok: false, error: `DLL not found: ${dllAbs}` };
|
|
45
73
|
}
|
|
@@ -63,14 +91,14 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
63
91
|
return {
|
|
64
92
|
ok: false,
|
|
65
93
|
error: `Refusing to add ${dllName} via 'tsonic add package'.\n` +
|
|
66
|
-
`Use 'tsonic add js' (or 'tsonic
|
|
94
|
+
`Use 'tsonic add js' (or 'tsonic init --js') to install @tsonic/js and add the DLL reference.`,
|
|
67
95
|
};
|
|
68
96
|
}
|
|
69
97
|
if (lower === "nodejs.dll") {
|
|
70
98
|
return {
|
|
71
99
|
ok: false,
|
|
72
100
|
error: `Refusing to add ${dllName} via 'tsonic add package'.\n` +
|
|
73
|
-
`Use 'tsonic add nodejs' (or 'tsonic
|
|
101
|
+
`Use 'tsonic add nodejs' (or 'tsonic init --nodejs') to install @tsonic/nodejs and add the DLL reference.`,
|
|
74
102
|
};
|
|
75
103
|
}
|
|
76
104
|
return {
|
|
@@ -82,25 +110,25 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
82
110
|
if (typesPackage !== undefined && !isValidTypesPackageName(typesPackage)) {
|
|
83
111
|
return { ok: false, error: `Invalid types package name: ${typesPackage}` };
|
|
84
112
|
}
|
|
85
|
-
const tsonicConfigResult =
|
|
113
|
+
const tsonicConfigResult = loadWorkspaceConfig(configPath);
|
|
86
114
|
if (!tsonicConfigResult.ok)
|
|
87
115
|
return tsonicConfigResult;
|
|
88
116
|
const config = tsonicConfigResult.value;
|
|
89
|
-
const tsbindgenDllResult = resolveTsbindgenDllPath(
|
|
117
|
+
const tsbindgenDllResult = resolveTsbindgenDllPath(workspaceRoot);
|
|
90
118
|
if (!tsbindgenDllResult.ok)
|
|
91
119
|
return tsbindgenDllResult;
|
|
92
120
|
const tsbindgenDll = tsbindgenDllResult.value;
|
|
93
|
-
const runtimesResult = listDotnetRuntimes(
|
|
121
|
+
const runtimesResult = listDotnetRuntimes(workspaceRoot);
|
|
94
122
|
if (!runtimesResult.ok)
|
|
95
123
|
return runtimesResult;
|
|
96
124
|
const runtimeDirs = runtimesResult.value;
|
|
97
|
-
const userDeps = (options.deps ?? []).map((d) => resolveFromProjectRoot(
|
|
125
|
+
const userDeps = (options.deps ?? []).map((d) => resolveFromProjectRoot(workspaceRoot, d));
|
|
98
126
|
const refDirs = [
|
|
99
127
|
...runtimeDirs.map((r) => r.dir),
|
|
100
|
-
join(
|
|
128
|
+
join(workspaceRoot, "libs"),
|
|
101
129
|
...userDeps,
|
|
102
130
|
];
|
|
103
|
-
const closureResult = tsbindgenResolveClosure(
|
|
131
|
+
const closureResult = tsbindgenResolveClosure(workspaceRoot, tsbindgenDll, [dllAbs], refDirs);
|
|
104
132
|
if (!closureResult.ok)
|
|
105
133
|
return closureResult;
|
|
106
134
|
const closure = closureResult.value;
|
|
@@ -124,7 +152,7 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
124
152
|
}
|
|
125
153
|
dllsToCopy.push(asm.path);
|
|
126
154
|
}
|
|
127
|
-
const libDir = join(
|
|
155
|
+
const libDir = join(workspaceRoot, "libs");
|
|
128
156
|
mkdirSync(libDir, { recursive: true });
|
|
129
157
|
let copiedCount = 0;
|
|
130
158
|
const copiedRelPaths = [];
|
|
@@ -137,7 +165,7 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
137
165
|
if (a !== b) {
|
|
138
166
|
return {
|
|
139
167
|
ok: false,
|
|
140
|
-
error: `Conflict:
|
|
168
|
+
error: `Conflict: libs/${fileName} already exists and differs from the resolved dependency closure.\n` +
|
|
141
169
|
`Resolve this conflict (remove/rename the existing DLL) and retry.`,
|
|
142
170
|
};
|
|
143
171
|
}
|
|
@@ -146,12 +174,17 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
146
174
|
copyFileSync(srcPath, destPath);
|
|
147
175
|
copiedCount++;
|
|
148
176
|
}
|
|
149
|
-
copiedRelPaths.push(`
|
|
177
|
+
copiedRelPaths.push(`libs/${fileName}`);
|
|
150
178
|
}
|
|
151
179
|
const dotnet = config.dotnet ?? {};
|
|
152
180
|
const libraries = [...(dotnet.libraries ?? [])];
|
|
153
|
-
for (const rel of copiedRelPaths)
|
|
154
|
-
|
|
181
|
+
for (const rel of copiedRelPaths)
|
|
182
|
+
addUniqueLibraryPath(libraries, rel);
|
|
183
|
+
if (typesPackage) {
|
|
184
|
+
const rootRel = `libs/${basename(dllAbs)}`;
|
|
185
|
+
const mappingResult = setLibraryTypesMapping(libraries, rootRel, typesPackage);
|
|
186
|
+
if (!mappingResult.ok)
|
|
187
|
+
return mappingResult;
|
|
155
188
|
}
|
|
156
189
|
const frameworkRefs = [
|
|
157
190
|
...(dotnet.frameworkReferences ?? []),
|
|
@@ -174,7 +207,7 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
174
207
|
return writeResult;
|
|
175
208
|
// Install or generate bindings.
|
|
176
209
|
if (typesPackage) {
|
|
177
|
-
const installResult = npmInstallDevDependency(
|
|
210
|
+
const installResult = npmInstallDevDependency(workspaceRoot, typesPackage, options);
|
|
178
211
|
if (!installResult.ok)
|
|
179
212
|
return installResult;
|
|
180
213
|
return {
|
|
@@ -182,15 +215,10 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
182
215
|
value: { dllsCopied: copiedCount, bindings: typesPackage },
|
|
183
216
|
};
|
|
184
217
|
}
|
|
185
|
-
const
|
|
186
|
-
const dotnetRoot = resolvePackageRoot(projectRoot, "@tsonic/dotnet");
|
|
218
|
+
const dotnetRoot = resolvePackageRoot(workspaceRoot, "@tsonic/dotnet");
|
|
187
219
|
if (!dotnetRoot.ok)
|
|
188
220
|
return dotnetRoot;
|
|
189
|
-
const coreRoot = resolvePackageRoot(projectRoot, "@tsonic/core");
|
|
190
|
-
if (!coreRoot.ok)
|
|
191
|
-
return coreRoot;
|
|
192
221
|
const dotnetLib = dotnetRoot.value;
|
|
193
|
-
const coreLib = coreRoot.value;
|
|
194
222
|
const nonFramework = closure.resolvedAssemblies.filter((asm) => {
|
|
195
223
|
const runtimeDir = runtimeDirs.find((rt) => pathIsWithin(asm.path, rt.dir));
|
|
196
224
|
return !runtimeDir;
|
|
@@ -278,7 +306,7 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
278
306
|
return { ok: false, error: `Internal error: missing assembly info for ${id}` };
|
|
279
307
|
}
|
|
280
308
|
const packageName = defaultBindingsPackageNameForDll(destPath);
|
|
281
|
-
const bindingsDir = bindingsStoreDir(
|
|
309
|
+
const bindingsDir = bindingsStoreDir(workspaceRoot, "dll", packageName);
|
|
282
310
|
bindingsDirById.set(id, bindingsDir);
|
|
283
311
|
packageNameById.set(id, packageName);
|
|
284
312
|
const pkgJsonResult = ensureGeneratedBindingsPackageJson(bindingsDir, packageName, {
|
|
@@ -286,7 +314,7 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
286
314
|
source: {
|
|
287
315
|
assemblyName: asm.name,
|
|
288
316
|
version: asm.version,
|
|
289
|
-
path: `
|
|
317
|
+
path: `libs/${basename(destPath)}`,
|
|
290
318
|
},
|
|
291
319
|
});
|
|
292
320
|
if (!pkgJsonResult.ok)
|
|
@@ -296,12 +324,8 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
296
324
|
destPath,
|
|
297
325
|
"-o",
|
|
298
326
|
bindingsDir,
|
|
299
|
-
"--naming",
|
|
300
|
-
naming,
|
|
301
327
|
"--lib",
|
|
302
328
|
dotnetLib,
|
|
303
|
-
"--lib",
|
|
304
|
-
coreLib,
|
|
305
329
|
];
|
|
306
330
|
const libs = Array.from(transitiveDeps.get(id) ?? [])
|
|
307
331
|
.map((depId) => bindingsDirById.get(depId))
|
|
@@ -314,10 +338,10 @@ export const addPackageCommand = (dllPath, typesPackage, configPath, options = {
|
|
|
314
338
|
for (const dep of userDeps)
|
|
315
339
|
generateArgs.push("--ref-dir", dep);
|
|
316
340
|
generateArgs.push("--ref-dir", libDir);
|
|
317
|
-
const genResult = tsbindgenGenerate(
|
|
341
|
+
const genResult = tsbindgenGenerate(workspaceRoot, tsbindgenDll, generateArgs, options);
|
|
318
342
|
if (!genResult.ok)
|
|
319
343
|
return genResult;
|
|
320
|
-
const installResult = installGeneratedBindingsPackage(
|
|
344
|
+
const installResult = installGeneratedBindingsPackage(workspaceRoot, packageName, bindingsDir);
|
|
321
345
|
if (!installResult.ok)
|
|
322
346
|
return installResult;
|
|
323
347
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"add-package.js","sourceRoot":"","sources":["../../src/commands/add-package.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"add-package.js","sourceRoot":"","sources":["../../src/commands/add-package.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA;;GAEG;
|
|
1
|
+
{"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../../src/commands/build.ts"],"names":[],"mappings":"AAAA;;GAEG;AAcH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAyY1D;;GAEG;AACH,eAAO,MAAM,YAAY,GACvB,QAAQ,cAAc,KACrB,MAAM,CAAC;IAAE,UAAU,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CA0BvC,CAAC"}
|
package/dist/commands/build.js
CHANGED
|
@@ -2,16 +2,158 @@
|
|
|
2
2
|
* tsonic build command - Build executable or library
|
|
3
3
|
*/
|
|
4
4
|
import { spawnSync } from "node:child_process";
|
|
5
|
-
import { join, relative } from "node:path";
|
|
6
|
-
import { chmodSync, copyFileSync, cpSync, existsSync, mkdirSync, readdirSync, } from "node:fs";
|
|
5
|
+
import { dirname, join, relative } from "node:path";
|
|
6
|
+
import { chmodSync, copyFileSync, cpSync, existsSync, mkdirSync, readFileSync, readdirSync, rmSync, } from "node:fs";
|
|
7
7
|
import { generateCommand } from "./generate.js";
|
|
8
8
|
import { resolveNugetConfigFile } from "../dotnet/nuget-config.js";
|
|
9
|
+
import { listDotnetRuntimes, resolvePackageRoot, resolveTsbindgenDllPath, tsbindgenGenerate, } from "./add-common.js";
|
|
10
|
+
const pickPackageFolder = (assets) => {
|
|
11
|
+
const folders = assets.packageFolders ? Object.keys(assets.packageFolders) : [];
|
|
12
|
+
if (folders.length === 0)
|
|
13
|
+
return undefined;
|
|
14
|
+
return folders[0];
|
|
15
|
+
};
|
|
16
|
+
const findTargetKey = (assets, tfm) => {
|
|
17
|
+
const targets = assets.targets ? Object.keys(assets.targets) : [];
|
|
18
|
+
if (targets.includes(tfm))
|
|
19
|
+
return tfm;
|
|
20
|
+
return targets.find((k) => k.startsWith(`${tfm}/`));
|
|
21
|
+
};
|
|
22
|
+
const collectNugetCompileDirs = (workspaceRoot, tfm) => {
|
|
23
|
+
const assetsPath = join(workspaceRoot, ".tsonic", "nuget", "obj", "project.assets.json");
|
|
24
|
+
if (!existsSync(assetsPath))
|
|
25
|
+
return { ok: true, value: [] };
|
|
26
|
+
let assets;
|
|
27
|
+
try {
|
|
28
|
+
assets = JSON.parse(readFileSync(assetsPath, "utf-8"));
|
|
29
|
+
}
|
|
30
|
+
catch (error) {
|
|
31
|
+
return {
|
|
32
|
+
ok: false,
|
|
33
|
+
error: `Failed to parse ${assetsPath}: ${error instanceof Error ? error.message : String(error)}`,
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
const packageFolder = pickPackageFolder(assets);
|
|
37
|
+
if (!packageFolder)
|
|
38
|
+
return { ok: true, value: [] };
|
|
39
|
+
const targetKey = findTargetKey(assets, tfm);
|
|
40
|
+
if (!targetKey)
|
|
41
|
+
return { ok: true, value: [] };
|
|
42
|
+
const targets = assets.targets?.[targetKey];
|
|
43
|
+
const libraries = assets.libraries ?? {};
|
|
44
|
+
if (!targets || typeof targets !== "object")
|
|
45
|
+
return { ok: true, value: [] };
|
|
46
|
+
const compileDirs = new Set();
|
|
47
|
+
for (const [libKey, libValue] of Object.entries(targets)) {
|
|
48
|
+
if (!libKey || !libValue || typeof libValue !== "object")
|
|
49
|
+
continue;
|
|
50
|
+
const libInfo = libraries[libKey];
|
|
51
|
+
if (!libInfo || libInfo.type !== "package" || !libInfo.path)
|
|
52
|
+
continue;
|
|
53
|
+
const compile = libValue.compile;
|
|
54
|
+
if (!compile || typeof compile !== "object")
|
|
55
|
+
continue;
|
|
56
|
+
for (const p of Object.keys(compile)) {
|
|
57
|
+
if (!p.toLowerCase().endsWith(".dll"))
|
|
58
|
+
continue;
|
|
59
|
+
const dllPath = join(packageFolder, libInfo.path, p);
|
|
60
|
+
compileDirs.add(dirname(dllPath));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
return { ok: true, value: Array.from(compileDirs).sort((a, b) => a.localeCompare(b)) };
|
|
64
|
+
};
|
|
65
|
+
const listGeneratedBindingsLibDirs = (workspaceRoot) => {
|
|
66
|
+
const base = join(workspaceRoot, ".tsonic", "bindings");
|
|
67
|
+
if (!existsSync(base))
|
|
68
|
+
return [];
|
|
69
|
+
const libs = [];
|
|
70
|
+
const kinds = readdirSync(base, { withFileTypes: true }).filter((e) => e.isDirectory()).map((e) => e.name);
|
|
71
|
+
for (const kind of kinds) {
|
|
72
|
+
const kindDir = join(base, kind);
|
|
73
|
+
for (const entry of readdirSync(kindDir, { withFileTypes: true })) {
|
|
74
|
+
if (!entry.isDirectory())
|
|
75
|
+
continue;
|
|
76
|
+
const dir = join(kindDir, entry.name);
|
|
77
|
+
const pkgJsonPath = join(dir, "package.json");
|
|
78
|
+
if (!existsSync(pkgJsonPath))
|
|
79
|
+
continue;
|
|
80
|
+
try {
|
|
81
|
+
const parsed = JSON.parse(readFileSync(pkgJsonPath, "utf-8"));
|
|
82
|
+
const tsonic = (parsed.tsonic ?? {});
|
|
83
|
+
if (tsonic.generated === true)
|
|
84
|
+
libs.push(dir);
|
|
85
|
+
}
|
|
86
|
+
catch {
|
|
87
|
+
// Ignore malformed generated packages; restore will report these separately.
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
libs.sort((a, b) => a.localeCompare(b));
|
|
92
|
+
return libs;
|
|
93
|
+
};
|
|
94
|
+
const generateLibraryBindings = (config) => {
|
|
95
|
+
const { workspaceRoot, projectRoot, outputName, dotnetVersion, verbose, quiet, packageReferences } = config;
|
|
96
|
+
const dllPath = join(projectRoot, "dist", dotnetVersion, `${outputName}.dll`);
|
|
97
|
+
if (!existsSync(dllPath)) {
|
|
98
|
+
return { ok: false, error: `Built library DLL not found at ${dllPath}` };
|
|
99
|
+
}
|
|
100
|
+
const tsbindgenDllResult = resolveTsbindgenDllPath(workspaceRoot);
|
|
101
|
+
if (!tsbindgenDllResult.ok)
|
|
102
|
+
return tsbindgenDllResult;
|
|
103
|
+
const runtimesResult = listDotnetRuntimes(workspaceRoot);
|
|
104
|
+
if (!runtimesResult.ok)
|
|
105
|
+
return runtimesResult;
|
|
106
|
+
const runtimes = runtimesResult.value;
|
|
107
|
+
const dotnetRoot = resolvePackageRoot(workspaceRoot, "@tsonic/dotnet");
|
|
108
|
+
if (!dotnetRoot.ok)
|
|
109
|
+
return dotnetRoot;
|
|
110
|
+
const outDir = join(projectRoot, "dist", "tsonic", "bindings");
|
|
111
|
+
rmSync(outDir, { recursive: true, force: true });
|
|
112
|
+
mkdirSync(outDir, { recursive: true });
|
|
113
|
+
const compileDirsResult = collectNugetCompileDirs(workspaceRoot, dotnetVersion);
|
|
114
|
+
if (!compileDirsResult.ok)
|
|
115
|
+
return compileDirsResult;
|
|
116
|
+
if (packageReferences.length > 0 && compileDirsResult.value.length === 0) {
|
|
117
|
+
return {
|
|
118
|
+
ok: false,
|
|
119
|
+
error: "NuGet PackageReferences are configured, but no restore assets were found.\n" +
|
|
120
|
+
"Run `tsonic restore` at the workspace root and retry.",
|
|
121
|
+
};
|
|
122
|
+
}
|
|
123
|
+
const generatedLibs = listGeneratedBindingsLibDirs(workspaceRoot);
|
|
124
|
+
const args = [
|
|
125
|
+
"-a",
|
|
126
|
+
dllPath,
|
|
127
|
+
"-o",
|
|
128
|
+
outDir,
|
|
129
|
+
"--lib",
|
|
130
|
+
dotnetRoot.value,
|
|
131
|
+
];
|
|
132
|
+
for (const lib of generatedLibs)
|
|
133
|
+
args.push("--lib", lib);
|
|
134
|
+
const refDirs = new Set();
|
|
135
|
+
refDirs.add(join(projectRoot, "dist", dotnetVersion));
|
|
136
|
+
refDirs.add(join(workspaceRoot, "libs"));
|
|
137
|
+
for (const rt of runtimes)
|
|
138
|
+
refDirs.add(rt.dir);
|
|
139
|
+
for (const d of compileDirsResult.value)
|
|
140
|
+
refDirs.add(d);
|
|
141
|
+
for (const dir of Array.from(refDirs).sort((a, b) => a.localeCompare(b))) {
|
|
142
|
+
if (existsSync(dir))
|
|
143
|
+
args.push("--ref-dir", dir);
|
|
144
|
+
}
|
|
145
|
+
const options = { verbose, quiet };
|
|
146
|
+
const genResult = tsbindgenGenerate(workspaceRoot, tsbindgenDllResult.value, args, options);
|
|
147
|
+
if (!genResult.ok)
|
|
148
|
+
return genResult;
|
|
149
|
+
return { ok: true, value: undefined };
|
|
150
|
+
};
|
|
9
151
|
/**
|
|
10
152
|
* Build native executable
|
|
11
153
|
*/
|
|
12
154
|
const buildExecutable = (config, generatedDir) => {
|
|
13
|
-
const { outputName, rid, quiet, verbose } = config;
|
|
14
|
-
const nugetConfigResult = resolveNugetConfigFile(
|
|
155
|
+
const { outputName, rid, quiet, verbose, workspaceRoot } = config;
|
|
156
|
+
const nugetConfigResult = resolveNugetConfigFile(workspaceRoot);
|
|
15
157
|
if (!nugetConfigResult.ok)
|
|
16
158
|
return nugetConfigResult;
|
|
17
159
|
// Run dotnet publish
|
|
@@ -51,7 +193,7 @@ const buildExecutable = (config, generatedDir) => {
|
|
|
51
193
|
const binaryName = process.platform === "win32" ? `${outputName}.exe` : outputName;
|
|
52
194
|
const publishDir = join(generatedDir, "bin", "Release", config.dotnetVersion, rid, "publish");
|
|
53
195
|
const sourceBinary = join(publishDir, binaryName);
|
|
54
|
-
const outDir = join(
|
|
196
|
+
const outDir = join(config.projectRoot, "out");
|
|
55
197
|
const targetBinary = join(outDir, binaryName);
|
|
56
198
|
if (!existsSync(sourceBinary)) {
|
|
57
199
|
return {
|
|
@@ -95,11 +237,11 @@ const buildExecutable = (config, generatedDir) => {
|
|
|
95
237
|
* Build library
|
|
96
238
|
*/
|
|
97
239
|
const buildLibrary = (config, generatedDir) => {
|
|
98
|
-
const { outputName, quiet, verbose } = config;
|
|
240
|
+
const { outputName, quiet, verbose, workspaceRoot } = config;
|
|
99
241
|
const targetFrameworks = config.outputConfig.targetFrameworks ?? [
|
|
100
242
|
config.dotnetVersion,
|
|
101
243
|
];
|
|
102
|
-
const nugetConfigResult = resolveNugetConfigFile(
|
|
244
|
+
const nugetConfigResult = resolveNugetConfigFile(workspaceRoot);
|
|
103
245
|
if (!nugetConfigResult.ok)
|
|
104
246
|
return nugetConfigResult;
|
|
105
247
|
// Run dotnet build
|
|
@@ -134,7 +276,7 @@ const buildLibrary = (config, generatedDir) => {
|
|
|
134
276
|
};
|
|
135
277
|
}
|
|
136
278
|
// Copy output library artifacts
|
|
137
|
-
const outputDir = join(
|
|
279
|
+
const outputDir = join(config.projectRoot, "dist");
|
|
138
280
|
try {
|
|
139
281
|
// Create output directory
|
|
140
282
|
if (!existsSync(outputDir)) {
|
|
@@ -156,21 +298,21 @@ const buildLibrary = (config, generatedDir) => {
|
|
|
156
298
|
if (existsSync(dllSource)) {
|
|
157
299
|
const dllTarget = join(frameworkOutputDir, `${outputName}.dll`);
|
|
158
300
|
copyFileSync(dllSource, dllTarget);
|
|
159
|
-
copiedFiles.push(relative(
|
|
301
|
+
copiedFiles.push(relative(config.projectRoot, dllTarget));
|
|
160
302
|
}
|
|
161
303
|
// Copy .xml (documentation)
|
|
162
304
|
const xmlSource = join(buildDir, `${outputName}.xml`);
|
|
163
305
|
if (existsSync(xmlSource)) {
|
|
164
306
|
const xmlTarget = join(frameworkOutputDir, `${outputName}.xml`);
|
|
165
307
|
copyFileSync(xmlSource, xmlTarget);
|
|
166
|
-
copiedFiles.push(relative(
|
|
308
|
+
copiedFiles.push(relative(config.projectRoot, xmlTarget));
|
|
167
309
|
}
|
|
168
310
|
// Copy .pdb (symbols)
|
|
169
311
|
const pdbSource = join(buildDir, `${outputName}.pdb`);
|
|
170
312
|
if (existsSync(pdbSource)) {
|
|
171
313
|
const pdbTarget = join(frameworkOutputDir, `${outputName}.pdb`);
|
|
172
314
|
copyFileSync(pdbSource, pdbTarget);
|
|
173
|
-
copiedFiles.push(relative(
|
|
315
|
+
copiedFiles.push(relative(config.projectRoot, pdbTarget));
|
|
174
316
|
}
|
|
175
317
|
}
|
|
176
318
|
if (copiedFiles.length === 0) {
|
|
@@ -179,6 +321,10 @@ const buildLibrary = (config, generatedDir) => {
|
|
|
179
321
|
error: "No library artifacts found to copy",
|
|
180
322
|
};
|
|
181
323
|
}
|
|
324
|
+
const bindingsResult = generateLibraryBindings(config);
|
|
325
|
+
if (!bindingsResult.ok) {
|
|
326
|
+
return { ok: false, error: bindingsResult.error };
|
|
327
|
+
}
|
|
182
328
|
return {
|
|
183
329
|
ok: true,
|
|
184
330
|
value: { outputPath: outputDir },
|