skir 0.0.3 → 0.0.6

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 (60) hide show
  1. package/dist/casing.d.ts.map +1 -1
  2. package/dist/casing.js +4 -1
  3. package/dist/casing.js.map +1 -1
  4. package/dist/casing.test.js +35 -1
  5. package/dist/casing.test.js.map +1 -1
  6. package/dist/compatibility_checker.test.js +2 -2
  7. package/dist/compiler.js +23 -42
  8. package/dist/compiler.js.map +1 -1
  9. package/dist/config.d.ts +2 -2
  10. package/dist/config.d.ts.map +1 -1
  11. package/dist/config.js +5 -10
  12. package/dist/config.js.map +1 -1
  13. package/dist/config_parser.d.ts +25 -0
  14. package/dist/config_parser.d.ts.map +1 -0
  15. package/dist/config_parser.js +125 -0
  16. package/dist/config_parser.js.map +1 -0
  17. package/dist/config_parser.test.d.ts +2 -0
  18. package/dist/config_parser.test.d.ts.map +1 -0
  19. package/dist/config_parser.test.js +386 -0
  20. package/dist/config_parser.test.js.map +1 -0
  21. package/dist/doc_comment_parser.d.ts +3 -2
  22. package/dist/doc_comment_parser.d.ts.map +1 -1
  23. package/dist/doc_comment_parser.js +67 -52
  24. package/dist/doc_comment_parser.js.map +1 -1
  25. package/dist/doc_comment_parser.test.js +86 -154
  26. package/dist/doc_comment_parser.test.js.map +1 -1
  27. package/dist/error_renderer.d.ts +4 -0
  28. package/dist/error_renderer.d.ts.map +1 -1
  29. package/dist/error_renderer.js +21 -0
  30. package/dist/error_renderer.js.map +1 -1
  31. package/dist/module_set.d.ts.map +1 -1
  32. package/dist/module_set.js +29 -12
  33. package/dist/module_set.js.map +1 -1
  34. package/dist/module_set.test.js +318 -173
  35. package/dist/module_set.test.js.map +1 -1
  36. package/dist/parser.d.ts.map +1 -1
  37. package/dist/parser.js +10 -10
  38. package/dist/parser.js.map +1 -1
  39. package/dist/project_initializer.js +9 -1
  40. package/dist/project_initializer.js.map +1 -1
  41. package/dist/tokenizer.d.ts +7 -1
  42. package/dist/tokenizer.d.ts.map +1 -1
  43. package/dist/tokenizer.js +12 -0
  44. package/dist/tokenizer.js.map +1 -1
  45. package/package.json +10 -5
  46. package/src/casing.ts +6 -1
  47. package/src/compiler.ts +26 -40
  48. package/src/config.ts +10 -15
  49. package/src/config_parser.ts +169 -0
  50. package/src/doc_comment_parser.ts +76 -52
  51. package/src/error_renderer.ts +34 -0
  52. package/src/module_set.ts +31 -15
  53. package/src/parser.ts +16 -10
  54. package/src/project_initializer.ts +9 -1
  55. package/src/tokenizer.ts +20 -2
  56. package/dist/language_server.d.ts +0 -15
  57. package/dist/language_server.d.ts.map +0 -1
  58. package/dist/language_server.js +0 -248
  59. package/dist/language_server.js.map +0 -1
  60. package/src/language_server.ts +0 -301
@@ -1 +1 @@
1
- {"version":3,"file":"casing.d.ts","sourceRoot":"","sources":["../src/casing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtD,gFAAgF;AAChF,wBAAgB,QAAQ,CACtB,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,kBAAkB,GAAG,YAAY,GAAG,kBAAkB,EAChE,MAAM,EAAE,SAAS,GAChB,IAAI,CAON;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kBAAkB,GAAG,YAAY,GAAG,kBAAkB,GAC/D,OAAO,CAST"}
1
+ {"version":3,"file":"casing.d.ts","sourceRoot":"","sources":["../src/casing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AAEtD,gFAAgF;AAChF,wBAAgB,QAAQ,CACtB,IAAI,EAAE,KAAK,EACX,QAAQ,EAAE,kBAAkB,GAAG,YAAY,GAAG,kBAAkB,EAChE,MAAM,EAAE,SAAS,GAChB,IAAI,CAON;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kBAAkB,GAAG,YAAY,GAAG,kBAAkB,GAC/D,OAAO,CAcT"}
package/dist/casing.js CHANGED
@@ -12,7 +12,10 @@ export function caseMatches(name, expected) {
12
12
  case "lower_underscore":
13
13
  return /^[a-z][0-9a-z]*(_[a-z][0-9a-z]*)*$/.test(name);
14
14
  case "UpperCamel":
15
- return /^[A-Z][0-9A-Za-z]*$/.test(name);
15
+ return (/^[A-Z][0-9A-Za-z]*$/.test(name) &&
16
+ // If there is more than one letter, ensure there is at least one
17
+ // lowercase letter
18
+ (/^[A-Z][0-9]*$/.test(name) || /[a-z]/.test(name)));
16
19
  case "UPPER_UNDERSCORE":
17
20
  return /^[A-Z][0-9A-Z]*(_[A-Z][0-9A-Z]*)*$/.test(name);
18
21
  }
@@ -1 +1 @@
1
- {"version":3,"file":"casing.js","sourceRoot":"","sources":["../src/casing.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CACtB,IAAW,EACX,QAAgE,EAChE,MAAiB;IAEjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,QAAgE;IAEhE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,kBAAkB;YACrB,OAAO,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,KAAK,YAAY;YACf,OAAO,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1C,KAAK,kBAAkB;YACrB,OAAO,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"casing.js","sourceRoot":"","sources":["../src/casing.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,MAAM,UAAU,QAAQ,CACtB,IAAW,EACX,QAAgE,EAChE,MAAiB;IAEjB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,CAAC;QACtC,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,IAAI;YACX,QAAQ,EAAE,QAAQ;SACnB,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CACzB,IAAY,EACZ,QAAgE;IAEhE,QAAQ,QAAQ,EAAE,CAAC;QACjB,KAAK,kBAAkB;YACrB,OAAO,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,KAAK,YAAY;YACf,OAAO,CACL,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC;gBAChC,iEAAiE;gBACjE,mBAAmB;gBACnB,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CACnD,CAAC;QACJ,KAAK,kBAAkB;YACrB,OAAO,oCAAoC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { expect } from "buckwheat";
2
- import { describe, it } from "mocha";
2
+ import { describe, it } from "node:test";
3
3
  import { validate } from "./casing.js";
4
4
  function makeToken(text) {
5
5
  return {
@@ -75,6 +75,7 @@ describe("casing", () => {
75
75
  expect(doValidate("FOO_BAR", "UPPER_UNDERSCORE")).toMatch([]);
76
76
  expect(doValidate("F00", "UPPER_UNDERSCORE")).toMatch([]);
77
77
  expect(doValidate("F00_BAR", "UPPER_UNDERSCORE")).toMatch([]);
78
+ expect(doValidate("F", "UPPER_UNDERSCORE")).toMatch([]);
78
79
  });
79
80
  it("is not UPPER_UNDERSCORE", () => {
80
81
  expect(doValidate("fOO", "UPPER_UNDERSCORE")).toMatch([
@@ -118,6 +119,39 @@ describe("casing", () => {
118
119
  },
119
120
  ]);
120
121
  });
122
+ it("is UpperCamel", () => {
123
+ expect(doValidate("Foo", "UpperCamel")).toMatch([]);
124
+ expect(doValidate("FooBar", "UpperCamel")).toMatch([]);
125
+ expect(doValidate("F", "UpperCamel")).toMatch([]);
126
+ expect(doValidate("F00", "UpperCamel")).toMatch([]);
127
+ expect(doValidate("F00Bar", "UpperCamel")).toMatch([]);
128
+ });
129
+ it("is not UpperCamel", () => {
130
+ expect(doValidate("fOO", "UpperCamel")).toMatch([
131
+ {
132
+ token: {
133
+ text: "fOO",
134
+ },
135
+ expected: "UpperCamel",
136
+ },
137
+ ]);
138
+ expect(doValidate("XML", "UpperCamel")).toMatch([
139
+ {
140
+ token: {
141
+ text: "XML",
142
+ },
143
+ expected: "UpperCamel",
144
+ },
145
+ ]);
146
+ expect(doValidate("XM0", "UpperCamel")).toMatch([
147
+ {
148
+ token: {
149
+ text: "XM0",
150
+ },
151
+ expected: "UpperCamel",
152
+ },
153
+ ]);
154
+ });
121
155
  });
122
156
  });
123
157
  //# sourceMappingURL=casing.test.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"casing.test.js","sourceRoot":"","sources":["../src/casing.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACnC,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAEvC,SAAS,SAAS,CAAC,IAAY;IAC7B,OAAO;QACL,IAAI,EAAE,IAAI;QACV,YAAY,EAAE,IAAI;QAClB,SAAS,EAAE,CAAC;QACZ,IAAI,EAAE;YACJ,IAAI,EAAE,EAAE;YACR,UAAU,EAAE,CAAC;YACb,UAAU,EAAE,EAAE;YACd,QAAQ,EAAE,CAAC;SACZ;QACD,QAAQ,EAAE,CAAC;KACZ,CAAC;AACJ,CAAC;AAED,SAAS,UAAU,CACjB,IAAY,EACZ,MAA8D;IAE9D,MAAM,MAAM,GAAgB,EAAE,CAAC;IAC/B,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,QAAQ,EAAE,GAAG,EAAE;IACtB,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACxB,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpD;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,KAAK;qBACZ;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzD;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,UAAU;qBACjB;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACrD;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,MAAM;qBACb;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpD;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,KAAK;qBACZ;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtD;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;qBACd;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,qBAAqB,EAAE,GAAG,EAAE;YAC7B,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC9D,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YAC1D,MAAM,CAAC,UAAU,CAAC,SAAS,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;QAChE,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,yBAAyB,EAAE,GAAG,EAAE;YACjC,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpD;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,KAAK;qBACZ;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACzD;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,UAAU;qBACjB;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACrD;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,MAAM;qBACb;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACpD;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,KAAK;qBACZ;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;YACH,MAAM,CAAC,UAAU,CAAC,OAAO,EAAE,kBAAkB,CAAC,CAAC,CAAC,OAAO,CAAC;gBACtD;oBACE,KAAK,EAAE;wBACL,IAAI,EAAE,OAAO;qBACd;oBACD,QAAQ,EAAE,kBAAkB;iBAC7B;aACF,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"casing.test.js","sourceRoot":"","sources":["../src/casing.test.ts"],"names":[],"mappings":"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"}
@@ -395,7 +395,7 @@ describe("compatibility checker", () => {
395
395
  }
396
396
  `,
397
397
  after: `
398
- enum EE(100) {
398
+ enum E2(100) {
399
399
  A;
400
400
  }
401
401
  `,
@@ -412,7 +412,7 @@ describe("compatibility checker", () => {
412
412
  after: {
413
413
  kind: "record",
414
414
  recordName: {
415
- text: "EE",
415
+ text: "E2",
416
416
  },
417
417
  },
418
418
  },
package/dist/compiler.js CHANGED
@@ -3,11 +3,9 @@ import * as fs from "fs/promises";
3
3
  import { glob } from "glob";
4
4
  import * as paths from "path";
5
5
  import Watcher from "watcher";
6
- import * as yaml from "yaml";
7
- import { fromZodError } from "zod-validation-error";
8
6
  import { parseCommandLine } from "./command_line_parser.js";
9
- import { SkirConfig } from "./config.js";
10
- import { makeGray, makeGreen, makeRed, renderErrors, } from "./error_renderer.js";
7
+ import { importCodeGenerator, parseSkirConfig } from "./config_parser.js";
8
+ import { makeGray, makeGreen, makeRed, renderErrors, renderSkirConfigErrors, } from "./error_renderer.js";
11
9
  import { formatModule } from "./formatter.js";
12
10
  import { REAL_FILE_SYSTEM } from "./io.js";
13
11
  import { collectModules } from "./module_collector.js";
@@ -15,34 +13,21 @@ import { initializeProject } from "./project_initializer.js";
15
13
  import { takeSnapshot, viewSnapshot } from "./snapshotter.js";
16
14
  import { tokenizeModule } from "./tokenizer.js";
17
15
  async function makeGeneratorBundle(config, root) {
18
- const mod = await import(config.mod);
19
- const generator = mod.GENERATOR;
20
- if (typeof generator !== "object") {
21
- throw new Error(`Cannot import GENERATOR from module ${config.mod}`);
22
- }
23
- // Validate the generator config.
24
- const parsedConfig = generator.configType.safeParse(config.config);
25
- if (!parsedConfig.success) {
26
- const { id } = generator;
27
- console.error(makeRed(`Invalid config for ${id} generator`));
28
- const validationError = fromZodError(parsedConfig.error);
29
- console.error(validationError.toString());
30
- process.exit(1);
31
- }
16
+ const generator = await importCodeGenerator(config.mod);
32
17
  let skiroutDirs;
33
- if (config.skiroutDir === undefined) {
18
+ if (config.outDir === undefined) {
34
19
  skiroutDirs = ["skirout"];
35
20
  }
36
- else if (typeof config.skiroutDir === "string") {
37
- skiroutDirs = [config.skiroutDir];
21
+ else if (typeof config.outDir === "string") {
22
+ skiroutDirs = [config.outDir];
38
23
  }
39
24
  else {
40
- skiroutDirs = config.skiroutDir;
25
+ skiroutDirs = config.outDir;
41
26
  }
42
27
  skiroutDirs = skiroutDirs.map((d) => paths.join(root, d));
43
28
  return {
44
- generator,
45
- config: parsedConfig.data,
29
+ generator: generator,
30
+ config: config.config,
46
31
  skiroutDirs: skiroutDirs,
47
32
  };
48
33
  }
@@ -293,28 +278,24 @@ async function main() {
293
278
  return;
294
279
  }
295
280
  }
296
- // Use an absolute path to make error messages more helpful.
297
- const skirConfigPath = paths.resolve(paths.join(root, "skir.yml"));
298
- const skirConfigContents = REAL_FILE_SYSTEM.readTextFile(skirConfigPath);
299
- if (skirConfigContents === undefined) {
281
+ let skirConfigPath = paths.join(root, "skir.yml");
282
+ if (!paths.isAbsolute(skirConfigPath) &&
283
+ !/^\.{1,2}[/\\]$/.test(skirConfigPath)) {
284
+ // To make it clear that it's a path, prepend "./"
285
+ skirConfigPath = `.${paths.sep}${skirConfigPath}`;
286
+ }
287
+ const skirConfigCode = REAL_FILE_SYSTEM.readTextFile(skirConfigPath);
288
+ if (skirConfigCode === undefined) {
300
289
  console.error(makeRed(`Cannot find ${skirConfigPath}`));
301
290
  process.exit(1);
302
291
  }
303
- let skirConfig;
304
- {
305
- // `yaml.parse` fail with a helpful error message, no need to add context.
306
- const parseResult = SkirConfig.safeParse(yaml.parse(skirConfigContents));
307
- if (parseResult.success) {
308
- skirConfig = parseResult.data;
309
- }
310
- else {
311
- console.error(makeRed("Invalid skir config"));
312
- console.error(` Path: ${skirConfigPath}`);
313
- const validationError = fromZodError(parseResult.error);
314
- console.error(validationError.toString());
315
- process.exit(1);
316
- }
292
+ const skirConfigResult = await parseSkirConfig(skirConfigCode, "import-mods");
293
+ if (skirConfigResult.errors.length > 0) {
294
+ console.error(makeRed("Invalid skir config"));
295
+ renderSkirConfigErrors(skirConfigResult.errors, { skirConfigPath });
296
+ process.exit(1);
317
297
  }
298
+ const skirConfig = skirConfigResult.skirConfig;
318
299
  const srcDir = paths.join(root, skirConfig.srcDir || ".");
319
300
  switch (args.kind) {
320
301
  case "format": {
@@ -1 +1 @@
1
- {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compiler.js","sourceRoot":"","sources":["../src/compiler.ts"],"names":[],"mappings":"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"}
package/dist/config.d.ts CHANGED
@@ -2,14 +2,14 @@ import { z } from "zod";
2
2
  export declare const GeneratorConfig: z.ZodObject<{
3
3
  mod: z.ZodString;
4
4
  config: z.ZodAny;
5
- skiroutDir: z.ZodOptional<z.ZodUnion<readonly [z.ZodOptional<z.ZodString>, z.ZodArray<z.ZodString>]>>;
5
+ outDir: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
6
6
  }, z.core.$strict>;
7
7
  export type GeneratorConfig = z.infer<typeof GeneratorConfig>;
8
8
  export declare const SkirConfig: z.ZodObject<{
9
9
  generators: z.ZodArray<z.ZodObject<{
10
10
  mod: z.ZodString;
11
11
  config: z.ZodAny;
12
- skiroutDir: z.ZodOptional<z.ZodUnion<readonly [z.ZodOptional<z.ZodString>, z.ZodArray<z.ZodString>]>>;
12
+ outDir: z.ZodOptional<z.ZodUnion<readonly [z.ZodString, z.ZodArray<z.ZodString>]>>;
13
13
  }, z.core.$strict>>;
14
14
  srcDir: z.ZodOptional<z.ZodString>;
15
15
  }, z.core.$strict>;
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;kBAcjB,CAAC;AAEZ,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,UAAU;;;;;;;kBAKZ,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,eAAe;;;;kBAS1B,CAAC;AAEH,MAAM,MAAM,eAAe,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC;AAE9D,eAAO,MAAM,UAAU;;;;;;;kBAKZ,CAAC;AAEZ,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAC"}
package/dist/config.js CHANGED
@@ -1,19 +1,14 @@
1
1
  import { z } from "zod";
2
- export const GeneratorConfig = z
3
- .object({
2
+ export const GeneratorConfig = z.strictObject({
4
3
  mod: z.string(),
5
4
  config: z.any(),
6
- skiroutDir: z
5
+ outDir: z
7
6
  .union([
8
- z
9
- .string()
10
- .regex(/^.*\/skirout$/)
11
- .optional(),
12
- z.array(z.string().regex(/^.*\/skirout$/)),
7
+ z.string().endsWith("/skirout"),
8
+ z.array(z.string().endsWith("/skirout")),
13
9
  ])
14
10
  .optional(),
15
- })
16
- .strict();
11
+ });
17
12
  export const SkirConfig = z
18
13
  .object({
19
14
  generators: z.array(GeneratorConfig),
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC;KAC7B,MAAM,CAAC;IACN,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE;IACf,UAAU,EAAE,CAAC;SACV,KAAK,CAAC;QACL,CAAC;aACE,MAAM,EAAE;aACR,KAAK,CAAC,eAAe,CAAC;aACtB,QAAQ,EAAE;QACb,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC;KAC3C,CAAC;SACD,QAAQ,EAAE;CACd,CAAC;KACD,MAAM,EAAE,CAAC;AAIZ,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,YAAY,CAAC;IAC5C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE;IACf,MAAM,EAAE,CAAC,CAAC,GAAG,EAAE;IACf,MAAM,EAAE,CAAC;SACN,KAAK,CAAC;QACL,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC;QAC/B,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;KACzC,CAAC;SACD,QAAQ,EAAE;CACd,CAAC,CAAC;AAIH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,CAAC;IACN,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,eAAe,CAAC;IACpC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC9B,CAAC;KACD,MAAM,EAAE,CAAC"}
@@ -0,0 +1,25 @@
1
+ import { CodeGenerator } from "skir-internal";
2
+ import { SkirConfig } from "./config.js";
3
+ export interface SkirConfigResult {
4
+ skirConfig: SkirConfig | undefined;
5
+ errors: readonly SkirConfigError[];
6
+ }
7
+ export interface SkirConfigError {
8
+ message: string;
9
+ range?: SkirConfigErrorRange;
10
+ }
11
+ export interface SkirConfigErrorRange {
12
+ start: SkirConfigErrorPos;
13
+ end: SkirConfigErrorPos;
14
+ }
15
+ export interface SkirConfigErrorPos {
16
+ /** 0-based */
17
+ offset: number;
18
+ /** 1-based */
19
+ lineNumber: number;
20
+ /** 2-based */
21
+ colNumber: number;
22
+ }
23
+ export declare function parseSkirConfig(yamlCode: string, importMods?: "import-mods"): Promise<SkirConfigResult>;
24
+ export declare function importCodeGenerator(mod: string): Promise<CodeGenerator<unknown>>;
25
+ //# sourceMappingURL=config_parser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config_parser.d.ts","sourceRoot":"","sources":["../src/config_parser.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAM9C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,UAAU,GAAG,SAAS,CAAC;IACnC,MAAM,EAAE,SAAS,eAAe,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,oBAAoB,CAAC;CAC9B;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,kBAAkB,CAAC;IAC1B,GAAG,EAAE,kBAAkB,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,cAAc;IACd,MAAM,EAAE,MAAM,CAAC;IACf,cAAc;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc;IACd,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,aAAa,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAwH3B;AAED,wBAAsB,mBAAmB,CACvC,GAAG,EAAE,MAAM,GACV,OAAO,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAOjC"}
@@ -0,0 +1,125 @@
1
+ import * as ccGen from "skir-cc-gen";
2
+ import * as dartGen from "skir-dart-gen";
3
+ import * as javaGen from "skir-java-gen";
4
+ import * as kotlinGen from "skir-kotlin-gen";
5
+ import * as pythonGen from "skir-python-gen";
6
+ import * as typescriptGen from "skir-typescript-gen";
7
+ import { LineCounter, parseDocument } from "yaml";
8
+ import { SkirConfig } from "./config.js";
9
+ export async function parseSkirConfig(yamlCode, importMods) {
10
+ const errors = [];
11
+ // 1. Parse YAML into a Document object
12
+ const lineCounter = new LineCounter();
13
+ const doc = parseDocument(yamlCode, { lineCounter });
14
+ const offsetToPos = (offset) => {
15
+ const pos = lineCounter.linePos(offset);
16
+ return {
17
+ offset: offset,
18
+ lineNumber: pos.line,
19
+ colNumber: pos.col,
20
+ };
21
+ };
22
+ const offsetRangeToRange = (start, end) => ({
23
+ start: offsetToPos(start),
24
+ end: offsetToPos(end),
25
+ });
26
+ const pathToRange = (path) => {
27
+ const node = doc.getIn(path, true);
28
+ if (!node || !node.range) {
29
+ return undefined;
30
+ }
31
+ return offsetRangeToRange(node.range[0], node.range[1]);
32
+ };
33
+ // Check for YAML parsing errors
34
+ if (doc.errors.length > 0) {
35
+ for (const error of doc.errors) {
36
+ const range = offsetRangeToRange(error.pos[0], error.pos[1]);
37
+ errors.push({
38
+ message: error.message,
39
+ range: range,
40
+ });
41
+ }
42
+ return { skirConfig: undefined, errors: errors };
43
+ }
44
+ const jsData = doc.toJS();
45
+ // 2. Validate with Zod schema
46
+ const result = SkirConfig.safeParse(jsData);
47
+ if (!result.success) {
48
+ for (const issue of result.error.issues) {
49
+ // Map the Zod path to the YAML node
50
+ const range = pathToRange(issue.path);
51
+ errors.push({
52
+ message: issue.message,
53
+ range: range,
54
+ });
55
+ }
56
+ return { skirConfig: undefined, errors: errors };
57
+ }
58
+ // 3. Validate each generator's config with Zod schema
59
+ for (let i = 0; i < result.data.generators.length; i++) {
60
+ const generatorConfig = result.data.generators[i];
61
+ const { mod } = generatorConfig;
62
+ let generator;
63
+ if (importMods) {
64
+ try {
65
+ generator = await importCodeGenerator(mod);
66
+ }
67
+ catch (e) {
68
+ if (e instanceof Error) {
69
+ const range = pathToRange(["generators", i, "mod"]);
70
+ errors.push({
71
+ message: e.message,
72
+ range: range,
73
+ });
74
+ continue;
75
+ }
76
+ else {
77
+ throw e;
78
+ }
79
+ }
80
+ }
81
+ else {
82
+ // TODO: rm the casts
83
+ const modToGenerator = {
84
+ "skir-cc-gen": ccGen.GENERATOR,
85
+ "skir-dart-gen": dartGen.GENERATOR,
86
+ "skir-java-gen": javaGen.GENERATOR,
87
+ "skir-kotlin-gen": kotlinGen.GENERATOR,
88
+ "skir-python-gen": pythonGen.GENERATOR,
89
+ "skir-typescript-gen": typescriptGen.GENERATOR,
90
+ };
91
+ generator = modToGenerator[mod];
92
+ }
93
+ if (generator) {
94
+ const parsedGeneratorConfig = generator.configType.safeParse(generatorConfig.config);
95
+ if (!parsedGeneratorConfig.success) {
96
+ for (const issue of parsedGeneratorConfig.error.issues) {
97
+ const path = [
98
+ "generators",
99
+ i,
100
+ "config",
101
+ ...issue.path,
102
+ ];
103
+ const range = pathToRange(path);
104
+ errors.push({
105
+ message: issue.message ?? "Error",
106
+ range: range,
107
+ });
108
+ }
109
+ }
110
+ }
111
+ }
112
+ if (errors.length > 0) {
113
+ return { skirConfig: undefined, errors: errors };
114
+ }
115
+ return { skirConfig: result.data, errors: [] };
116
+ }
117
+ export async function importCodeGenerator(mod) {
118
+ const module = await import(mod);
119
+ const generator = module.GENERATOR;
120
+ if (typeof generator !== "object") {
121
+ throw new Error(`Cannot import GENERATOR from module ${mod}`);
122
+ }
123
+ return generator;
124
+ }
125
+ //# sourceMappingURL=config_parser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config_parser.js","sourceRoot":"","sources":["../src/config_parser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=config_parser.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config_parser.test.d.ts","sourceRoot":"","sources":["../src/config_parser.test.ts"],"names":[],"mappings":""}