skir-internal 0.0.1

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 (132) hide show
  1. package/README.md +2 -0
  2. package/dist/casing.d.ts +8 -0
  3. package/dist/casing.d.ts.map +1 -0
  4. package/dist/casing.js +43 -0
  5. package/dist/casing.js.map +1 -0
  6. package/dist/casing.test.d.ts.map +1 -0
  7. package/dist/casing.test.js +136 -0
  8. package/dist/casing.test.js.map +1 -0
  9. package/dist/command_line_parser.d.ts +33 -0
  10. package/dist/command_line_parser.d.ts.map +1 -0
  11. package/dist/command_line_parser.js +168 -0
  12. package/dist/command_line_parser.js.map +1 -0
  13. package/dist/command_line_parser.test.d.ts +2 -0
  14. package/dist/command_line_parser.test.d.ts.map +1 -0
  15. package/dist/command_line_parser.test.js +297 -0
  16. package/dist/command_line_parser.test.js.map +1 -0
  17. package/dist/compatibility_checker.d.ts +74 -0
  18. package/dist/compatibility_checker.d.ts.map +1 -0
  19. package/dist/compatibility_checker.js +341 -0
  20. package/dist/compatibility_checker.js.map +1 -0
  21. package/dist/compatibility_checker.test.d.ts +2 -0
  22. package/dist/compatibility_checker.test.d.ts.map +1 -0
  23. package/dist/compatibility_checker.test.js +582 -0
  24. package/dist/compatibility_checker.test.js.map +1 -0
  25. package/dist/compiler.d.ts.map +1 -0
  26. package/dist/compiler.js +375 -0
  27. package/dist/compiler.js.map +1 -0
  28. package/dist/config.d.ts +47 -0
  29. package/dist/config.d.ts.map +1 -0
  30. package/dist/config.js +23 -0
  31. package/dist/config.js.map +1 -0
  32. package/dist/definition_finder.d.ts +12 -0
  33. package/dist/definition_finder.d.ts.map +1 -0
  34. package/dist/definition_finder.js +180 -0
  35. package/dist/definition_finder.js.map +1 -0
  36. package/dist/definition_finder.test.d.ts +2 -0
  37. package/dist/definition_finder.test.d.ts.map +1 -0
  38. package/dist/definition_finder.test.js +164 -0
  39. package/dist/definition_finder.test.js.map +1 -0
  40. package/dist/doc_comment_parser.d.ts +3 -0
  41. package/dist/doc_comment_parser.d.ts.map +1 -0
  42. package/dist/doc_comment_parser.js +219 -0
  43. package/dist/doc_comment_parser.js.map +1 -0
  44. package/dist/doc_comment_parser.test.d.ts +2 -0
  45. package/dist/doc_comment_parser.test.d.ts.map +1 -0
  46. package/dist/doc_comment_parser.test.js +494 -0
  47. package/dist/doc_comment_parser.test.js.map +1 -0
  48. package/dist/encoding.d.ts +2 -0
  49. package/dist/encoding.d.ts.map +1 -0
  50. package/dist/encoding.js +38 -0
  51. package/dist/encoding.js.map +1 -0
  52. package/dist/encoding.test.d.ts +2 -0
  53. package/dist/encoding.test.d.ts.map +1 -0
  54. package/dist/encoding.test.js +23 -0
  55. package/dist/encoding.test.js.map +1 -0
  56. package/dist/error_renderer.d.ts +10 -0
  57. package/dist/error_renderer.d.ts.map +1 -0
  58. package/dist/error_renderer.js +266 -0
  59. package/dist/error_renderer.js.map +1 -0
  60. package/dist/formatter.d.ts +16 -0
  61. package/dist/formatter.d.ts.map +1 -0
  62. package/dist/formatter.js +220 -0
  63. package/dist/formatter.js.map +1 -0
  64. package/dist/formatter.test.d.ts +2 -0
  65. package/dist/formatter.test.d.ts.map +1 -0
  66. package/dist/formatter.test.js +390 -0
  67. package/dist/formatter.test.js.map +1 -0
  68. package/dist/formatter2.d.ts +3 -0
  69. package/dist/formatter2.d.ts.map +1 -0
  70. package/dist/formatter2.js +67 -0
  71. package/dist/formatter2.js.map +1 -0
  72. package/dist/index.d.ts +6 -0
  73. package/dist/index.d.ts.map +1 -0
  74. package/dist/index.js +5 -0
  75. package/dist/index.js.map +1 -0
  76. package/dist/index.test.d.ts.map +1 -0
  77. package/dist/index.test.js +14 -0
  78. package/dist/index.test.js.map +1 -0
  79. package/dist/io.d.ts.map +1 -0
  80. package/dist/io.js +22 -0
  81. package/dist/io.js.map +1 -0
  82. package/dist/language_server.d.ts +15 -0
  83. package/dist/language_server.d.ts.map +1 -0
  84. package/dist/language_server.js +248 -0
  85. package/dist/language_server.js.map +1 -0
  86. package/dist/literals.d.ts +13 -0
  87. package/dist/literals.d.ts.map +1 -0
  88. package/dist/literals.js +100 -0
  89. package/dist/literals.js.map +1 -0
  90. package/dist/literals.test.d.ts.map +1 -0
  91. package/dist/literals.test.js +149 -0
  92. package/dist/literals.test.js.map +1 -0
  93. package/dist/module_collector.d.ts +3 -0
  94. package/dist/module_collector.d.ts.map +1 -0
  95. package/dist/module_collector.js +22 -0
  96. package/dist/module_collector.js.map +1 -0
  97. package/dist/module_set.d.ts +40 -0
  98. package/dist/module_set.d.ts.map +1 -0
  99. package/dist/module_set.js +1178 -0
  100. package/dist/module_set.js.map +1 -0
  101. package/dist/module_set.test.d.ts.map +1 -0
  102. package/dist/module_set.test.js +1897 -0
  103. package/dist/module_set.test.js.map +1 -0
  104. package/dist/parser.d.ts +7 -0
  105. package/dist/parser.d.ts.map +1 -0
  106. package/dist/parser.js +1075 -0
  107. package/dist/parser.js.map +1 -0
  108. package/dist/parser.test.d.ts.map +1 -0
  109. package/dist/parser.test.js +1594 -0
  110. package/dist/parser.test.js.map +1 -0
  111. package/dist/project_initializer.d.ts +2 -0
  112. package/dist/project_initializer.d.ts.map +1 -0
  113. package/dist/project_initializer.js +30 -0
  114. package/dist/project_initializer.js.map +1 -0
  115. package/dist/snapshotter.d.ts +9 -0
  116. package/dist/snapshotter.d.ts.map +1 -0
  117. package/dist/snapshotter.js +144 -0
  118. package/dist/snapshotter.js.map +1 -0
  119. package/dist/tokenizer.d.ts +10 -0
  120. package/dist/tokenizer.d.ts.map +1 -0
  121. package/dist/tokenizer.js +198 -0
  122. package/dist/tokenizer.js.map +1 -0
  123. package/dist/tokenizer.test.d.ts.map +1 -0
  124. package/dist/tokenizer.test.js +441 -0
  125. package/dist/tokenizer.test.js.map +1 -0
  126. package/dist/types.d.ts +439 -0
  127. package/dist/types.d.ts.map +1 -0
  128. package/dist/types.js +2 -0
  129. package/dist/types.js.map +1 -0
  130. package/package.json +58 -0
  131. package/src/casing.ts +53 -0
  132. package/src/types.ts +585 -0
@@ -0,0 +1,297 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"command_line_parser.test.js","sourceRoot":"","sources":["../src/command_line_parser.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,74 @@
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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"compatibility_checker.d.ts","sourceRoot":"","sources":["../src/compatibility_checker.ts"],"names":[],"mappings":"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"}