skir 0.0.6 → 0.0.7

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 (49) hide show
  1. package/dist/command_line_parser.d.ts.map +1 -1
  2. package/dist/command_line_parser.js +76 -36
  3. package/dist/command_line_parser.js.map +1 -1
  4. package/dist/command_line_parser.test.js +119 -31
  5. package/dist/command_line_parser.test.js.map +1 -1
  6. package/dist/compiler.js +45 -51
  7. package/dist/compiler.js.map +1 -1
  8. package/dist/config.d.ts +2 -2
  9. package/dist/config.d.ts.map +1 -1
  10. package/dist/config.js +3 -5
  11. package/dist/config.js.map +1 -1
  12. package/dist/config_parser.d.ts +6 -0
  13. package/dist/config_parser.d.ts.map +1 -1
  14. package/dist/config_parser.js +52 -31
  15. package/dist/config_parser.js.map +1 -1
  16. package/dist/config_parser.test.js +53 -20
  17. package/dist/config_parser.test.js.map +1 -1
  18. package/dist/error_renderer.d.ts +1 -0
  19. package/dist/error_renderer.d.ts.map +1 -1
  20. package/dist/error_renderer.js +6 -3
  21. package/dist/error_renderer.js.map +1 -1
  22. package/dist/exit_error.d.ts +8 -0
  23. package/dist/exit_error.d.ts.map +1 -0
  24. package/dist/exit_error.js +8 -0
  25. package/dist/exit_error.js.map +1 -0
  26. package/dist/io.d.ts +2 -0
  27. package/dist/io.d.ts.map +1 -1
  28. package/dist/io.js +22 -3
  29. package/dist/io.js.map +1 -1
  30. package/dist/module_collector.d.ts.map +1 -1
  31. package/dist/module_collector.js +12 -7
  32. package/dist/module_collector.js.map +1 -1
  33. package/dist/module_set.js +4 -4
  34. package/dist/parser.js +6 -6
  35. package/dist/project_initializer.d.ts.map +1 -1
  36. package/dist/project_initializer.js +97 -15
  37. package/dist/project_initializer.js.map +1 -1
  38. package/package.json +8 -6
  39. package/src/command_line_parser.ts +95 -40
  40. package/src/compiler.ts +59 -57
  41. package/src/config.ts +4 -6
  42. package/src/config_parser.ts +61 -32
  43. package/src/error_renderer.ts +11 -3
  44. package/src/exit_error.ts +6 -0
  45. package/src/io.ts +22 -3
  46. package/src/module_collector.ts +21 -7
  47. package/src/module_set.ts +4 -4
  48. package/src/parser.ts +6 -6
  49. package/src/project_initializer.ts +97 -15
@@ -1 +1 @@
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
+ {"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;AAkCD,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,OAAO,EAAE,MAAM;CAI5B"}
@@ -45,30 +45,33 @@ export function parseCommandLine(args) {
45
45
  }
46
46
  const COMMAND_BASE = "npx skir";
47
47
  const HELP_TEXT = `
48
- Usage: ${COMMAND_BASE} <command> [subcommand] [options]
48
+ Usage: ${COMMAND_BASE} <command> [options]
49
49
 
50
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
51
+ init Initialize a new project with a minimal skir.yml file
52
+ gen Generate code from .skir files to target languages
53
+ format Format all .skir files in the source directory
54
+ snapshot Take a snapshot of the source directory, look for
55
+ breaking changes since the last snapshot
56
+ help Display this help message
60
57
 
61
58
  Options:
62
- --root, -r <path> Path to the directory containing the skir.yml configuration file
59
+ --root, -r <path> Path to the directory containing the skir.yml file
60
+ --watch, -w Automatically run code generation when .skir files change
61
+ (gen only)
62
+ --check Fail if code is not properly formatted (format) or if there
63
+ are breaking changes (snapshot)
64
+ --view Display the last snapshot (snapshot only)
63
65
 
64
66
  Examples:
67
+ ${COMMAND_BASE} init
65
68
  ${COMMAND_BASE} gen
66
- ${COMMAND_BASE} gen watch
69
+ ${COMMAND_BASE} gen --watch
67
70
  ${COMMAND_BASE} format --root path/to/root/dir
68
- ${COMMAND_BASE} format check -r path/to/root/dir
71
+ ${COMMAND_BASE} format --check -r path/to/root/dir
69
72
  ${COMMAND_BASE} snapshot
70
- ${COMMAND_BASE} snapshot check
71
- ${COMMAND_BASE} snapshot view --root path/to/root/dir
73
+ ${COMMAND_BASE} snapshot --check
74
+ ${COMMAND_BASE} snapshot --view --root path/to/root/dir
72
75
  `;
73
76
  export class CommandLineParseError extends Error {
74
77
  constructor(message) {
@@ -84,7 +87,18 @@ function parseOptions(args) {
84
87
  const arg = args[i];
85
88
  if (!arg)
86
89
  continue;
87
- if (arg === "--root" || arg === "-r") {
90
+ // Check for --option=value syntax
91
+ if (arg.startsWith("--root=") || arg.startsWith("-r=")) {
92
+ const value = arg.substring(arg.indexOf("=") + 1);
93
+ if (!value) {
94
+ throw new CommandLineParseError(`Option ${arg.split("=")[0]} requires a value`);
95
+ }
96
+ if (options.root !== undefined) {
97
+ throw new CommandLineParseError(`Option ${arg.split("=")[0]} specified multiple times`);
98
+ }
99
+ options.root = value;
100
+ }
101
+ else if (arg === "--root" || arg === "-r") {
88
102
  if (i + 1 >= args.length) {
89
103
  throw new CommandLineParseError(`Option ${arg} requires a value`);
90
104
  }
@@ -94,60 +108,86 @@ function parseOptions(args) {
94
108
  options.root = args[i + 1];
95
109
  i++; // Skip the next argument as it's the value
96
110
  }
111
+ else if (arg === "--watch" || arg === "-w") {
112
+ if (options.watch) {
113
+ throw new CommandLineParseError(`Option ${arg} specified multiple times`);
114
+ }
115
+ options.watch = true;
116
+ }
117
+ else if (arg === "--check") {
118
+ if (options.check) {
119
+ throw new CommandLineParseError(`Option --check specified multiple times`);
120
+ }
121
+ options.check = true;
122
+ }
123
+ else if (arg === "--view") {
124
+ if (options.view) {
125
+ throw new CommandLineParseError(`Option --view specified multiple times`);
126
+ }
127
+ options.view = true;
128
+ }
97
129
  else if (arg.startsWith("-")) {
98
130
  options.unknown.push(arg);
99
131
  }
100
132
  else {
101
- // Positional argument - treat as subcommand
102
- if (options.subcommand !== undefined) {
103
- throw new CommandLineParseError(`Unexpected argument: ${arg}`);
104
- }
105
- options.subcommand = arg;
133
+ // Positional argument - not allowed anymore
134
+ throw new CommandLineParseError(`Unexpected argument: ${arg}`);
106
135
  }
107
136
  }
108
137
  return options;
109
138
  }
110
139
  function buildGenCommand(options) {
111
140
  validateNoUnknownOptions(options, "gen");
112
- if (options.subcommand !== undefined && options.subcommand !== "watch") {
113
- throw new CommandLineParseError(`Unknown subcommand for 'gen': ${options.subcommand}`);
141
+ if (options.check) {
142
+ throw new CommandLineParseError(`Option --check is not valid for 'gen' command`);
143
+ }
144
+ if (options.view) {
145
+ throw new CommandLineParseError(`Option --view is not valid for 'gen' command`);
114
146
  }
115
147
  return {
116
148
  kind: "gen",
117
149
  root: options.root,
118
- subcommand: options.subcommand === "watch" ? "watch" : undefined,
150
+ subcommand: options.watch ? "watch" : undefined,
119
151
  };
120
152
  }
121
153
  function buildFormatCommand(options) {
122
154
  validateNoUnknownOptions(options, "format");
123
- if (options.subcommand !== undefined && options.subcommand !== "check") {
124
- throw new CommandLineParseError(`Unknown subcommand for 'format': ${options.subcommand}`);
155
+ if (options.watch) {
156
+ throw new CommandLineParseError(`Option --watch is not valid for 'format' command`);
157
+ }
158
+ if (options.view) {
159
+ throw new CommandLineParseError(`Option --view is not valid for 'format' command`);
125
160
  }
126
161
  return {
127
162
  kind: "format",
128
163
  root: options.root,
129
- subcommand: options.subcommand === "check" ? "check" : undefined,
164
+ subcommand: options.check ? "check" : undefined,
130
165
  };
131
166
  }
132
167
  function buildSnapshotCommand(options) {
133
168
  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}`);
169
+ if (options.watch) {
170
+ throw new CommandLineParseError(`Option --watch is not valid for 'snapshot' command`);
171
+ }
172
+ if (options.check && options.view) {
173
+ throw new CommandLineParseError(`Options --check and --view cannot be used together`);
138
174
  }
139
175
  return {
140
176
  kind: "snapshot",
141
177
  root: options.root,
142
- subcommand: options.subcommand === "check" || options.subcommand === "view"
143
- ? options.subcommand
144
- : undefined,
178
+ subcommand: options.check ? "check" : options.view ? "view" : undefined,
145
179
  };
146
180
  }
147
181
  function buildInitCommand(options) {
148
182
  validateNoUnknownOptions(options, "init");
149
- if (options.subcommand !== undefined) {
150
- throw new CommandLineParseError(`Unknown subcommand for 'init': ${options.subcommand}`);
183
+ if (options.watch) {
184
+ throw new CommandLineParseError(`Option --watch is not valid for 'init' command`);
185
+ }
186
+ if (options.check) {
187
+ throw new CommandLineParseError(`Option --check is not valid for 'init' command`);
188
+ }
189
+ if (options.view) {
190
+ throw new CommandLineParseError(`Option --view is not valid for 'init' command`);
151
191
  }
152
192
  return {
153
193
  kind: "init",
@@ -1 +1 @@
1
- {"version":3,"file":"command_line_parser.js","sourceRoot":"","sources":["../src/command_line_parser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command_line_parser.js","sourceRoot":"","sources":["../src/command_line_parser.ts"],"names":[],"mappings":"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"}
@@ -22,17 +22,38 @@ describe("command_line_parser", () => {
22
22
  root: "path/to/dir",
23
23
  });
24
24
  });
25
- it("should parse gen with watch subcommand", () => {
26
- const result = parseCommandLine(["gen", "watch"]);
25
+ it("should parse gen with --root=value syntax", () => {
26
+ const result = parseCommandLine(["gen", "--root=path/to/dir"]);
27
+ expect(result).toMatch({
28
+ kind: "gen",
29
+ root: "path/to/dir",
30
+ });
31
+ });
32
+ it("should parse gen with -r=value syntax", () => {
33
+ const result = parseCommandLine(["gen", "-r=path/to/dir"]);
34
+ expect(result).toMatch({
35
+ kind: "gen",
36
+ root: "path/to/dir",
37
+ });
38
+ });
39
+ it("should parse gen with --watch option", () => {
40
+ const result = parseCommandLine(["gen", "--watch"]);
27
41
  expect(result).toMatch({
28
42
  kind: "gen",
29
43
  subcommand: "watch",
30
44
  });
31
45
  });
32
- it("should parse gen with watch and --root option", () => {
46
+ it("should parse gen with -w option", () => {
47
+ const result = parseCommandLine(["gen", "-w"]);
48
+ expect(result).toMatch({
49
+ kind: "gen",
50
+ subcommand: "watch",
51
+ });
52
+ });
53
+ it("should parse gen with --watch and --root option", () => {
33
54
  const result = parseCommandLine([
34
55
  "gen",
35
- "watch",
56
+ "--watch",
36
57
  "--root",
37
58
  "path/to/dir",
38
59
  ]);
@@ -42,15 +63,15 @@ describe("command_line_parser", () => {
42
63
  subcommand: "watch",
43
64
  });
44
65
  });
45
- it("should parse gen with watch and -r option", () => {
46
- const result = parseCommandLine(["gen", "watch", "-r", "path/to/dir"]);
66
+ it("should parse gen with -w and -r option", () => {
67
+ const result = parseCommandLine(["gen", "-w", "-r", "path/to/dir"]);
47
68
  expect(result).toMatch({
48
69
  kind: "gen",
49
70
  root: "path/to/dir",
50
71
  subcommand: "watch",
51
72
  });
52
73
  });
53
- it("should return error if unknown subcommand is used with gen", () => {
74
+ it("should return error if positional argument is used with gen", () => {
54
75
  const result = parseCommandLine(["gen", "build"]);
55
76
  expect(result).toMatch({ kind: "error" });
56
77
  });
@@ -62,6 +83,10 @@ describe("command_line_parser", () => {
62
83
  const result = parseCommandLine(["gen", "--root"]);
63
84
  expect(result).toMatch({ kind: "error" });
64
85
  });
86
+ it("should return error if --root= is missing value", () => {
87
+ const result = parseCommandLine(["gen", "--root="]);
88
+ expect(result).toMatch({ kind: "error" });
89
+ });
65
90
  it("should return error if --root is specified multiple times", () => {
66
91
  const result = parseCommandLine([
67
92
  "gen",
@@ -72,6 +97,31 @@ describe("command_line_parser", () => {
72
97
  ]);
73
98
  expect(result).toMatch({ kind: "error" });
74
99
  });
100
+ it("should return error if --root is specified multiple times with = syntax", () => {
101
+ const result = parseCommandLine([
102
+ "gen",
103
+ "--root=path1",
104
+ "--root=path2",
105
+ ]);
106
+ expect(result).toMatch({ kind: "error" });
107
+ });
108
+ it("should return error if --root is specified with both syntaxes", () => {
109
+ const result = parseCommandLine([
110
+ "gen",
111
+ "--root",
112
+ "path1",
113
+ "--root=path2",
114
+ ]);
115
+ expect(result).toMatch({ kind: "error" });
116
+ });
117
+ it("should return error if --check is used with gen", () => {
118
+ const result = parseCommandLine(["gen", "--check"]);
119
+ expect(result).toMatch({ kind: "error" });
120
+ });
121
+ it("should return error if --view is used with gen", () => {
122
+ const result = parseCommandLine(["gen", "--view"]);
123
+ expect(result).toMatch({ kind: "error" });
124
+ });
75
125
  });
76
126
  describe("format command", () => {
77
127
  it("should parse basic format command", () => {
@@ -92,17 +142,17 @@ describe("command_line_parser", () => {
92
142
  root: "path/to/dir",
93
143
  });
94
144
  });
95
- it("should parse format with check subcommand", () => {
96
- const result = parseCommandLine(["format", "check"]);
145
+ it("should parse format with --check option", () => {
146
+ const result = parseCommandLine(["format", "--check"]);
97
147
  expect(result).toMatch({
98
148
  kind: "format",
99
149
  subcommand: "check",
100
150
  });
101
151
  });
102
- it("should parse format with check and --root option", () => {
152
+ it("should parse format with --check and --root option", () => {
103
153
  const result = parseCommandLine([
104
154
  "format",
105
- "check",
155
+ "--check",
106
156
  "--root",
107
157
  "path/to/dir",
108
158
  ]);
@@ -112,10 +162,10 @@ describe("command_line_parser", () => {
112
162
  subcommand: "check",
113
163
  });
114
164
  });
115
- it("should parse format with check and -r option", () => {
165
+ it("should parse format with --check and -r option", () => {
116
166
  const result = parseCommandLine([
117
167
  "format",
118
- "check",
168
+ "--check",
119
169
  "-r",
120
170
  "path/to/dir",
121
171
  ]);
@@ -125,7 +175,7 @@ describe("command_line_parser", () => {
125
175
  subcommand: "check",
126
176
  });
127
177
  });
128
- it("should return error if unknown subcommand is used with format", () => {
178
+ it("should return error if positional argument is used with format", () => {
129
179
  const result = parseCommandLine(["format", "fix"]);
130
180
  expect(result).toMatch({ kind: "error" });
131
181
  });
@@ -133,6 +183,14 @@ describe("command_line_parser", () => {
133
183
  const result = parseCommandLine(["format", "--verbose"]);
134
184
  expect(result).toMatch({ kind: "error" });
135
185
  });
186
+ it("should return error if --watch is used with format", () => {
187
+ const result = parseCommandLine(["format", "--watch"]);
188
+ expect(result).toMatch({ kind: "error" });
189
+ });
190
+ it("should return error if --view is used with format", () => {
191
+ const result = parseCommandLine(["format", "--view"]);
192
+ expect(result).toMatch({ kind: "error" });
193
+ });
136
194
  });
137
195
  describe("snapshot command", () => {
138
196
  it("should parse basic snapshot command", () => {
@@ -153,28 +211,28 @@ describe("command_line_parser", () => {
153
211
  root: "path/to/dir",
154
212
  });
155
213
  });
156
- it("should return error if unknown subcommand is used with snapshot", () => {
214
+ it("should return error if positional argument is used with snapshot", () => {
157
215
  const result = parseCommandLine(["snapshot", "build"]);
158
216
  expect(result).toMatch({ kind: "error" });
159
217
  });
160
- it("should parse snapshot with check subcommand", () => {
161
- const result = parseCommandLine(["snapshot", "check"]);
218
+ it("should parse snapshot with --check option", () => {
219
+ const result = parseCommandLine(["snapshot", "--check"]);
162
220
  expect(result).toMatch({
163
221
  kind: "snapshot",
164
222
  subcommand: "check",
165
223
  });
166
224
  });
167
- it("should parse snapshot with view subcommand", () => {
168
- const result = parseCommandLine(["snapshot", "view"]);
225
+ it("should parse snapshot with --view option", () => {
226
+ const result = parseCommandLine(["snapshot", "--view"]);
169
227
  expect(result).toMatch({
170
228
  kind: "snapshot",
171
229
  subcommand: "view",
172
230
  });
173
231
  });
174
- it("should parse snapshot with check and --root option", () => {
232
+ it("should parse snapshot with --check and --root option", () => {
175
233
  const result = parseCommandLine([
176
234
  "snapshot",
177
- "check",
235
+ "--check",
178
236
  "--root",
179
237
  "path/to/dir",
180
238
  ]);
@@ -184,10 +242,10 @@ describe("command_line_parser", () => {
184
242
  subcommand: "check",
185
243
  });
186
244
  });
187
- it("should parse snapshot with view and -r option", () => {
245
+ it("should parse snapshot with --view and -r option", () => {
188
246
  const result = parseCommandLine([
189
247
  "snapshot",
190
- "view",
248
+ "--view",
191
249
  "-r",
192
250
  "path/to/dir",
193
251
  ]);
@@ -197,6 +255,14 @@ describe("command_line_parser", () => {
197
255
  subcommand: "view",
198
256
  });
199
257
  });
258
+ it("should return error if both --check and --view are used with snapshot", () => {
259
+ const result = parseCommandLine(["snapshot", "--check", "--view"]);
260
+ expect(result).toMatch({ kind: "error" });
261
+ });
262
+ it("should return error if --watch is used with snapshot", () => {
263
+ const result = parseCommandLine(["snapshot", "--watch"]);
264
+ expect(result).toMatch({ kind: "error" });
265
+ });
200
266
  });
201
267
  describe("init command", () => {
202
268
  it("should parse basic init command", () => {
@@ -217,10 +283,22 @@ describe("command_line_parser", () => {
217
283
  root: "path/to/dir",
218
284
  });
219
285
  });
220
- it("should return error if unknown subcommand is used with init", () => {
286
+ it("should return error if positional argument is used with init", () => {
221
287
  const result = parseCommandLine(["init", "template"]);
222
288
  expect(result).toMatch({ kind: "error" });
223
289
  });
290
+ it("should return error if --watch is used with init", () => {
291
+ const result = parseCommandLine(["init", "--watch"]);
292
+ expect(result).toMatch({ kind: "error" });
293
+ });
294
+ it("should return error if --check is used with init", () => {
295
+ const result = parseCommandLine(["init", "--check"]);
296
+ expect(result).toMatch({ kind: "error" });
297
+ });
298
+ it("should return error if --view is used with init", () => {
299
+ const result = parseCommandLine(["init", "--view"]);
300
+ expect(result).toMatch({ kind: "error" });
301
+ });
224
302
  });
225
303
  describe("help command", () => {
226
304
  it("should return help for help command", () => {
@@ -246,7 +324,7 @@ describe("command_line_parser", () => {
246
324
  expect(result).toMatch({ kind: "error" });
247
325
  });
248
326
  it("should return error for unexpected positional argument", () => {
249
- const result = parseCommandLine(["gen", "watch", "extra-arg"]);
327
+ const result = parseCommandLine(["gen", "--watch", "extra-arg"]);
250
328
  expect(result).toMatch({ kind: "error" });
251
329
  });
252
330
  it("should return error for option with missing value at end", () => {
@@ -254,18 +332,18 @@ describe("command_line_parser", () => {
254
332
  expect(result).toMatch({ kind: "error" });
255
333
  });
256
334
  it("should return error if --watch specified multiple times", () => {
257
- const result = parseCommandLine(["gen", "watch", "watch"]);
335
+ const result = parseCommandLine(["gen", "--watch", "--watch"]);
258
336
  expect(result).toMatch({ kind: "error" });
259
337
  });
260
338
  it("should return error if --check specified multiple times", () => {
261
- const result = parseCommandLine(["format", "check", "check"]);
339
+ const result = parseCommandLine(["format", "--check", "--check"]);
262
340
  expect(result).toMatch({ kind: "error" });
263
341
  });
264
342
  });
265
343
  describe("option order", () => {
266
344
  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"]);
345
+ const result1 = parseCommandLine(["gen", "--watch", "--root", "dir"]);
346
+ const result2 = parseCommandLine(["gen", "--root", "dir", "--watch"]);
269
347
  expect(result1).toMatch({
270
348
  kind: "gen",
271
349
  root: "dir",
@@ -278,8 +356,18 @@ describe("command_line_parser", () => {
278
356
  });
279
357
  });
280
358
  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"]);
359
+ const result1 = parseCommandLine([
360
+ "format",
361
+ "--check",
362
+ "--root",
363
+ "dir",
364
+ ]);
365
+ const result2 = parseCommandLine([
366
+ "format",
367
+ "--root",
368
+ "dir",
369
+ "--check",
370
+ ]);
283
371
  expect(result1).toMatch({
284
372
  kind: "format",
285
373
  root: "dir",
@@ -1 +1 @@
1
- {"version":3,"file":"command_line_parser.test.js","sourceRoot":"","sources":["../src/command_line_parser.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command_line_parser.test.js","sourceRoot":"","sources":["../src/command_line_parser.test.ts"],"names":[],"mappings":"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"}