tsonic 0.0.1 → 0.0.12

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 (79) hide show
  1. package/README.md +21 -0
  2. package/bin.js +17 -0
  3. package/package.json +16 -29
  4. package/dist/cli/constants.d.ts +0 -5
  5. package/dist/cli/constants.d.ts.map +0 -1
  6. package/dist/cli/constants.js +0 -5
  7. package/dist/cli/constants.js.map +0 -1
  8. package/dist/cli/dispatcher.d.ts +0 -8
  9. package/dist/cli/dispatcher.d.ts.map +0 -1
  10. package/dist/cli/dispatcher.js +0 -98
  11. package/dist/cli/dispatcher.js.map +0 -1
  12. package/dist/cli/help.d.ts +0 -8
  13. package/dist/cli/help.d.ts.map +0 -1
  14. package/dist/cli/help.js +0 -48
  15. package/dist/cli/help.js.map +0 -1
  16. package/dist/cli/index.d.ts +0 -8
  17. package/dist/cli/index.d.ts.map +0 -1
  18. package/dist/cli/index.js +0 -8
  19. package/dist/cli/index.js.map +0 -1
  20. package/dist/cli/parser.d.ts +0 -14
  21. package/dist/cli/parser.d.ts.map +0 -1
  22. package/dist/cli/parser.js +0 -94
  23. package/dist/cli/parser.js.map +0 -1
  24. package/dist/cli/parser.test.d.ts +0 -5
  25. package/dist/cli/parser.test.d.ts.map +0 -1
  26. package/dist/cli/parser.test.js +0 -221
  27. package/dist/cli/parser.test.js.map +0 -1
  28. package/dist/cli.d.ts +0 -6
  29. package/dist/cli.d.ts.map +0 -1
  30. package/dist/cli.js +0 -6
  31. package/dist/cli.js.map +0 -1
  32. package/dist/commands/build.d.ts +0 -11
  33. package/dist/commands/build.d.ts.map +0 -1
  34. package/dist/commands/build.js +0 -99
  35. package/dist/commands/build.js.map +0 -1
  36. package/dist/commands/emit.d.ts +0 -12
  37. package/dist/commands/emit.d.ts.map +0 -1
  38. package/dist/commands/emit.js +0 -170
  39. package/dist/commands/emit.js.map +0 -1
  40. package/dist/commands/init.d.ts +0 -14
  41. package/dist/commands/init.d.ts.map +0 -1
  42. package/dist/commands/init.js +0 -217
  43. package/dist/commands/init.js.map +0 -1
  44. package/dist/commands/run.d.ts +0 -11
  45. package/dist/commands/run.d.ts.map +0 -1
  46. package/dist/commands/run.js +0 -40
  47. package/dist/commands/run.js.map +0 -1
  48. package/dist/config.d.ts +0 -17
  49. package/dist/config.d.ts.map +0 -1
  50. package/dist/config.js +0 -84
  51. package/dist/config.js.map +0 -1
  52. package/dist/config.test.d.ts +0 -5
  53. package/dist/config.test.d.ts.map +0 -1
  54. package/dist/config.test.js +0 -274
  55. package/dist/config.test.js.map +0 -1
  56. package/dist/index.d.ts +0 -8
  57. package/dist/index.d.ts.map +0 -1
  58. package/dist/index.js +0 -20
  59. package/dist/index.js.map +0 -1
  60. package/dist/types.d.ts +0 -74
  61. package/dist/types.d.ts.map +0 -1
  62. package/dist/types.js +0 -5
  63. package/dist/types.js.map +0 -1
  64. package/src/cli/constants.ts +0 -5
  65. package/src/cli/dispatcher.ts +0 -115
  66. package/src/cli/help.ts +0 -49
  67. package/src/cli/index.ts +0 -8
  68. package/src/cli/parser.test.ts +0 -259
  69. package/src/cli/parser.ts +0 -109
  70. package/src/cli.ts +0 -6
  71. package/src/commands/build.ts +0 -125
  72. package/src/commands/emit.ts +0 -222
  73. package/src/commands/init.ts +0 -272
  74. package/src/commands/run.ts +0 -51
  75. package/src/config.test.ts +0 -328
  76. package/src/config.ts +0 -105
  77. package/src/index.ts +0 -23
  78. package/src/types.ts +0 -74
  79. package/tsconfig.json +0 -18
package/README.md ADDED
@@ -0,0 +1,21 @@
1
+ # tsonic
2
+
3
+ TypeScript to C# to NativeAOT compiler.
4
+
5
+ This is a convenience wrapper for [@tsonic/cli](https://www.npmjs.com/package/@tsonic/cli).
6
+
7
+ ## Installation
8
+
9
+ ```bash
10
+ npm install tsonic
11
+ ```
12
+
13
+ ## Usage
14
+
15
+ ```bash
16
+ npx tsonic build
17
+ ```
18
+
19
+ ## Documentation
20
+
21
+ See the full documentation at [tsonic](https://github.com/tsoniclang/tsonic).
package/bin.js ADDED
@@ -0,0 +1,17 @@
1
+ #!/usr/bin/env node
2
+
3
+ // Forward to @tsonic/cli
4
+ import { createRequire } from "node:module";
5
+ import { spawn } from "node:child_process";
6
+
7
+ const require = createRequire(import.meta.url);
8
+
9
+ // Find the real bin from @tsonic/cli
10
+ const realBinPath = require.resolve("@tsonic/cli");
11
+
12
+ // Spawn it with same args
13
+ const child = spawn(process.execPath, [realBinPath, ...process.argv.slice(2)], {
14
+ stdio: "inherit",
15
+ });
16
+
17
+ child.on("exit", (code) => process.exit(code ?? 1));
package/package.json CHANGED
@@ -1,38 +1,25 @@
1
1
  {
2
2
  "name": "tsonic",
3
- "version": "0.0.1",
4
- "description": "Command-line interface for Tsonic compiler",
3
+ "version": "0.0.12",
4
+ "description": "TypeScript to C# to NativeAOT compiler",
5
5
  "type": "module",
6
- "main": "./dist/index.js",
7
- "types": "./dist/index.d.ts",
8
6
  "bin": {
9
- "tsonic": "./dist/index.js"
10
- },
11
- "exports": {
12
- ".": {
13
- "types": "./dist/index.d.ts",
14
- "default": "./dist/index.js"
15
- }
16
- },
17
- "scripts": {
18
- "build": "tsc -b && chmod +x dist/index.js",
19
- "clean": "rm -rf dist *.tsbuildinfo",
20
- "test": "mocha 'dist/**/*.test.js'",
21
- "test:watch": "mocha 'dist/**/*.test.js' --watch"
7
+ "tsonic": "./bin.js"
22
8
  },
23
9
  "dependencies": {
24
- "@tsonic/backend": "0.0.1",
25
- "@tsonic/emitter": "0.0.1",
26
- "@tsonic/frontend": "0.0.1"
27
- },
28
- "devDependencies": {
29
- "@types/chai": "5.2.2",
30
- "@types/mocha": "10.0.10",
31
- "@types/node": "20.14.0",
32
- "chai": "5.3.3",
33
- "mocha": "11.7.2"
10
+ "@tsonic/cli": "0.0.12"
34
11
  },
35
- "engines": {
36
- "node": ">=18.0.0"
12
+ "keywords": [
13
+ "tsonic",
14
+ "typescript",
15
+ "csharp",
16
+ "compiler",
17
+ "nativeaot"
18
+ ],
19
+ "author": "Tsonic Team",
20
+ "license": "MIT",
21
+ "repository": {
22
+ "type": "git",
23
+ "url": "git+https://github.com/tsoniclang/tsonic.git"
37
24
  }
38
25
  }
@@ -1,5 +0,0 @@
1
- /**
2
- * CLI constants
3
- */
4
- export declare const VERSION = "0.0.1";
5
- //# sourceMappingURL=constants.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,eAAO,MAAM,OAAO,UAAU,CAAC"}
@@ -1,5 +0,0 @@
1
- /**
2
- * CLI constants
3
- */
4
- export const VERSION = "0.0.1";
5
- //# sourceMappingURL=constants.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/cli/constants.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * CLI command dispatcher
3
- */
4
- /**
5
- * Main CLI entry point
6
- */
7
- export declare const runCli: (args: string[]) => Promise<number>;
8
- //# sourceMappingURL=dispatcher.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatcher.d.ts","sourceRoot":"","sources":["../../src/cli/dispatcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AAaH;;GAEG;AACH,eAAO,MAAM,MAAM,GAAU,MAAM,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAgG3D,CAAC"}
@@ -1,98 +0,0 @@
1
- /**
2
- * CLI command dispatcher
3
- */
4
- import { join } from "node:path";
5
- import { checkDotnetInstalled } from "@tsonic/backend";
6
- import { loadConfig, findConfig, resolveConfig } from "../config.js";
7
- import { initProject } from "../commands/init.js";
8
- import { emitCommand } from "../commands/emit.js";
9
- import { buildCommand } from "../commands/build.js";
10
- import { runCommand } from "../commands/run.js";
11
- import { VERSION } from "./constants.js";
12
- import { showHelp } from "./help.js";
13
- import { parseArgs } from "./parser.js";
14
- /**
15
- * Main CLI entry point
16
- */
17
- export const runCli = async (args) => {
18
- const parsed = parseArgs(args);
19
- // Handle version and help
20
- if (parsed.command === "version") {
21
- console.log(`tsonic v${VERSION}`);
22
- return 0;
23
- }
24
- if (parsed.command === "help" || !parsed.command) {
25
- showHelp();
26
- return 0;
27
- }
28
- // Handle project init (doesn't need config)
29
- if (parsed.command === "project:init") {
30
- const result = initProject(process.cwd());
31
- if (!result.ok) {
32
- console.error(`Error: ${result.error}`);
33
- return 1;
34
- }
35
- console.log("✓ Initialized Tsonic project");
36
- console.log(" Created: tsonic.json");
37
- console.log(" Created/Updated: .gitignore");
38
- console.log("\nNext steps:");
39
- console.log(" 1. Edit tsonic.json to configure your project");
40
- console.log(" 2. Create src/main.ts");
41
- console.log(" 3. Run: tsonic build");
42
- return 0;
43
- }
44
- // Check for dotnet
45
- const dotnetResult = checkDotnetInstalled();
46
- if (!dotnetResult.ok) {
47
- console.error("Error: .NET SDK not found");
48
- console.error("Install from: https://dotnet.microsoft.com/download");
49
- return 8;
50
- }
51
- // Load config
52
- const configPath = parsed.options.config
53
- ? join(process.cwd(), parsed.options.config)
54
- : findConfig(process.cwd());
55
- if (!configPath) {
56
- console.error("Error: No tsonic.json found");
57
- console.error("Run 'tsonic project init' to initialize a project");
58
- return 3;
59
- }
60
- const configResult = loadConfig(configPath);
61
- if (!configResult.ok) {
62
- console.error(`Error: ${configResult.error}`);
63
- return 1;
64
- }
65
- const config = resolveConfig(configResult.value, parsed.options, parsed.entryFile);
66
- // Dispatch to command handlers
67
- switch (parsed.command) {
68
- case "emit": {
69
- const result = emitCommand(config);
70
- if (!result.ok) {
71
- console.error(`Error: ${result.error}`);
72
- return 5;
73
- }
74
- return 0;
75
- }
76
- case "build": {
77
- const result = buildCommand(config);
78
- if (!result.ok) {
79
- console.error(`Error: ${result.error}`);
80
- return 6;
81
- }
82
- return 0;
83
- }
84
- case "run": {
85
- const result = runCommand(config, parsed.programArgs ?? []);
86
- if (!result.ok) {
87
- console.error(`Error: ${result.error}`);
88
- return 7;
89
- }
90
- return result.value.exitCode;
91
- }
92
- default:
93
- console.error(`Error: Unknown command '${parsed.command}'`);
94
- console.error("Run 'tsonic --help' for usage information");
95
- return 2;
96
- }
97
- };
98
- //# sourceMappingURL=dispatcher.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"dispatcher.js","sourceRoot":"","sources":["../../src/cli/dispatcher.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC;;GAEG;AACH,MAAM,CAAC,MAAM,MAAM,GAAG,KAAK,EAAE,IAAc,EAAmB,EAAE;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAE/B,0BAA0B;IAC1B,IAAI,MAAM,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;QACjC,OAAO,CAAC,GAAG,CAAC,WAAW,OAAO,EAAE,CAAC,CAAC;QAClC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,MAAM,CAAC,OAAO,KAAK,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjD,QAAQ,EAAE,CAAC;QACX,OAAO,CAAC,CAAC;IACX,CAAC;IAED,4CAA4C;IAC5C,IAAI,MAAM,CAAC,OAAO,KAAK,cAAc,EAAE,CAAC;QACtC,MAAM,MAAM,GAAG,WAAW,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;QAC1C,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;YACf,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;YACxC,OAAO,CAAC,CAAC;QACX,CAAC;QACD,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,GAAG,CAAC,+BAA+B,CAAC,CAAC;QAC7C,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC7B,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC;QAC/D,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACvC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,OAAO,CAAC,CAAC;IACX,CAAC;IAED,mBAAmB;IACnB,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;IAC5C,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,2BAA2B,CAAC,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACrE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,cAAc;IACd,MAAM,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM;QACtC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC;QAC5C,CAAC,CAAC,UAAU,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IAE9B,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAC7C,OAAO,CAAC,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACnE,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,YAAY,GAAG,UAAU,CAAC,UAAU,CAAC,CAAC;IAC5C,IAAI,CAAC,YAAY,CAAC,EAAE,EAAE,CAAC;QACrB,OAAO,CAAC,KAAK,CAAC,UAAU,YAAY,CAAC,KAAK,EAAE,CAAC,CAAC;QAC9C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAC1B,YAAY,CAAC,KAAK,EAClB,MAAM,CAAC,OAAO,EACd,MAAM,CAAC,SAAS,CACjB,CAAC;IAEF,+BAA+B;IAC/B,QAAQ,MAAM,CAAC,OAAO,EAAE,CAAC;QACvB,KAAK,MAAM,CAAC,CAAC,CAAC;YACZ,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC;YACnC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,OAAO,CAAC,CAAC,CAAC;YACb,MAAM,MAAM,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,CAAC,CAAC;QACX,CAAC;QAED,KAAK,KAAK,CAAC,CAAC,CAAC;YACX,MAAM,MAAM,GAAG,UAAU,CAAC,MAAM,EAAE,MAAM,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC;YAC5D,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CAAC,UAAU,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;gBACxC,OAAO,CAAC,CAAC;YACX,CAAC;YACD,OAAO,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC;QAC/B,CAAC;QAED;YACE,OAAO,CAAC,KAAK,CAAC,2BAA2B,MAAM,CAAC,OAAO,GAAG,CAAC,CAAC;YAC5D,OAAO,CAAC,KAAK,CAAC,2CAA2C,CAAC,CAAC;YAC3D,OAAO,CAAC,CAAC;IACb,CAAC;AACH,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * CLI help message
3
- */
4
- /**
5
- * Show help message
6
- */
7
- export declare const showHelp: () => void;
8
- //# sourceMappingURL=help.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"help.d.ts","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH;;GAEG;AACH,eAAO,MAAM,QAAQ,QAAO,IAuC3B,CAAC"}
package/dist/cli/help.js DELETED
@@ -1,48 +0,0 @@
1
- /**
2
- * CLI help message
3
- */
4
- import { VERSION } from "./constants.js";
5
- /**
6
- * Show help message
7
- */
8
- export const showHelp = () => {
9
- console.log(`
10
- Tsonic - TypeScript to C# to NativeAOT compiler v${VERSION}
11
-
12
- USAGE:
13
- tsonic <command> [options]
14
-
15
- COMMANDS:
16
- project init Initialize a new Tsonic project
17
- emit [entry] Generate C# code only
18
- build [entry] Build native executable
19
- run [entry] [-- args...] Build and run executable
20
-
21
- GLOBAL OPTIONS:
22
- -h, --help Show help
23
- -v, --version Show version
24
- -V, --verbose Verbose output
25
- -q, --quiet Suppress output
26
- -c, --config <file> Config file path (default: tsonic.json)
27
-
28
- EMIT/BUILD/RUN OPTIONS:
29
- -s, --src <dir> Source root directory
30
- -o, --out <path> Output directory (emit) or file (build)
31
- -n, --namespace <ns> Root namespace override
32
- -r, --rid <rid> Runtime identifier (e.g., linux-x64)
33
- -O, --optimize <level> Optimization: size or speed
34
- -k, --keep-temp Keep build artifacts
35
- --no-strip Keep debug symbols
36
-
37
- EXAMPLES:
38
- tsonic project init
39
- tsonic emit src/main.ts
40
- tsonic build src/main.ts --rid linux-x64
41
- tsonic run src/main.ts -- --arg1 value1
42
-
43
- LEARN MORE:
44
- Documentation: https://tsonic.dev/docs
45
- GitHub: https://github.com/tsoniclang/tsonic
46
- `);
47
- };
48
- //# sourceMappingURL=help.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAEzC;;GAEG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAS,EAAE;IACjC,OAAO,CAAC,GAAG,CAAC;mDACqC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoCzD,CAAC,CAAC;AACH,CAAC,CAAC"}
@@ -1,8 +0,0 @@
1
- /**
2
- * CLI - Public API
3
- */
4
- export { VERSION } from "./constants.js";
5
- export { showHelp } from "./help.js";
6
- export { parseArgs } from "./parser.js";
7
- export { runCli } from "./dispatcher.js";
8
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/cli/index.js DELETED
@@ -1,8 +0,0 @@
1
- /**
2
- * CLI - Public API
3
- */
4
- export { VERSION } from "./constants.js";
5
- export { showHelp } from "./help.js";
6
- export { parseArgs } from "./parser.js";
7
- export { runCli } from "./dispatcher.js";
8
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AACrC,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AACxC,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * CLI argument parser
3
- */
4
- import type { CliOptions } from "../types.js";
5
- /**
6
- * Parse CLI arguments
7
- */
8
- export declare const parseArgs: (args: string[]) => {
9
- command: string;
10
- entryFile?: string;
11
- options: CliOptions;
12
- programArgs?: string[];
13
- };
14
- //# sourceMappingURL=parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAE9C;;GAEG;AACH,eAAO,MAAM,SAAS,GACpB,MAAM,MAAM,EAAE,KACb;IACD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,UAAU,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CA6FxB,CAAC"}
@@ -1,94 +0,0 @@
1
- /**
2
- * CLI argument parser
3
- */
4
- /**
5
- * Parse CLI arguments
6
- */
7
- export const parseArgs = (args) => {
8
- const options = {};
9
- let command = "";
10
- let entryFile;
11
- const programArgs = [];
12
- let captureProgramArgs = false;
13
- for (let i = 0; i < args.length; i++) {
14
- const arg = args[i];
15
- if (!arg)
16
- continue; // Skip if undefined
17
- // Separator for program arguments
18
- if (arg === "--") {
19
- captureProgramArgs = true;
20
- continue;
21
- }
22
- if (captureProgramArgs) {
23
- programArgs.push(arg);
24
- continue;
25
- }
26
- // Commands
27
- if (!command && !arg.startsWith("-")) {
28
- command = arg;
29
- // Handle "project init" as two-word command
30
- const nextArg = args[i + 1];
31
- if (command === "project" && nextArg === "init") {
32
- command = "project:init";
33
- i++;
34
- }
35
- continue;
36
- }
37
- // Entry file (first non-option after command)
38
- if (command && !entryFile && !arg.startsWith("-")) {
39
- entryFile = arg;
40
- continue;
41
- }
42
- // Options
43
- switch (arg) {
44
- case "-h":
45
- case "--help":
46
- options.verbose = true; // reuse for help flag
47
- return { command: "help", options: {} };
48
- case "-v":
49
- case "--version":
50
- return { command: "version", options: {} };
51
- case "-V":
52
- case "--verbose":
53
- options.verbose = true;
54
- break;
55
- case "-q":
56
- case "--quiet":
57
- options.quiet = true;
58
- break;
59
- case "-c":
60
- case "--config":
61
- options.config = args[++i] ?? "";
62
- break;
63
- case "-s":
64
- case "--src":
65
- options.src = args[++i] ?? "";
66
- break;
67
- case "-o":
68
- case "--out":
69
- options.out = args[++i] ?? "";
70
- break;
71
- case "-n":
72
- case "--namespace":
73
- options.namespace = args[++i] ?? "";
74
- break;
75
- case "-r":
76
- case "--rid":
77
- options.rid = args[++i] ?? "";
78
- break;
79
- case "-O":
80
- case "--optimize":
81
- options.optimize = (args[++i] ?? "speed");
82
- break;
83
- case "-k":
84
- case "--keep-temp":
85
- options.keepTemp = true;
86
- break;
87
- case "--no-strip":
88
- options.noStrip = true;
89
- break;
90
- }
91
- }
92
- return { command, entryFile, options, programArgs };
93
- };
94
- //# sourceMappingURL=parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/cli/parser.ts"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- /**
2
- * Tests for CLI argument parser
3
- */
4
- export {};
5
- //# sourceMappingURL=parser.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.test.d.ts","sourceRoot":"","sources":["../../src/cli/parser.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}