skir-internal 0.0.1 → 0.0.2

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 (119) hide show
  1. package/dist/casing.test.d.ts +2 -0
  2. package/package.json +1 -1
  3. package/dist/command_line_parser.d.ts +0 -33
  4. package/dist/command_line_parser.d.ts.map +0 -1
  5. package/dist/command_line_parser.js +0 -168
  6. package/dist/command_line_parser.js.map +0 -1
  7. package/dist/command_line_parser.test.d.ts +0 -2
  8. package/dist/command_line_parser.test.d.ts.map +0 -1
  9. package/dist/command_line_parser.test.js +0 -297
  10. package/dist/command_line_parser.test.js.map +0 -1
  11. package/dist/compatibility_checker.d.ts +0 -74
  12. package/dist/compatibility_checker.d.ts.map +0 -1
  13. package/dist/compatibility_checker.js +0 -341
  14. package/dist/compatibility_checker.js.map +0 -1
  15. package/dist/compatibility_checker.test.d.ts +0 -2
  16. package/dist/compatibility_checker.test.d.ts.map +0 -1
  17. package/dist/compatibility_checker.test.js +0 -582
  18. package/dist/compatibility_checker.test.js.map +0 -1
  19. package/dist/compiler.d.ts.map +0 -1
  20. package/dist/compiler.js +0 -375
  21. package/dist/compiler.js.map +0 -1
  22. package/dist/config.d.ts +0 -47
  23. package/dist/config.d.ts.map +0 -1
  24. package/dist/config.js +0 -23
  25. package/dist/config.js.map +0 -1
  26. package/dist/definition_finder.d.ts +0 -12
  27. package/dist/definition_finder.d.ts.map +0 -1
  28. package/dist/definition_finder.js +0 -180
  29. package/dist/definition_finder.js.map +0 -1
  30. package/dist/definition_finder.test.d.ts +0 -2
  31. package/dist/definition_finder.test.d.ts.map +0 -1
  32. package/dist/definition_finder.test.js +0 -164
  33. package/dist/definition_finder.test.js.map +0 -1
  34. package/dist/doc_comment_parser.d.ts +0 -3
  35. package/dist/doc_comment_parser.d.ts.map +0 -1
  36. package/dist/doc_comment_parser.js +0 -219
  37. package/dist/doc_comment_parser.js.map +0 -1
  38. package/dist/doc_comment_parser.test.d.ts +0 -2
  39. package/dist/doc_comment_parser.test.d.ts.map +0 -1
  40. package/dist/doc_comment_parser.test.js +0 -494
  41. package/dist/doc_comment_parser.test.js.map +0 -1
  42. package/dist/encoding.d.ts +0 -2
  43. package/dist/encoding.d.ts.map +0 -1
  44. package/dist/encoding.js +0 -38
  45. package/dist/encoding.js.map +0 -1
  46. package/dist/encoding.test.d.ts +0 -2
  47. package/dist/encoding.test.d.ts.map +0 -1
  48. package/dist/encoding.test.js +0 -23
  49. package/dist/encoding.test.js.map +0 -1
  50. package/dist/error_renderer.d.ts +0 -10
  51. package/dist/error_renderer.d.ts.map +0 -1
  52. package/dist/error_renderer.js +0 -266
  53. package/dist/error_renderer.js.map +0 -1
  54. package/dist/formatter.d.ts +0 -16
  55. package/dist/formatter.d.ts.map +0 -1
  56. package/dist/formatter.js +0 -220
  57. package/dist/formatter.js.map +0 -1
  58. package/dist/formatter.test.d.ts +0 -2
  59. package/dist/formatter.test.d.ts.map +0 -1
  60. package/dist/formatter.test.js +0 -390
  61. package/dist/formatter.test.js.map +0 -1
  62. package/dist/formatter2.d.ts +0 -3
  63. package/dist/formatter2.d.ts.map +0 -1
  64. package/dist/formatter2.js +0 -67
  65. package/dist/formatter2.js.map +0 -1
  66. package/dist/index.d.ts +0 -6
  67. package/dist/index.d.ts.map +0 -1
  68. package/dist/index.js +0 -5
  69. package/dist/index.js.map +0 -1
  70. package/dist/index.test.d.ts.map +0 -1
  71. package/dist/index.test.js +0 -14
  72. package/dist/index.test.js.map +0 -1
  73. package/dist/io.d.ts.map +0 -1
  74. package/dist/io.js +0 -22
  75. package/dist/io.js.map +0 -1
  76. package/dist/language_server.d.ts +0 -15
  77. package/dist/language_server.d.ts.map +0 -1
  78. package/dist/language_server.js +0 -248
  79. package/dist/language_server.js.map +0 -1
  80. package/dist/literals.d.ts +0 -13
  81. package/dist/literals.d.ts.map +0 -1
  82. package/dist/literals.js +0 -100
  83. package/dist/literals.js.map +0 -1
  84. package/dist/literals.test.d.ts.map +0 -1
  85. package/dist/literals.test.js +0 -149
  86. package/dist/literals.test.js.map +0 -1
  87. package/dist/module_collector.d.ts +0 -3
  88. package/dist/module_collector.d.ts.map +0 -1
  89. package/dist/module_collector.js +0 -22
  90. package/dist/module_collector.js.map +0 -1
  91. package/dist/module_set.d.ts +0 -40
  92. package/dist/module_set.d.ts.map +0 -1
  93. package/dist/module_set.js +0 -1178
  94. package/dist/module_set.js.map +0 -1
  95. package/dist/module_set.test.d.ts.map +0 -1
  96. package/dist/module_set.test.js +0 -1897
  97. package/dist/module_set.test.js.map +0 -1
  98. package/dist/parser.d.ts +0 -7
  99. package/dist/parser.d.ts.map +0 -1
  100. package/dist/parser.js +0 -1075
  101. package/dist/parser.js.map +0 -1
  102. package/dist/parser.test.d.ts.map +0 -1
  103. package/dist/parser.test.js +0 -1594
  104. package/dist/parser.test.js.map +0 -1
  105. package/dist/project_initializer.d.ts +0 -2
  106. package/dist/project_initializer.d.ts.map +0 -1
  107. package/dist/project_initializer.js +0 -30
  108. package/dist/project_initializer.js.map +0 -1
  109. package/dist/snapshotter.d.ts +0 -9
  110. package/dist/snapshotter.d.ts.map +0 -1
  111. package/dist/snapshotter.js +0 -144
  112. package/dist/snapshotter.js.map +0 -1
  113. package/dist/tokenizer.d.ts +0 -10
  114. package/dist/tokenizer.d.ts.map +0 -1
  115. package/dist/tokenizer.js +0 -198
  116. package/dist/tokenizer.js.map +0 -1
  117. package/dist/tokenizer.test.d.ts.map +0 -1
  118. package/dist/tokenizer.test.js +0 -441
  119. package/dist/tokenizer.test.js.map +0 -1
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=casing.test.d.ts.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "skir-internal",
3
- "version": "0.0.1",
3
+ "version": "0.0.2",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/gepheum/skir-internal#readme",
6
6
  "bugs": {
@@ -1,33 +0,0 @@
1
- export type ParsedArgs = {
2
- kind: "gen";
3
- subcommand?: "watch";
4
- root?: string;
5
- } | {
6
- kind: "format";
7
- subcommand?: "check";
8
- root?: string;
9
- } | {
10
- kind: "snapshot";
11
- subcommand?: "check" | "view";
12
- root?: string;
13
- } | {
14
- kind: "init";
15
- root?: string;
16
- } | {
17
- kind: "help";
18
- root?: undefined;
19
- } | {
20
- kind: "error";
21
- root?: undefined;
22
- };
23
- /**
24
- * Parse command-line arguments and return a structured representation.
25
- *
26
- * @param args - Array of command-line arguments (typically process.argv.slice(2))
27
- * @returns ParsedCommandLine object representing the command and its options
28
- */
29
- export declare function parseCommandLine(args: string[]): ParsedArgs;
30
- export declare class CommandLineParseError extends Error {
31
- constructor(message: string);
32
- }
33
- //# sourceMappingURL=command_line_parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command_line_parser.d.ts","sourceRoot":"","sources":["../src/command_line_parser.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,GAClB;IACE,IAAI,EAAE,KAAK,CAAC;IACZ,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,UAAU,CAAC;IACjB,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,GACD;IACE,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,CAAC,EAAE,SAAS,CAAC;CAClB,CAAC;AAEN;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,UAAU,CA0C3D;AA+BD,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B"}
@@ -1,168 +0,0 @@
1
- /**
2
- * Parse command-line arguments and return a structured representation.
3
- *
4
- * @param args - Array of command-line arguments (typically process.argv.slice(2))
5
- * @returns ParsedCommandLine object representing the command and its options
6
- */
7
- export function parseCommandLine(args) {
8
- if (args.length === 0) {
9
- printHelp();
10
- return { kind: "help" };
11
- }
12
- const command = args[0];
13
- if (command === "help" || command === "--help" || command === "-h") {
14
- printHelp();
15
- return { kind: "help" };
16
- }
17
- const validCommands = ["gen", "format", "snapshot", "init"];
18
- if (!command || !validCommands.includes(command)) {
19
- printError(`Unknown command: ${command}`);
20
- printHelp();
21
- return { kind: "error" };
22
- }
23
- try {
24
- const options = parseOptions(args.slice(1));
25
- switch (command) {
26
- case "gen":
27
- return buildGenCommand(options);
28
- case "format":
29
- return buildFormatCommand(options);
30
- case "snapshot":
31
- return buildSnapshotCommand(options);
32
- case "init":
33
- return buildInitCommand(options);
34
- default:
35
- throw new CommandLineParseError(`Unexpected command: ${command}`);
36
- }
37
- }
38
- catch (error) {
39
- if (error instanceof CommandLineParseError) {
40
- printError(error.message);
41
- return { kind: "error" };
42
- }
43
- throw error;
44
- }
45
- }
46
- const COMMAND_BASE = "npx skir";
47
- const HELP_TEXT = `
48
- Usage: ${COMMAND_BASE} <command> [subcommand] [options]
49
-
50
- Commands:
51
- gen [watch] Generate code from Skir source files to target languages
52
- watch: Automatically regenerate when .skir files change
53
- format [check] Format all .skir files in the specified directory
54
- check: Fail if code is not properly formatted
55
- snapshot [check|view] Manage .skir file snapshots for compatibility checking
56
- check: Fail if there are breaking changes since last snapshot
57
- view: Display the last snapshot
58
- init Initialize a new Skir project with a minimal skir.yml file
59
- help Display this help message
60
-
61
- Options:
62
- --root, -r <path> Path to the directory containing the skir.yml configuration file
63
-
64
- Examples:
65
- ${COMMAND_BASE} gen
66
- ${COMMAND_BASE} gen watch
67
- ${COMMAND_BASE} format --root path/to/root/dir
68
- ${COMMAND_BASE} format check -r path/to/root/dir
69
- ${COMMAND_BASE} snapshot
70
- ${COMMAND_BASE} snapshot check
71
- ${COMMAND_BASE} snapshot view --root path/to/root/dir
72
- `;
73
- export class CommandLineParseError extends Error {
74
- constructor(message) {
75
- super(message);
76
- this.name = "CommandLineParseError";
77
- }
78
- }
79
- function parseOptions(args) {
80
- const options = {
81
- unknown: [],
82
- };
83
- for (let i = 0; i < args.length; i++) {
84
- const arg = args[i];
85
- if (!arg)
86
- continue;
87
- if (arg === "--root" || arg === "-r") {
88
- if (i + 1 >= args.length) {
89
- throw new CommandLineParseError(`Option ${arg} requires a value`);
90
- }
91
- if (options.root !== undefined) {
92
- throw new CommandLineParseError(`Option ${arg} specified multiple times`);
93
- }
94
- options.root = args[i + 1];
95
- i++; // Skip the next argument as it's the value
96
- }
97
- else if (arg.startsWith("-")) {
98
- options.unknown.push(arg);
99
- }
100
- else {
101
- // Positional argument - treat as subcommand
102
- if (options.subcommand !== undefined) {
103
- throw new CommandLineParseError(`Unexpected argument: ${arg}`);
104
- }
105
- options.subcommand = arg;
106
- }
107
- }
108
- return options;
109
- }
110
- function buildGenCommand(options) {
111
- validateNoUnknownOptions(options, "gen");
112
- if (options.subcommand !== undefined && options.subcommand !== "watch") {
113
- throw new CommandLineParseError(`Unknown subcommand for 'gen': ${options.subcommand}`);
114
- }
115
- return {
116
- kind: "gen",
117
- root: options.root,
118
- subcommand: options.subcommand === "watch" ? "watch" : undefined,
119
- };
120
- }
121
- function buildFormatCommand(options) {
122
- validateNoUnknownOptions(options, "format");
123
- if (options.subcommand !== undefined && options.subcommand !== "check") {
124
- throw new CommandLineParseError(`Unknown subcommand for 'format': ${options.subcommand}`);
125
- }
126
- return {
127
- kind: "format",
128
- root: options.root,
129
- subcommand: options.subcommand === "check" ? "check" : undefined,
130
- };
131
- }
132
- function buildSnapshotCommand(options) {
133
- validateNoUnknownOptions(options, "snapshot");
134
- if (options.subcommand !== undefined &&
135
- options.subcommand !== "check" &&
136
- options.subcommand !== "view") {
137
- throw new CommandLineParseError(`Unknown subcommand for 'snapshot': ${options.subcommand}`);
138
- }
139
- return {
140
- kind: "snapshot",
141
- root: options.root,
142
- subcommand: options.subcommand === "check" || options.subcommand === "view"
143
- ? options.subcommand
144
- : undefined,
145
- };
146
- }
147
- function buildInitCommand(options) {
148
- validateNoUnknownOptions(options, "init");
149
- if (options.subcommand !== undefined) {
150
- throw new CommandLineParseError(`Unknown subcommand for 'init': ${options.subcommand}`);
151
- }
152
- return {
153
- kind: "init",
154
- root: options.root,
155
- };
156
- }
157
- function validateNoUnknownOptions(options, command) {
158
- if (options.unknown.length > 0) {
159
- throw new CommandLineParseError(`Unknown option${options.unknown.length > 1 ? "s" : ""} for '${command}': ${options.unknown.join(", ")}`);
160
- }
161
- }
162
- function printHelp() {
163
- console.log(HELP_TEXT);
164
- }
165
- function printError(message) {
166
- console.error(`Error: ${message}\n`);
167
- }
168
- //# sourceMappingURL=command_line_parser.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command_line_parser.js","sourceRoot":"","sources":["../src/command_line_parser.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=command_line_parser.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command_line_parser.test.d.ts","sourceRoot":"","sources":["../src/command_line_parser.test.ts"],"names":[],"mappings":""}
@@ -1,297 +0,0 @@
1
- import { expect } from "buckwheat";
2
- import { describe, it } from "mocha";
3
- import { parseCommandLine } from "./command_line_parser.js";
4
- describe("command_line_parser", () => {
5
- describe("parseCommandLine", () => {
6
- describe("gen command", () => {
7
- it("should parse basic gen command", () => {
8
- const result = parseCommandLine(["gen"]);
9
- expect(result).toMatch({ kind: "gen" });
10
- });
11
- it("should parse gen with --root option", () => {
12
- const result = parseCommandLine(["gen", "--root", "path/to/dir"]);
13
- expect(result).toMatch({
14
- kind: "gen",
15
- root: "path/to/dir",
16
- });
17
- });
18
- it("should parse gen with -r option", () => {
19
- const result = parseCommandLine(["gen", "-r", "path/to/dir"]);
20
- expect(result).toMatch({
21
- kind: "gen",
22
- root: "path/to/dir",
23
- });
24
- });
25
- it("should parse gen with watch subcommand", () => {
26
- const result = parseCommandLine(["gen", "watch"]);
27
- expect(result).toMatch({
28
- kind: "gen",
29
- subcommand: "watch",
30
- });
31
- });
32
- it("should parse gen with watch and --root option", () => {
33
- const result = parseCommandLine([
34
- "gen",
35
- "watch",
36
- "--root",
37
- "path/to/dir",
38
- ]);
39
- expect(result).toMatch({
40
- kind: "gen",
41
- root: "path/to/dir",
42
- subcommand: "watch",
43
- });
44
- });
45
- it("should parse gen with watch and -r option", () => {
46
- const result = parseCommandLine(["gen", "watch", "-r", "path/to/dir"]);
47
- expect(result).toMatch({
48
- kind: "gen",
49
- root: "path/to/dir",
50
- subcommand: "watch",
51
- });
52
- });
53
- it("should return error if unknown subcommand is used with gen", () => {
54
- const result = parseCommandLine(["gen", "build"]);
55
- expect(result).toMatch({ kind: "error" });
56
- });
57
- it("should return error if unknown option is used", () => {
58
- const result = parseCommandLine(["gen", "--unknown"]);
59
- expect(result).toMatch({ kind: "error" });
60
- });
61
- it("should return error if --root is missing value", () => {
62
- const result = parseCommandLine(["gen", "--root"]);
63
- expect(result).toMatch({ kind: "error" });
64
- });
65
- it("should return error if --root is specified multiple times", () => {
66
- const result = parseCommandLine([
67
- "gen",
68
- "--root",
69
- "path1",
70
- "--root",
71
- "path2",
72
- ]);
73
- expect(result).toMatch({ kind: "error" });
74
- });
75
- });
76
- describe("format command", () => {
77
- it("should parse basic format command", () => {
78
- const result = parseCommandLine(["format"]);
79
- expect(result).toMatch({ kind: "format" });
80
- });
81
- it("should parse format with --root option", () => {
82
- const result = parseCommandLine(["format", "--root", "path/to/dir"]);
83
- expect(result).toMatch({
84
- kind: "format",
85
- root: "path/to/dir",
86
- });
87
- });
88
- it("should parse format with -r option", () => {
89
- const result = parseCommandLine(["format", "-r", "path/to/dir"]);
90
- expect(result).toMatch({
91
- kind: "format",
92
- root: "path/to/dir",
93
- });
94
- });
95
- it("should parse format with check subcommand", () => {
96
- const result = parseCommandLine(["format", "check"]);
97
- expect(result).toMatch({
98
- kind: "format",
99
- subcommand: "check",
100
- });
101
- });
102
- it("should parse format with check and --root option", () => {
103
- const result = parseCommandLine([
104
- "format",
105
- "check",
106
- "--root",
107
- "path/to/dir",
108
- ]);
109
- expect(result).toMatch({
110
- kind: "format",
111
- root: "path/to/dir",
112
- subcommand: "check",
113
- });
114
- });
115
- it("should parse format with check and -r option", () => {
116
- const result = parseCommandLine([
117
- "format",
118
- "check",
119
- "-r",
120
- "path/to/dir",
121
- ]);
122
- expect(result).toMatch({
123
- kind: "format",
124
- root: "path/to/dir",
125
- subcommand: "check",
126
- });
127
- });
128
- it("should return error if unknown subcommand is used with format", () => {
129
- const result = parseCommandLine(["format", "fix"]);
130
- expect(result).toMatch({ kind: "error" });
131
- });
132
- it("should return error if unknown option is used", () => {
133
- const result = parseCommandLine(["format", "--verbose"]);
134
- expect(result).toMatch({ kind: "error" });
135
- });
136
- });
137
- describe("snapshot command", () => {
138
- it("should parse basic snapshot command", () => {
139
- const result = parseCommandLine(["snapshot"]);
140
- expect(result).toMatch({ kind: "snapshot" });
141
- });
142
- it("should parse snapshot with --root option", () => {
143
- const result = parseCommandLine(["snapshot", "--root", "path/to/dir"]);
144
- expect(result).toMatch({
145
- kind: "snapshot",
146
- root: "path/to/dir",
147
- });
148
- });
149
- it("should parse snapshot with -r option", () => {
150
- const result = parseCommandLine(["snapshot", "-r", "path/to/dir"]);
151
- expect(result).toMatch({
152
- kind: "snapshot",
153
- root: "path/to/dir",
154
- });
155
- });
156
- it("should return error if unknown subcommand is used with snapshot", () => {
157
- const result = parseCommandLine(["snapshot", "build"]);
158
- expect(result).toMatch({ kind: "error" });
159
- });
160
- it("should parse snapshot with check subcommand", () => {
161
- const result = parseCommandLine(["snapshot", "check"]);
162
- expect(result).toMatch({
163
- kind: "snapshot",
164
- subcommand: "check",
165
- });
166
- });
167
- it("should parse snapshot with view subcommand", () => {
168
- const result = parseCommandLine(["snapshot", "view"]);
169
- expect(result).toMatch({
170
- kind: "snapshot",
171
- subcommand: "view",
172
- });
173
- });
174
- it("should parse snapshot with check and --root option", () => {
175
- const result = parseCommandLine([
176
- "snapshot",
177
- "check",
178
- "--root",
179
- "path/to/dir",
180
- ]);
181
- expect(result).toMatch({
182
- kind: "snapshot",
183
- root: "path/to/dir",
184
- subcommand: "check",
185
- });
186
- });
187
- it("should parse snapshot with view and -r option", () => {
188
- const result = parseCommandLine([
189
- "snapshot",
190
- "view",
191
- "-r",
192
- "path/to/dir",
193
- ]);
194
- expect(result).toMatch({
195
- kind: "snapshot",
196
- root: "path/to/dir",
197
- subcommand: "view",
198
- });
199
- });
200
- });
201
- describe("init command", () => {
202
- it("should parse basic init command", () => {
203
- const result = parseCommandLine(["init"]);
204
- expect(result).toMatch({ kind: "init" });
205
- });
206
- it("should parse init with --root option", () => {
207
- const result = parseCommandLine(["init", "--root", "path/to/dir"]);
208
- expect(result).toMatch({
209
- kind: "init",
210
- root: "path/to/dir",
211
- });
212
- });
213
- it("should parse init with -r option", () => {
214
- const result = parseCommandLine(["init", "-r", "path/to/dir"]);
215
- expect(result).toMatch({
216
- kind: "init",
217
- root: "path/to/dir",
218
- });
219
- });
220
- it("should return error if unknown subcommand is used with init", () => {
221
- const result = parseCommandLine(["init", "template"]);
222
- expect(result).toMatch({ kind: "error" });
223
- });
224
- });
225
- describe("help command", () => {
226
- it("should return help for help command", () => {
227
- const result = parseCommandLine(["help"]);
228
- expect(result).toMatch({ kind: "help" });
229
- });
230
- it("should return help for --help flag", () => {
231
- const result = parseCommandLine(["--help"]);
232
- expect(result).toMatch({ kind: "help" });
233
- });
234
- it("should return help for -h flag", () => {
235
- const result = parseCommandLine(["-h"]);
236
- expect(result).toMatch({ kind: "help" });
237
- });
238
- });
239
- describe("error cases", () => {
240
- it("should return help for empty args", () => {
241
- const result = parseCommandLine([]);
242
- expect(result).toMatch({ kind: "help" });
243
- });
244
- it("should return error for unknown command", () => {
245
- const result = parseCommandLine(["unknown"]);
246
- expect(result).toMatch({ kind: "error" });
247
- });
248
- it("should return error for unexpected positional argument", () => {
249
- const result = parseCommandLine(["gen", "watch", "extra-arg"]);
250
- expect(result).toMatch({ kind: "error" });
251
- });
252
- it("should return error for option with missing value at end", () => {
253
- const result = parseCommandLine(["format", "-r"]);
254
- expect(result).toMatch({ kind: "error" });
255
- });
256
- it("should return error if --watch specified multiple times", () => {
257
- const result = parseCommandLine(["gen", "watch", "watch"]);
258
- expect(result).toMatch({ kind: "error" });
259
- });
260
- it("should return error if --check specified multiple times", () => {
261
- const result = parseCommandLine(["format", "check", "check"]);
262
- expect(result).toMatch({ kind: "error" });
263
- });
264
- });
265
- describe("option order", () => {
266
- it("should parse options in any order for gen", () => {
267
- const result1 = parseCommandLine(["gen", "watch", "--root", "dir"]);
268
- const result2 = parseCommandLine(["gen", "--root", "dir", "watch"]);
269
- expect(result1).toMatch({
270
- kind: "gen",
271
- root: "dir",
272
- subcommand: "watch",
273
- });
274
- expect(result2).toMatch({
275
- kind: "gen",
276
- root: "dir",
277
- subcommand: "watch",
278
- });
279
- });
280
- it("should parse options in any order for format", () => {
281
- const result1 = parseCommandLine(["format", "check", "--root", "dir"]);
282
- const result2 = parseCommandLine(["format", "--root", "dir", "check"]);
283
- expect(result1).toMatch({
284
- kind: "format",
285
- root: "dir",
286
- subcommand: "check",
287
- });
288
- expect(result2).toMatch({
289
- kind: "format",
290
- root: "dir",
291
- subcommand: "check",
292
- });
293
- });
294
- });
295
- });
296
- });
297
- //# sourceMappingURL=command_line_parser.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"command_line_parser.test.js","sourceRoot":"","sources":["../src/command_line_parser.test.ts"],"names":[],"mappings":"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"}
@@ -1,74 +0,0 @@
1
- import { ModuleSet } from "./module_set.js";
2
- import type { Method, RecordLocation, ResolvedType, Token } from "./types.js";
3
- export interface BeforeAfter<T> {
4
- before: T;
5
- after: T;
6
- }
7
- export type BreakingChange = {
8
- kind: "illegal-type-change";
9
- expression: BeforeAfter<Expression>;
10
- type: BeforeAfter<ResolvedType>;
11
- } | {
12
- kind: "missing-slots";
13
- record: BeforeAfter<RecordLocation>;
14
- recordExpression: BeforeAfter<Expression>;
15
- missingRangeStart: number;
16
- missingRangeEnd: number;
17
- } | {
18
- kind: "missing-record";
19
- record: RecordLocation;
20
- recordNumber: number;
21
- } | {
22
- kind: "missing-method";
23
- method: Method;
24
- } | {
25
- kind: "record-kind-change";
26
- record: BeforeAfter<RecordLocation>;
27
- recordExpression: BeforeAfter<Expression>;
28
- recordType: BeforeAfter<"struct" | "enum">;
29
- } | {
30
- kind: "removed-number-reintroduced";
31
- record: BeforeAfter<RecordLocation>;
32
- recordExpression: BeforeAfter<Expression>;
33
- removedNumber: number;
34
- reintroducedAs: Token;
35
- } | {
36
- kind: "missing-variant";
37
- record: BeforeAfter<RecordLocation>;
38
- enumEpression: BeforeAfter<Expression>;
39
- variantName: Token;
40
- number: number;
41
- } | {
42
- kind: "variant-kind-change";
43
- record: BeforeAfter<RecordLocation>;
44
- enumEpression: BeforeAfter<Expression>;
45
- variantName: BeforeAfter<Token>;
46
- number: number;
47
- };
48
- export type Expression = {
49
- kind: "request-type";
50
- methodName: Token;
51
- } | {
52
- kind: "response-type";
53
- methodName: Token;
54
- } | {
55
- kind: "record";
56
- recordName: Token;
57
- } | {
58
- kind: "item";
59
- arrayExpression: Expression;
60
- } | {
61
- kind: "optional-value";
62
- optionalExpression: Expression;
63
- } | {
64
- kind: "property";
65
- structExpression: Expression;
66
- fieldName: Token;
67
- } | {
68
- kind: "as-variant";
69
- enumExpression: Expression;
70
- variantName: Token;
71
- };
72
- export declare function checkBackwardCompatibility(moduleSet: BeforeAfter<ModuleSet>): readonly BreakingChange[];
73
- export declare function getTokenForBreakingChange(breakingChange: BreakingChange): Token | null;
74
- //# sourceMappingURL=compatibility_checker.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"compatibility_checker.d.ts","sourceRoot":"","sources":["../src/compatibility_checker.ts"],"names":[],"mappings":"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"}