@tsonic/cli 0.0.26 → 0.0.28
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 +90 -40
- 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 +21 -19
- package/dist/commands/add-js.js.map +1 -1
- package/dist/commands/add-js.test.js +23 -11
- 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 +22 -19
- package/dist/commands/add-nodejs.js.map +1 -1
- package/dist/commands/add-nodejs.test.js +31 -13
- 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 +44 -30
- 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 +47 -69
- 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 -260
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/init.test.js +21 -51
- 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 +42 -61
- package/dist/commands/restore.js.map +1 -1
- package/dist/commands/restore.test.js +42 -18
- 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 +212 -156
- package/dist/config.js.map +1 -1
- package/dist/config.test.js +156 -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 +59 -36
- package/dist/types.d.ts.map +1 -1
- package/package.json +5 -5
|
@@ -15,41 +15,65 @@ const linkDir = (target, linkPath) => {
|
|
|
15
15
|
};
|
|
16
16
|
describe("restore command", function () {
|
|
17
17
|
this.timeout(10 * 60 * 1000);
|
|
18
|
-
it("ignores built-in runtime DLLs in dotnet.libraries
|
|
18
|
+
it("ignores built-in runtime DLLs in dotnet.libraries", () => {
|
|
19
19
|
const dir = mkdtempSync(join(tmpdir(), "tsonic-restore-runtime-"));
|
|
20
20
|
try {
|
|
21
21
|
mkdirSync(join(dir, "src"), { recursive: true });
|
|
22
|
-
mkdirSync(join(dir, "
|
|
22
|
+
mkdirSync(join(dir, "libs"), { recursive: true });
|
|
23
23
|
writeFileSync(join(dir, "package.json"), JSON.stringify({ name: "test", private: true, type: "module" }, null, 2) +
|
|
24
24
|
"\n", "utf-8");
|
|
25
|
-
//
|
|
26
|
-
writeFileSync(join(dir, "tsonic.json"), JSON.stringify({
|
|
27
|
-
$schema: "https://tsonic.org/schema/v1.json",
|
|
28
|
-
rootNamespace: "Test",
|
|
29
|
-
entryPoint: "src/App.ts",
|
|
30
|
-
sourceRoot: "src",
|
|
31
|
-
outputDirectory: "generated",
|
|
32
|
-
outputName: "app",
|
|
25
|
+
// Built-in runtime DLLs (JSRuntime / nodejs) should never trigger bindings generation.
|
|
26
|
+
writeFileSync(join(dir, "tsonic.workspace.json"), JSON.stringify({
|
|
27
|
+
$schema: "https://tsonic.org/schema/workspace/v1.json",
|
|
33
28
|
dotnetVersion: "net10.0",
|
|
34
29
|
dotnet: {
|
|
35
|
-
|
|
36
|
-
libraries: ["lib/Tsonic.Runtime.dll"],
|
|
30
|
+
libraries: ["libs/Tsonic.JSRuntime.dll"],
|
|
37
31
|
frameworkReferences: [],
|
|
38
32
|
packageReferences: [],
|
|
39
33
|
},
|
|
40
34
|
}, null, 2) + "\n", "utf-8");
|
|
41
35
|
// Provide the runtime DLL.
|
|
42
|
-
copyFileSync(join(repoRoot, "packages/cli/runtime/Tsonic.
|
|
36
|
+
copyFileSync(join(repoRoot, "packages/cli/runtime/Tsonic.JSRuntime.dll"), join(dir, "libs/Tsonic.JSRuntime.dll"));
|
|
43
37
|
// Provide required standard bindings packages (no network).
|
|
44
38
|
linkDir(join(repoRoot, "node_modules/@tsonic/dotnet"), join(dir, "node_modules/@tsonic/dotnet"));
|
|
45
39
|
linkDir(join(repoRoot, "node_modules/@tsonic/core"), join(dir, "node_modules/@tsonic/core"));
|
|
46
|
-
const result = restoreCommand(join(dir, "tsonic.json"), { quiet: true });
|
|
40
|
+
const result = restoreCommand(join(dir, "tsonic.workspace.json"), { quiet: true });
|
|
47
41
|
expect(result.ok).to.equal(true);
|
|
48
42
|
// Should not generate bindings for the runtime DLL.
|
|
49
|
-
expect(existsSync(join(dir, "node_modules", "tsonic-
|
|
50
|
-
//
|
|
51
|
-
const updated = JSON.parse(readFileSync(join(dir, "tsonic.json"), "utf-8"));
|
|
52
|
-
expect(updated.dotnet?.libraries).to.deep.equal([]);
|
|
43
|
+
expect(existsSync(join(dir, "node_modules", "tsonic-jsruntime-types"))).to.equal(false);
|
|
44
|
+
// restore does not rewrite the config; it simply ignores runtime DLLs for bindings generation.
|
|
45
|
+
const updated = JSON.parse(readFileSync(join(dir, "tsonic.workspace.json"), "utf-8"));
|
|
46
|
+
expect(updated.dotnet?.libraries).to.deep.equal(["libs/Tsonic.JSRuntime.dll"]);
|
|
47
|
+
}
|
|
48
|
+
finally {
|
|
49
|
+
rmSync(dir, { recursive: true, force: true });
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
it("ignores DLL references outside libs/ (e.g., workspace outputs)", () => {
|
|
53
|
+
const dir = mkdtempSync(join(tmpdir(), "tsonic-restore-workspace-dll-"));
|
|
54
|
+
try {
|
|
55
|
+
mkdirSync(join(dir, "src"), { recursive: true });
|
|
56
|
+
writeFileSync(join(dir, "package.json"), JSON.stringify({ name: "test", private: true, type: "module" }, null, 2) +
|
|
57
|
+
"\n", "utf-8");
|
|
58
|
+
// Simulate a workspace-dependent project that references another project's output DLL.
|
|
59
|
+
// This DLL may not exist until the dependency is built. `tsonic restore` must not fail
|
|
60
|
+
// or attempt bindings generation for such paths (only ./libs/*.dll are eligible).
|
|
61
|
+
writeFileSync(join(dir, "tsonic.workspace.json"), JSON.stringify({
|
|
62
|
+
$schema: "https://tsonic.org/schema/workspace/v1.json",
|
|
63
|
+
dotnetVersion: "net10.0",
|
|
64
|
+
dotnet: {
|
|
65
|
+
libraries: ["../domain/dist/net10.0/Acme.Domain.dll"],
|
|
66
|
+
frameworkReferences: [],
|
|
67
|
+
packageReferences: [],
|
|
68
|
+
},
|
|
69
|
+
}, null, 2) + "\n", "utf-8");
|
|
70
|
+
// Provide required standard bindings packages (no network).
|
|
71
|
+
linkDir(join(repoRoot, "node_modules/@tsonic/dotnet"), join(dir, "node_modules/@tsonic/dotnet"));
|
|
72
|
+
linkDir(join(repoRoot, "node_modules/@tsonic/core"), join(dir, "node_modules/@tsonic/core"));
|
|
73
|
+
const result = restoreCommand(join(dir, "tsonic.workspace.json"), { quiet: true });
|
|
74
|
+
expect(result.ok).to.equal(true);
|
|
75
|
+
// Should not generate bindings for workspace output DLL references.
|
|
76
|
+
expect(existsSync(join(dir, "node_modules", "acme-domain-types"))).to.equal(false);
|
|
53
77
|
}
|
|
54
78
|
finally {
|
|
55
79
|
rmSync(dir, { recursive: true, force: true });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"restore.test.js","sourceRoot":"","sources":["../../src/commands/restore.test.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAC9B,OAAO,EACL,YAAY,EACZ,UAAU,EACV,SAAS,EACT,WAAW,EACX,YAAY,EACZ,MAAM,EACN,WAAW,EACX,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AAE9C,MAAM,QAAQ,GAAG,OAAO,CACtB,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,aAAa,CAAC,CAC7D,CAAC;AAEF,MAAM,OAAO,GAAG,CAAC,MAAc,EAAE,QAAgB,EAAQ,EAAE;IACzD,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAClD,WAAW,CAAC,MAAM,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;AACvC,CAAC,CAAC;AAEF,QAAQ,CAAC,iBAAiB,EAAE;IAC1B,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;IAE7B,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"restore.test.js","sourceRoot":"","sources":["../../src/commands/restore.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-nuget.d.ts","sourceRoot":"","sources":["../../src/commands/update-nuget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"update-nuget.d.ts","sourceRoot":"","sources":["../../src/commands/update-nuget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAiD,MAAM,aAAa,CAAC;AAGzF,OAAO,EAGL,KAAK,iBAAiB,EACvB,MAAM,iBAAiB,CAAC;AAUzB,eAAO,MAAM,kBAAkB,GAC7B,IAAI,MAAM,EACV,KAAK,MAAM,EACX,cAAc,MAAM,GAAG,SAAS,EAChC,YAAY,MAAM,EAClB,UAAS,iBAAsB,KAC9B,MAAM,CAAC;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,MAAM,CAiE1E,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* tsonic update nuget - update an existing NuGet PackageReference in the
|
|
2
|
+
* tsonic update nuget - update an existing NuGet PackageReference in the workspace.
|
|
3
3
|
*
|
|
4
4
|
* Usage:
|
|
5
5
|
* tsonic update nuget <PackageId> <Version> [typesPackage]
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
* - Versions are pinned (explicit update only; no automatic upgrades)
|
|
9
9
|
* - Always runs `tsonic restore` afterwards to keep local bindings consistent
|
|
10
10
|
*/
|
|
11
|
-
import {
|
|
11
|
+
import { loadWorkspaceConfig } from "../config.js";
|
|
12
12
|
import { dirname } from "node:path";
|
|
13
13
|
import { npmInstallDevDependency, writeTsonicJson, } from "./add-common.js";
|
|
14
14
|
import { restoreCommand } from "./restore.js";
|
|
@@ -28,7 +28,7 @@ export const updateNugetCommand = (id, ver, typesPackage, configPath, options =
|
|
|
28
28
|
if (typesPackage !== undefined && !isValidTypesPackageName(typesPackage)) {
|
|
29
29
|
return { ok: false, error: `Invalid types package name: ${typesPackage}` };
|
|
30
30
|
}
|
|
31
|
-
const configResult =
|
|
31
|
+
const configResult = loadWorkspaceConfig(configPath);
|
|
32
32
|
if (!configResult.ok)
|
|
33
33
|
return configResult;
|
|
34
34
|
const config = configResult.value;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"update-nuget.js","sourceRoot":"","sources":["../../src/commands/update-nuget.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"update-nuget.js","sourceRoot":"","sources":["../../src/commands/update-nuget.ts"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -1,18 +1,27 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Workspace + project configuration loading and resolution.
|
|
3
|
+
*
|
|
4
|
+
* Airplane-grade rule: Tsonic always operates in a workspace.
|
|
5
|
+
* - Workspace root contains `tsonic.workspace.json`
|
|
6
|
+
* - Projects live under `packages/*` and contain `tsonic.json`
|
|
7
|
+
* - All external dependencies are workspace-scoped (no project-private deps)
|
|
3
8
|
*/
|
|
4
|
-
import type {
|
|
9
|
+
import type { CliOptions, ResolvedConfig, Result, TsonicProjectConfig, TsonicWorkspaceConfig } from "./types.js";
|
|
10
|
+
export declare const WORKSPACE_CONFIG_FILE = "tsonic.workspace.json";
|
|
11
|
+
export declare const PROJECT_CONFIG_FILE = "tsonic.json";
|
|
5
12
|
/**
|
|
6
|
-
*
|
|
13
|
+
* Find `tsonic.workspace.json` by walking up the directory tree.
|
|
7
14
|
*/
|
|
8
|
-
export declare const
|
|
15
|
+
export declare const findWorkspaceConfig: (startDir: string) => string | null;
|
|
16
|
+
export declare const loadWorkspaceConfig: (configPath: string) => Result<TsonicWorkspaceConfig, string>;
|
|
17
|
+
export declare const loadProjectConfig: (configPath: string) => Result<TsonicProjectConfig, string>;
|
|
18
|
+
export declare const listProjects: (workspaceRoot: string) => readonly string[];
|
|
9
19
|
/**
|
|
10
|
-
* Find tsonic.json
|
|
20
|
+
* Find the nearest project config under `packages/<project>/tsonic.json` for a given working directory.
|
|
11
21
|
*/
|
|
12
|
-
export declare const
|
|
22
|
+
export declare const findProjectConfig: (startDir: string, workspaceRoot: string) => string | null;
|
|
13
23
|
/**
|
|
14
|
-
* Resolve
|
|
15
|
-
* @param projectRoot - Directory containing tsonic.json/package.json (for package resolution)
|
|
24
|
+
* Resolve a project's effective configuration (workspace-scoped deps + project settings).
|
|
16
25
|
*/
|
|
17
|
-
export declare const resolveConfig: (
|
|
26
|
+
export declare const resolveConfig: (workspaceConfig: TsonicWorkspaceConfig, projectConfig: TsonicProjectConfig, cliOptions: CliOptions, workspaceRoot: string, projectRoot: string, entryFile?: string) => ResolvedConfig;
|
|
18
27
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,KAAK,EACV,UAAU,EAGV,cAAc,EACd,MAAM,EAEN,mBAAmB,EACnB,qBAAqB,EACtB,MAAM,YAAY,CAAC;AAEpB,eAAO,MAAM,qBAAqB,0BAA0B,CAAC;AAC7D,eAAO,MAAM,mBAAmB,gBAAgB,CAAC;AAEjD;;GAEG;AACH,eAAO,MAAM,mBAAmB,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,IAW/D,CAAC;AAcF,eAAO,MAAM,mBAAmB,GAC9B,YAAY,MAAM,KACjB,MAAM,CAAC,qBAAqB,EAAE,MAAM,CA0FtC,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAC5B,YAAY,MAAM,KACjB,MAAM,CAAC,mBAAmB,EAAE,MAAM,CA4DpC,CAAC;AAEF,eAAO,MAAM,YAAY,GAAI,eAAe,MAAM,KAAG,SAAS,MAAM,EAanE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAC5B,UAAU,MAAM,EAChB,eAAe,MAAM,KACpB,MAAM,GAAG,IAqBX,CAAC;AAkFF;;GAEG;AACH,eAAO,MAAM,aAAa,GACxB,iBAAiB,qBAAqB,EACtC,eAAe,mBAAmB,EAClC,YAAY,UAAU,EACtB,eAAe,MAAM,EACrB,aAAa,MAAM,EACnB,YAAY,MAAM,KACjB,cAwEF,CAAC"}
|