skir 1.2.3 → 1.2.5

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 (99) hide show
  1. package/README.md +1 -1
  2. package/dist/config_parser.d.ts.map +1 -1
  3. package/dist/module_collector.d.ts.map +1 -1
  4. package/dist/parser.d.ts.map +1 -1
  5. package/package.json +6 -4
  6. package/src/config_parser.ts +4 -1
  7. package/src/module_collector.ts +18 -20
  8. package/src/parser.ts +12 -0
  9. package/src/project_initializer.ts +18 -0
  10. package/dist/casing.d.ts +0 -5
  11. package/dist/casing.js +0 -23
  12. package/dist/casing.js.map +0 -1
  13. package/dist/command_line_parser.d.ts +0 -36
  14. package/dist/command_line_parser.d.ts.map +0 -1
  15. package/dist/command_line_parser.js +0 -240
  16. package/dist/command_line_parser.js.map +0 -1
  17. package/dist/compatibility_checker.d.ts +0 -74
  18. package/dist/compatibility_checker.js +0 -331
  19. package/dist/compatibility_checker.js.map +0 -1
  20. package/dist/compiler.d.ts +0 -3
  21. package/dist/compiler.js +0 -406
  22. package/dist/compiler.js.map +0 -1
  23. package/dist/completion_helper.d.ts +0 -27
  24. package/dist/completion_helper.js +0 -101
  25. package/dist/completion_helper.js.map +0 -1
  26. package/dist/config.d.ts +0 -18
  27. package/dist/config.js +0 -19
  28. package/dist/config.js.map +0 -1
  29. package/dist/config_parser.d.ts +0 -34
  30. package/dist/config_parser.js +0 -214
  31. package/dist/config_parser.js.map +0 -1
  32. package/dist/definition_finder.d.ts +0 -16
  33. package/dist/definition_finder.js +0 -375
  34. package/dist/definition_finder.js.map +0 -1
  35. package/dist/dependency_manager.d.ts +0 -14
  36. package/dist/dependency_manager.js +0 -109
  37. package/dist/dependency_manager.js.map +0 -1
  38. package/dist/doc_comment_parser.d.ts +0 -6
  39. package/dist/doc_comment_parser.js +0 -269
  40. package/dist/doc_comment_parser.js.map +0 -1
  41. package/dist/doc_reference_resolver.d.ts +0 -5
  42. package/dist/doc_reference_resolver.js +0 -232
  43. package/dist/doc_reference_resolver.js.map +0 -1
  44. package/dist/error_renderer.d.ts +0 -24
  45. package/dist/error_renderer.js +0 -326
  46. package/dist/error_renderer.js.map +0 -1
  47. package/dist/exit_error.d.ts +0 -8
  48. package/dist/exit_error.d.ts.map +0 -1
  49. package/dist/exit_error.js +0 -8
  50. package/dist/exit_error.js.map +0 -1
  51. package/dist/expected_names.d.ts +0 -11
  52. package/dist/expected_names.js +0 -34
  53. package/dist/expected_names.js.map +0 -1
  54. package/dist/formatter.d.ts +0 -28
  55. package/dist/formatter.js +0 -338
  56. package/dist/formatter.js.map +0 -1
  57. package/dist/get_dependencies_flow.d.ts +0 -40
  58. package/dist/get_dependencies_flow.js +0 -177
  59. package/dist/get_dependencies_flow.js.map +0 -1
  60. package/dist/import_block_formatter.d.ts +0 -3
  61. package/dist/import_block_formatter.js +0 -36
  62. package/dist/import_block_formatter.js.map +0 -1
  63. package/dist/index.d.ts +0 -2
  64. package/dist/index.d.ts.map +0 -1
  65. package/dist/index.js +0 -2
  66. package/dist/index.js.map +0 -1
  67. package/dist/io.d.ts +0 -23
  68. package/dist/io.d.ts.map +0 -1
  69. package/dist/io.js +0 -58
  70. package/dist/io.js.map +0 -1
  71. package/dist/literals.d.ts +0 -12
  72. package/dist/literals.js +0 -96
  73. package/dist/literals.js.map +0 -1
  74. package/dist/module_collector.d.ts +0 -9
  75. package/dist/module_collector.js +0 -75
  76. package/dist/module_collector.js.map +0 -1
  77. package/dist/module_set.d.ts +0 -51
  78. package/dist/module_set.js +0 -1331
  79. package/dist/module_set.js.map +0 -1
  80. package/dist/package_downloader.d.ts +0 -4
  81. package/dist/package_downloader.js +0 -256
  82. package/dist/package_downloader.js.map +0 -1
  83. package/dist/package_types.d.ts +0 -30
  84. package/dist/package_types.d.ts.map +0 -1
  85. package/dist/package_types.js +0 -2
  86. package/dist/package_types.js.map +0 -1
  87. package/dist/parser.d.ts +0 -7
  88. package/dist/parser.js +0 -1323
  89. package/dist/parser.js.map +0 -1
  90. package/dist/project_initializer.d.ts +0 -2
  91. package/dist/project_initializer.d.ts.map +0 -1
  92. package/dist/project_initializer.js +0 -189
  93. package/dist/project_initializer.js.map +0 -1
  94. package/dist/snapshotter.d.ts +0 -16
  95. package/dist/snapshotter.js +0 -263
  96. package/dist/snapshotter.js.map +0 -1
  97. package/dist/tokenizer.d.ts +0 -18
  98. package/dist/tokenizer.js +0 -244
  99. package/dist/tokenizer.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.js","sourceRoot":"","sources":["../src/parser.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- export declare function initializeProject(rootDir: string): void;
2
- //# sourceMappingURL=project_initializer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project_initializer.d.ts","sourceRoot":"","sources":["../src/project_initializer.ts"],"names":[],"mappings":"AAIA,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAiDvD"}
@@ -1,189 +0,0 @@
1
- import * as FileSystem from "fs";
2
- import * as Paths from "path";
3
- import { rewritePathForRendering } from "./io.js";
4
- export function initializeProject(rootDir) {
5
- const skirYmlPath = Paths.join(rootDir, "skir.yml");
6
- // Check if skir.yml already exists
7
- if (FileSystem.existsSync(skirYmlPath)) {
8
- console.log("A skir.yml file already exists in this directory. Skipping project initialization.");
9
- return;
10
- }
11
- // Create skir.yml file
12
- FileSystem.writeFileSync(skirYmlPath, SKIR_YML_CONTENT, "utf-8");
13
- // Check if skir-src directory exists
14
- const skirSrcDir = Paths.join(rootDir, "skir-src");
15
- if (!FileSystem.existsSync(skirSrcDir)) {
16
- // Create skir-src directory
17
- FileSystem.mkdirSync(skirSrcDir, { recursive: true });
18
- // Create hello_world.skir file
19
- const helloWorldPath = Paths.join(skirSrcDir, "hello_world.skir");
20
- FileSystem.writeFileSync(helloWorldPath, HELLO_WORLD_SKIR_CONTENT, "utf-8");
21
- }
22
- // Update .gitignore if it exists
23
- const gitIgnorePath = Paths.join(rootDir, ".gitignore");
24
- if (FileSystem.existsSync(gitIgnorePath)) {
25
- const content = FileSystem.readFileSync(gitIgnorePath, "utf-8");
26
- const lines = content.split(/\r?\n/);
27
- const toAdd = [];
28
- for (const dirName of ["skirout", "skir-external"]) {
29
- const hasDir = lines.some((line) => line.trim().replace(/\/$/, "") === dirName);
30
- if (!hasDir) {
31
- toAdd.push(`${dirName}/`);
32
- }
33
- }
34
- if (toAdd.length > 0) {
35
- const append = `\n${toAdd.join("\n")}\n`;
36
- FileSystem.appendFileSync(gitIgnorePath, append, "utf-8");
37
- }
38
- }
39
- console.log(`Done. Please edit: ${rewritePathForRendering(skirYmlPath)}`);
40
- console.log("To generate code, run: npx skir gen [--watch]");
41
- }
42
- const SKIR_YML_CONTENT = `# Configuration file for Skir code generator
43
- #
44
- # Documentation: https://skir.build/
45
- #
46
- # Cheat sheet:
47
- # npx skir gen Generate code from .skir files
48
- # npx skir gen --watch Watch for changes and regenerate automatically
49
- # npx skir format Format all .skir files
50
- # npx skir snapshot Take a snapshot of the source directory, verify no
51
- # breaking changes since last snapshot
52
-
53
- # Uncomment and configure the generators for your target language(s).
54
- generators:
55
- # --------------------------------------------------------------------------
56
- # C++ code generator
57
- # Home: https://github.com/gepheum/skir-cc-gen
58
- # To install runtime dependencies, follow instructions in repository README
59
- # --------------------------------------------------------------------------
60
- - mod: skir-cc-gen
61
- outDir: ./skirout
62
- config:
63
- # Set to true if you use GoogleTest
64
- writeGoogleTestHeaders: false
65
-
66
- # # --------------------------------------------------------------------------
67
- # # Dart code generator
68
- # # Home: https://github.com/gepheum/skir-dart-gen
69
- # # To install runtime dependencies: dart pub add skir_client
70
- # # --------------------------------------------------------------------------
71
- # - mod: skir-dart-gen
72
- # outDir: ./lib/skirout
73
- # config: {}
74
-
75
- # # --------------------------------------------------------------------------
76
- # # Go code generator
77
- # # Home: https://github.com/gepheum/skir-go-gen
78
- # # To install runtime dependencies: go get github.com/gepheum/skir-go-client
79
- # # --------------------------------------------------------------------------
80
- # - mod: skir-go-gen
81
- # outDir: ./skirout
82
- # config:
83
- # # Must match the module name declared in your go.mod file.
84
- # goModuleName: "github.com/my-org/my-project"
85
-
86
- # # --------------------------------------------------------------------------
87
- # # Java code generator
88
- # # Home: https://github.com/gepheum/skir-java-gen
89
- # # Add the following line to your build.gradle dependencies:
90
- # # implementation("build.skir:skir-client:latest.release")
91
- # # --------------------------------------------------------------------------
92
- # - mod: skir-java-gen
93
- # outDir: ./src/main/java/skirout
94
- # config: {}
95
- # # Alternatively:
96
- # # outDir: ./src/main/java/my/project/skirout
97
- # # config:
98
- # # packagePrefix: my.project.
99
-
100
- # # --------------------------------------------------------------------------
101
- # # Kotlin code generator
102
- # # Home: https://github.com/gepheum/skir-kotlin-gen
103
- # # Add the following line to your build.gradle dependencies:
104
- # # implementation("build.skir:skir-client:latest.release")
105
- # # --------------------------------------------------------------------------
106
- # - mod: skir-kotlin-gen
107
- # outDir: ./src/main/kotlin/skirout
108
- # config: {}
109
- # # Alternatively:
110
- # # outDir: ./src/main/kotlin/my/project/skirout
111
- # # config:
112
- # # packagePrefix: my.project.
113
-
114
- # # --------------------------------------------------------------------------
115
- # # Python code generator
116
- # # Home: https://github.com/gepheum/skir-python-gen
117
- # # To install runtime dependencies: pip install skir-client
118
- # # --------------------------------------------------------------------------
119
- # - mod: skir-python-gen
120
- # outDir: ./skirout
121
- # config: {}
122
- # # Alternatively:
123
- # # outDir: ./my/project/skirout
124
- # # config:
125
- # # packagePrefix: my.project.
126
-
127
- # # --------------------------------------------------------------------------
128
- # # Swift code generator
129
- # # Home: https://github.com/gepheum/skir-swift-gen
130
- # # To install runtime dependencies:
131
- # # swift package add-dependency \
132
- # # https://github.com/gepheum/skir-swift-client --branch main
133
- # # --------------------------------------------------------------------------
134
- # - mod: skir-swift-gen
135
- # outDir: ./Sources/skirout
136
- # config:
137
- # # Whether to generate public declarations.
138
- # # If false, declarations are internal.
139
- # public: false
140
-
141
- # # --------------------------------------------------------------------------
142
- # # Rust code generator
143
- # # Home: https://github.com/gepheum/skir-rust-gen
144
- # # Complete these 3 steps:
145
- # # (1) Install runtime dependencies: cargo add skir-client
146
- # # (2) In ./src/lib.rs, add this line: 'pub mod skirout;'
147
- # # (3) Create a new ./src/skirout.rs file with this content: 'pub mod base;'
148
- # # --------------------------------------------------------------------------
149
- # - mod: skir-rust-gen
150
- # outDir: ./src/skirout
151
- # config: {}
152
-
153
- # # --------------------------------------------------------------------------
154
- # # TypeScript/JavaScript code generator
155
- # # Home: https://github.com/gepheum/skir-typescript-gen
156
- # # To install runtime dependencies: npm i skir-client
157
- # # --------------------------------------------------------------------------
158
- # - mod: skir-typescript-gen
159
- # outDir: ./skirout
160
- # config:
161
- # # Use ".js" for ES modules, "" for CommonJS
162
- # importPathExtension: ".js"
163
-
164
- # # --------------------------------------------------------------------------
165
- # # External Skir dependencies hosted on GitHub
166
- # # To use an external repository, specify the GitHub repository identifier
167
- # # in the format "@owner/repository-name" and the release tag version.
168
- # # --------------------------------------------------------------------------
169
- # dependencies:
170
- # # Add a dependency to:
171
- # # https://github.com/gepheum/skir-fantasy-game-example/tree/v1.0.0
172
- # "@gepheum/skir-fantasy-game-example": v1.0.0
173
-
174
- # # --------------------------------------------------------------------------
175
- # # GitHub Personal Access Token (required for private dependencies)
176
- # # Set this to the name of an environment variable containing your GitHub
177
- # # token. The token is used to authenticate when downloading dependencies.
178
- # # --------------------------------------------------------------------------
179
- # githubTokenEnvVar: GITHUB_TOKEN
180
- `;
181
- const HELLO_WORLD_SKIR_CONTENT = `/// A point in 2D space.
182
- struct Point {
183
- /// x-coordinate
184
- x: int32;
185
- /// y-coordinate
186
- y: int32;
187
- }
188
- `;
189
- //# sourceMappingURL=project_initializer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"project_initializer.js","sourceRoot":"","sources":["../src/project_initializer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,UAAU,MAAM,IAAI,CAAC;AACjC,OAAO,KAAK,KAAK,MAAM,MAAM,CAAC;AAC9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AAElD,MAAM,UAAU,iBAAiB,CAAC,OAAe;IAC/C,MAAM,WAAW,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IAEpD,mCAAmC;IACnC,IAAI,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QACvC,OAAO,CAAC,GAAG,CACT,oFAAoF,CACrF,CAAC;QACF,OAAO;IACT,CAAC;IAED,uBAAuB;IACvB,UAAU,CAAC,aAAa,CAAC,WAAW,EAAE,gBAAgB,EAAE,OAAO,CAAC,CAAC;IAEjE,qCAAqC;IACrC,MAAM,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;IACnD,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QACvC,4BAA4B;QAC5B,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAEtD,+BAA+B;QAC/B,MAAM,cAAc,GAAG,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC,CAAC;QAClE,UAAU,CAAC,aAAa,CAAC,cAAc,EAAE,wBAAwB,EAAE,OAAO,CAAC,CAAC;IAC9E,CAAC;IAED,iCAAiC;IACjC,MAAM,aAAa,GAAG,KAAK,CAAC,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IACxD,IAAI,UAAU,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;QACzC,MAAM,OAAO,GAAG,UAAU,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;QAChE,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrC,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,KAAK,MAAM,OAAO,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,EAAE,CAAC;YACnD,MAAM,MAAM,GAAG,KAAK,CAAC,IAAI,CACvB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,OAAO,CACrD,CAAC;YACF,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,KAAK,CAAC,IAAI,CAAC,GAAG,OAAO,GAAG,CAAC,CAAC;YAC5B,CAAC;QACH,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,MAAM,GAAG,KAAK,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;YACzC,UAAU,CAAC,cAAc,CAAC,aAAa,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,CAAC,sBAAsB,uBAAuB,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1E,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;AAC/D,CAAC;AAED,MAAM,gBAAgB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0IxB,CAAC;AAEF,MAAM,wBAAwB,GAAG;;;;;;;CAOhC,CAAC"}
@@ -1,16 +0,0 @@
1
- import { ModuleSet } from "./module_set.js";
2
- export declare function takeSnapshot(args: {
3
- rootDir: string;
4
- srcDir: string;
5
- dependencies: ModuleSet;
6
- subcommand: "ci" | "dry-run" | undefined;
7
- }): Promise<boolean>;
8
- export interface CorruptedError {
9
- kind: "corrupted";
10
- error: any;
11
- }
12
- export declare function snapshotFileContentToModuleSet(fileContent: string): ModuleSet | CorruptedError;
13
- export declare function viewSnapshot(args: {
14
- rootDir: string;
15
- }): Promise<void>;
16
- //# sourceMappingURL=snapshotter.d.ts.map
@@ -1,263 +0,0 @@
1
- import { readFile, writeFile } from "node:fs/promises";
2
- import { join } from "node:path";
3
- import { checkCompatibility } from "./compatibility_checker.js";
4
- import { formatError, makeGreen, makeOrange, makeRed, renderBreakingChanges, renderErrors, } from "./error_renderer.js";
5
- import { rewritePathForRendering } from "./io.js";
6
- import { collectModules } from "./module_collector.js";
7
- import { ModuleSet } from "./module_set.js";
8
- export async function takeSnapshot(args) {
9
- const newModuleSet = await collectModules(args.srcDir, args.dependencies);
10
- if (newModuleSet.errors.length) {
11
- renderErrors(newModuleSet.errors);
12
- return false;
13
- }
14
- const snapshotPath = join(args.rootDir, "skir-snapshot.json");
15
- const oldModuleSet = await readLastSnapshot(snapshotPath);
16
- if (!(oldModuleSet instanceof ModuleSet)) {
17
- console.error(makeRed(`Corrupted snapshot file: ${rewritePathForRendering(snapshotPath)}`));
18
- console.error(`Error: ${oldModuleSet.error.toString()}`);
19
- console.log("If the snapshot file cannot be restored to a valid state, delete it and run again. " +
20
- "Breaking changes from recent commits will not be detected, but a valid snapshot will be created for future comparisons.");
21
- return false;
22
- }
23
- const breakingChanges = checkCompatibility({
24
- before: oldModuleSet,
25
- after: newModuleSet,
26
- });
27
- if (breakingChanges.length) {
28
- renderBreakingChanges(breakingChanges, {
29
- before: oldModuleSet,
30
- after: newModuleSet,
31
- });
32
- return false;
33
- }
34
- const now = new Date();
35
- const newSnapshot = makeSnapshot(newModuleSet, now);
36
- if (sameModules(newSnapshot, makeSnapshot(oldModuleSet, now))) {
37
- console.log("No changes detected since last snapshot.");
38
- return true;
39
- }
40
- if (args.subcommand === "ci") {
41
- console.error(makeRed("Modules have changed since the last snapshot."));
42
- console.log("Run 'npx skir snapshot' to take a new snapshot.");
43
- return false;
44
- }
45
- else if (args.subcommand === "dry-run") {
46
- console.log(makeGreen("Changes detected since last snapshot."));
47
- console.log("No breaking changes found.");
48
- return true;
49
- }
50
- await writeFile(snapshotPath, JSON.stringify(newSnapshot, null, 2), "utf-8");
51
- console.log("Snapshot taken. No breaking changes detected.");
52
- const trackedRecordCount = newSnapshot.trackedRecordIds.length;
53
- const untrackedRecordCount = newSnapshot.untrackedRecordIds.length;
54
- const formatCount = (n, what) => {
55
- return `${n} ${what}${n === 1 ? "" : "s"}`;
56
- };
57
- console.log([
58
- formatCount(trackedRecordCount, "tracked record"),
59
- ", ",
60
- formatCount(untrackedRecordCount, "untracked record"),
61
- " found in new snapshot.",
62
- ].join(""));
63
- console.log("See them in " + rewritePathForRendering(snapshotPath));
64
- if (trackedRecordCount === 0) {
65
- console.log(makeOrange("Warning: no tracked records found."));
66
- console.log("Breaking changes cannot be detected without tracking records.");
67
- console.log("To track a record and its dependencies, give it a stable identifier, e.g.:");
68
- console.log(" struct MyStruct(56789) { ... }");
69
- }
70
- return true;
71
- }
72
- async function readLastSnapshot(snapshotPath) {
73
- let textContent;
74
- try {
75
- textContent = await readFile(snapshotPath, "utf-8");
76
- }
77
- catch (error) {
78
- const isNotFoundError = error instanceof Error && "code" in error && error.code === "ENOENT";
79
- if (isNotFoundError) {
80
- return ModuleSet.compile(new Map());
81
- }
82
- else {
83
- // Rethrow I/O error
84
- throw error;
85
- }
86
- }
87
- return snapshotFileContentToModuleSet(textContent);
88
- }
89
- export function snapshotFileContentToModuleSet(fileContent) {
90
- let snapshot;
91
- try {
92
- snapshot = JSON.parse(fileContent);
93
- }
94
- catch (error) {
95
- if (error instanceof SyntaxError) {
96
- return {
97
- kind: "corrupted",
98
- error: error,
99
- };
100
- }
101
- else {
102
- throw error;
103
- }
104
- }
105
- const pathToSourceCode = new Map();
106
- try {
107
- for (const [path, sourceCode] of Object.entries(snapshot.modules)) {
108
- // + "" to ensure string type
109
- pathToSourceCode.set(path + "", sourceCode + "");
110
- }
111
- }
112
- catch (error) {
113
- return {
114
- kind: "corrupted",
115
- error: error,
116
- };
117
- }
118
- const moduleSet = ModuleSet.compile(pathToSourceCode);
119
- if (moduleSet.errors.length) {
120
- const firstError = formatError(moduleSet.errors[0]);
121
- return {
122
- kind: "corrupted",
123
- error: new Error(`errors in modules; first error: ${firstError}`),
124
- };
125
- }
126
- return moduleSet;
127
- }
128
- export async function viewSnapshot(args) {
129
- const snapshotPath = join(args.rootDir, "skir-snapshot.json");
130
- let snapshot;
131
- try {
132
- const textContent = await readFile(snapshotPath, "utf-8");
133
- snapshot = JSON.parse(textContent);
134
- }
135
- catch (error) {
136
- if (error instanceof SyntaxError) {
137
- console.error(makeRed(`Corrupted snapshot file: ${snapshotPath}`));
138
- console.error(`Error: ${error.toString()}`);
139
- process.exit(1);
140
- }
141
- const isNotFoundError = error instanceof Error && "code" in error && error.code === "ENOENT";
142
- if (isNotFoundError) {
143
- console.log("No snapshot found.");
144
- return;
145
- }
146
- else {
147
- // Rethrow I/O error
148
- throw error;
149
- }
150
- }
151
- console.log(`Last snapshot: ${snapshot.lastChange}\n`);
152
- const modulePaths = Object.keys(snapshot.modules).sort();
153
- for (const path of modulePaths) {
154
- console.log(makeGreen("-".repeat(80)));
155
- console.log(makeGreen(path));
156
- console.log(makeGreen("-".repeat(80)));
157
- console.log();
158
- const sourceCode = snapshot.modules[path];
159
- console.log(sourceCode);
160
- console.log();
161
- }
162
- }
163
- function makeSnapshot(moduleSet, now) {
164
- const modules = {};
165
- for (const [path, moduleResult] of moduleSet.modules) {
166
- if (moduleResult.errors.length === 0) {
167
- modules[path] = moduleResult.result.sourceCode;
168
- }
169
- }
170
- const trackedRecordIds = collectTrackedRecords(moduleSet);
171
- return {
172
- readMe: [
173
- "DO NOT EDIT THIS FILE MANUALLY",
174
- "",
175
- "Goal: find breaking changes since the last snapshot",
176
- "",
177
- "To update this file (take a new snapshot), run:",
178
- " npx skir snapshot",
179
- "",
180
- "If you just want to check that there are no breaking changes:",
181
- " npx skir snapshot --dry",
182
- "",
183
- "Commit this file to version control (do not add to .gitignore)",
184
- "It is good practice to always take a snapshot before committing",
185
- "To verify the snapshot is up-to-date in CI:",
186
- " npx skir snapshot --ci",
187
- ],
188
- lastChange: now.toISOString(),
189
- trackedRecordIds: Array.from(trackedRecordIds.trackedRecordIds).sort(),
190
- untrackedRecordIds: Array.from(trackedRecordIds.untrackedRecordIds).sort(),
191
- modules,
192
- };
193
- }
194
- function sameModules(a, b) {
195
- return (Object.keys(a.modules).length === Object.keys(b.modules).length &&
196
- Object.entries(a.modules).every(([path, sourceCode]) => {
197
- return sourceCode === b.modules[path];
198
- }));
199
- }
200
- function collectTrackedRecords(moduleSet) {
201
- const trackedRecordIds = new Set();
202
- const getRecordId = (record) => {
203
- const qualifiedName = record.recordAncestors
204
- .map((token) => token.name.text)
205
- .join(".");
206
- return `${record.modulePath}:${qualifiedName}`;
207
- };
208
- const trackType = (type) => {
209
- switch (type.kind) {
210
- case "array":
211
- trackType(type.item);
212
- break;
213
- case "optional":
214
- trackType(type.other);
215
- break;
216
- case "primitive":
217
- break;
218
- case "record": {
219
- const record = moduleSet.recordMap.get(type.key);
220
- if (record) {
221
- trackRecord(record);
222
- }
223
- break;
224
- }
225
- }
226
- };
227
- const trackRecord = (record) => {
228
- const recordId = getRecordId(record);
229
- if (trackedRecordIds.has(recordId)) {
230
- return;
231
- }
232
- trackedRecordIds.add(recordId);
233
- // Recursively process the field/variant types
234
- for (const field of record.record.fields) {
235
- const fieldType = field.type;
236
- if (fieldType) {
237
- trackType(fieldType);
238
- }
239
- }
240
- };
241
- for (const module of moduleSet.modules.values()) {
242
- // Skip external dependencies
243
- if (module.result.path.startsWith("@"))
244
- continue;
245
- for (const record of module.result.records) {
246
- if (record.record.recordNumber !== null) {
247
- trackRecord(record);
248
- }
249
- }
250
- for (const method of module.result.methods) {
251
- trackType(method.requestType);
252
- trackType(method.responseType);
253
- }
254
- }
255
- const untrackedRecordIds = new Set([...moduleSet.recordMap.values()]
256
- .map(getRecordId)
257
- .filter((id) => !trackedRecordIds.has(id)));
258
- return {
259
- trackedRecordIds: trackedRecordIds,
260
- untrackedRecordIds: untrackedRecordIds,
261
- };
262
- }
263
- //# sourceMappingURL=snapshotter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"snapshotter.js","sourceRoot":"","sources":["../src/snapshotter.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { type Doc, type Result, type Token } from "skir-internal";
2
- export interface ModuleTokens {
3
- /** Includes regular comments and doc comments. */
4
- readonly tokens: readonly Token[];
5
- /** Includes both kinds of comments. */
6
- readonly tokensWithComments: readonly Token[];
7
- /** Maps the start position of a doc comment (///) to the parsed documentation. */
8
- readonly posToDoc: Readonly<{
9
- [pos: number]: Doc;
10
- }>;
11
- readonly sourceCode: string;
12
- readonly modulePath: string;
13
- }
14
- /** Tokenizes the given module. */
15
- export declare function tokenizeModule(sourceCode: string, modulePath: string, completionMode?: {
16
- position: number;
17
- }): Result<ModuleTokens>;
18
- //# sourceMappingURL=tokenizer.d.ts.map