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":"module_set.js","sourceRoot":"","sources":["../src/module_set.ts"],"names":[],"mappings":"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"}
@@ -1,4 +0,0 @@
1
- import type { DownloadPackageResult } from "./package_types.js";
2
- /** Downloads a package from Github. */
3
- export declare function downloadPackage(packageId: string, version: string, githubToken: string | undefined): Promise<DownloadPackageResult>;
4
- //# sourceMappingURL=package_downloader.d.ts.map
@@ -1,256 +0,0 @@
1
- import { LineCounter, parseDocument } from "yaml";
2
- import { z } from "zod";
3
- import { formatSkirConfigError } from "./error_renderer.js";
4
- /** Downloads a package from Github. */
5
- export async function downloadPackage(packageId, version, githubToken) {
6
- // Convert package ID like "@foo/bar" to Github repo "foo/bar"
7
- const repo = packageId.substring(1);
8
- // Get the repository tree for the specific version
9
- const treeResult = await getGithubTree(repo, version, githubToken);
10
- if (treeResult.kind === "error") {
11
- return treeResult;
12
- }
13
- const tree = treeResult.tree;
14
- // Find all .skir files in the skir-src directory
15
- const skirFiles = tree.tree.filter((item) => item.type === "blob" &&
16
- item.path.startsWith("skir-src/") &&
17
- item.path.endsWith(".skir"));
18
- // Download file blobs with bounded concurrency to avoid rate-limit bursts.
19
- const modules = {};
20
- const downloadedFiles = await runWithConcurrency(skirFiles, async (file) => {
21
- const content = await downloadFileContent(repo, file.sha, githubToken);
22
- // Get relative path from skir-src/
23
- const modulePath = packageId + file.path.substring("skir-src".length);
24
- return { modulePath, content };
25
- });
26
- for (const { modulePath, content } of downloadedFiles) {
27
- modules[modulePath] = content;
28
- }
29
- // Download and parse skir.yml for dependencies
30
- const skirYmlFile = tree.tree.find((item) => item.type === "blob" && item.path === "skir.yml");
31
- if (!skirYmlFile) {
32
- return {
33
- kind: "error",
34
- message: `Package ${packageId}@${version} is missing required skir.yml configuration file`,
35
- };
36
- }
37
- const skirYmlContent = await downloadFileContent(repo, skirYmlFile.sha, githubToken);
38
- const configResult = parseDependenciesConfig(skirYmlContent);
39
- if (configResult.errors.length > 0) {
40
- return {
41
- kind: "error",
42
- message: configResult.errors
43
- .map((e) => formatSkirConfigError(e, {
44
- skirConfigPath: `${packageId}/skir.yml`,
45
- }))
46
- .join("\n"),
47
- };
48
- }
49
- const dependencies = configResult.dependencies ?? {};
50
- return {
51
- kind: "success",
52
- package: {
53
- packageId,
54
- version,
55
- modules,
56
- dependencies,
57
- },
58
- };
59
- }
60
- async function fetchWithRetry(url, headers, maxRetries = 3) {
61
- let lastResponse;
62
- for (let attempt = 0; attempt <= maxRetries; attempt++) {
63
- const response = await fetch(url, { headers });
64
- if (response.status !== 403 && response.status !== 429) {
65
- return response;
66
- }
67
- lastResponse = response;
68
- if (attempt === maxRetries) {
69
- break;
70
- }
71
- const waitMs = getRetryWaitMs(response, attempt);
72
- await new Promise((resolve) => setTimeout(resolve, waitMs));
73
- }
74
- return lastResponse;
75
- }
76
- function getRetryWaitMs(response, attempt) {
77
- const retryAfterSeconds = parseHeaderInt(response.headers.get("Retry-After"));
78
- if (retryAfterSeconds !== undefined && retryAfterSeconds > 0) {
79
- return Math.min(retryAfterSeconds * 1000, MAX_RETRY_WAIT_MS);
80
- }
81
- const remaining = parseHeaderInt(response.headers.get("X-RateLimit-Remaining"));
82
- const resetEpochSeconds = parseHeaderInt(response.headers.get("X-RateLimit-Reset"));
83
- if (remaining === 0 &&
84
- resetEpochSeconds !== undefined &&
85
- resetEpochSeconds > 0) {
86
- const waitUntilResetMs = resetEpochSeconds * 1000 - Date.now();
87
- const jitterMs = 250;
88
- return Math.min(Math.max(waitUntilResetMs + jitterMs, 1000), MAX_RETRY_WAIT_MS);
89
- }
90
- // Secondary rate limits may not include reset headers; use exponential backoff.
91
- return Math.min(1000 * 2 ** attempt, 30000);
92
- }
93
- function parseHeaderInt(value) {
94
- if (value === null) {
95
- return undefined;
96
- }
97
- const parsed = parseInt(value, 10);
98
- return Number.isFinite(parsed) ? parsed : undefined;
99
- }
100
- async function runWithConcurrency(items, fn) {
101
- const results = new Array(items.length);
102
- let nextIndex = 0;
103
- const worker = async () => {
104
- while (true) {
105
- const current = nextIndex;
106
- if (current >= items.length) {
107
- return;
108
- }
109
- nextIndex += 1;
110
- results[current] = await fn(items[current], current);
111
- }
112
- };
113
- const maxConcurrency = 4;
114
- const numWorkers = Math.max(1, Math.min(maxConcurrency, items.length));
115
- await Promise.all(Array.from({ length: numWorkers }, () => worker()));
116
- return results;
117
- }
118
- async function getGithubTree(repo, version, githubToken) {
119
- const url = `https://api.github.com/repos/${repo}/git/trees/${version}?recursive=1`;
120
- const response = await fetchWithRetry(url, makeHeaders(githubToken));
121
- if (!response.ok) {
122
- if (response.status === 404) {
123
- // Check if the repo exists or if it's the tag that's missing
124
- const repoCheckUrl = `https://api.github.com/repos/${repo}`;
125
- const repoResponse = await fetchWithRetry(repoCheckUrl, makeHeaders(githubToken));
126
- if (repoResponse.ok) {
127
- // Repo exists, so the tag is missing
128
- return {
129
- kind: "error",
130
- message: `Version not found: https://github.com/${repo}/releases/tag/${version}`,
131
- };
132
- }
133
- else {
134
- // Repo doesn't exist
135
- return {
136
- kind: "error",
137
- message: `Repository not found: https://github.com/${repo}`,
138
- };
139
- }
140
- }
141
- else {
142
- throw new Error(`Github API request failed: ${response.status} ${response.statusText}`);
143
- }
144
- }
145
- const githubTree = (await response.json());
146
- return {
147
- kind: "success",
148
- tree: githubTree,
149
- };
150
- }
151
- async function downloadFileContent(repo, sha, githubToken) {
152
- const url = `https://api.github.com/repos/${repo}/git/blobs/${sha}`;
153
- const response = await fetchWithRetry(url, makeHeaders(githubToken));
154
- if (!response.ok) {
155
- throw new Error(`Failed to download file: ${response.status} ${response.statusText}`);
156
- }
157
- const data = (await response.json());
158
- // Github API returns base64 encoded content
159
- if (data.encoding === "base64") {
160
- return decodeBase64Utf8(data.content);
161
- }
162
- return data.content;
163
- }
164
- function decodeBase64Utf8(base64) {
165
- const normalized = base64.replace(/\s/g, "");
166
- const binary = atob(normalized);
167
- const bytes = Uint8Array.from(binary, (char) => char.charCodeAt(0));
168
- return new TextDecoder().decode(bytes);
169
- }
170
- const PackageId = z.string().regex(/^@[A-Za-z0-9-]+\/[A-Za-z0-9\-_.]+$/);
171
- const Version = z.string().regex(/^[A-Za-z0-9\-_./+]+$/);
172
- const DependenciesOnlyConfig = z.object({
173
- dependencies: z.record(PackageId, Version).default({}),
174
- });
175
- function parseDependenciesConfig(yamlCode) {
176
- const errors = [];
177
- const lineCounter = new LineCounter();
178
- const doc = parseDocument(yamlCode, { lineCounter });
179
- const offsetToPos = (offset) => {
180
- const pos = lineCounter.linePos(offset);
181
- return {
182
- offset,
183
- lineNumber: pos.line,
184
- colNumber: pos.col,
185
- };
186
- };
187
- const offsetRangeToRange = (start, end) => ({
188
- start: offsetToPos(start),
189
- end: offsetToPos(end),
190
- });
191
- const pathToRange = (path) => {
192
- const node = doc.getIn(path, true);
193
- if (!node?.range) {
194
- return undefined;
195
- }
196
- return offsetRangeToRange(node.range[0], node.range[1]);
197
- };
198
- const pushErrorAtPath = (originalPath, message) => {
199
- let path = originalPath;
200
- const pathRemainder = [];
201
- while (path.length !== 0) {
202
- const range = pathToRange(path);
203
- if (range) {
204
- break;
205
- }
206
- pathRemainder.push(path.at(-1));
207
- path = path.slice(0, -1);
208
- }
209
- pathRemainder.reverse();
210
- const pathRemainderStr = pathRemainder
211
- .map((part, index) => typeof part === "number"
212
- ? `[${part}]`
213
- : index === 0
214
- ? part
215
- : `.${String(part)}`)
216
- .join("");
217
- const messagePrefix = pathRemainder.length
218
- ? `Missing property '${pathRemainderStr}': `
219
- : "";
220
- errors.push({
221
- message: messagePrefix + message,
222
- range: pathToRange(path),
223
- });
224
- };
225
- if (doc.errors.length > 0) {
226
- for (const error of doc.errors) {
227
- errors.push({
228
- message: error.message,
229
- range: offsetRangeToRange(error.pos[0], error.pos[1]),
230
- });
231
- }
232
- return { dependencies: undefined, errors };
233
- }
234
- const parsed = DependenciesOnlyConfig.safeParse(doc.toJS());
235
- if (!parsed.success) {
236
- for (const issue of parsed.error.issues) {
237
- pushErrorAtPath(issue.path, issue.message);
238
- }
239
- return { dependencies: undefined, errors };
240
- }
241
- return {
242
- dependencies: parsed.data.dependencies,
243
- errors,
244
- };
245
- }
246
- function makeHeaders(githubToken) {
247
- const headers = {
248
- Accept: "application/vnd.github.v3+json",
249
- };
250
- if (githubToken) {
251
- headers.Authorization = `token ${githubToken}`;
252
- }
253
- return headers;
254
- }
255
- const MAX_RETRY_WAIT_MS = 60 * 1000;
256
- //# sourceMappingURL=package_downloader.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package_downloader.js","sourceRoot":"","sources":["../src/package_downloader.ts"],"names":[],"mappings":"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"}
@@ -1,30 +0,0 @@
1
- export type PackageIdToVersion = Readonly<{
2
- [packageId: string]: string;
3
- }>;
4
- export type DependenciesResult = {
5
- kind: "success";
6
- packages: ReadonlyPackages;
7
- changed: boolean;
8
- } | DependencyError;
9
- export type Packages = {
10
- [packageId: string]: Package;
11
- };
12
- export type ReadonlyPackages = Readonly<Packages>;
13
- export interface Package {
14
- readonly packageId: string;
15
- readonly version: string;
16
- readonly modules: Readonly<{
17
- [modulePath: string]: string;
18
- }>;
19
- readonly dependencies: PackageIdToVersion;
20
- }
21
- export interface DependencyError {
22
- kind: "error";
23
- message: string;
24
- }
25
- export type DownloadPackageResult = {
26
- kind: "success";
27
- package: Package;
28
- } | DependencyError;
29
- export type PackageDownloader = (packageId: string, version: string, githubToken: string | undefined) => Promise<DownloadPackageResult>;
30
- //# sourceMappingURL=package_types.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package_types.d.ts","sourceRoot":"","sources":["../src/package_types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,kBAAkB,GAAG,QAAQ,CAAC;IACxC,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B,CAAC,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAC1B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,QAAQ,EAAE,gBAAgB,CAAC;IAE3B,OAAO,EAAE,OAAO,CAAC;CAClB,GACD,eAAe,CAAC;AAEpB,MAAM,MAAM,QAAQ,GAAG;IAAE,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAA;CAAE,CAAC;AACxD,MAAM,MAAM,gBAAgB,GAAG,QAAQ,CAAC,QAAQ,CAAC,CAAC;AAElD,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,QAAQ,CAAC;QAAE,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7D,QAAQ,CAAC,YAAY,EAAE,kBAAkB,CAAC;CAC3C;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,qBAAqB,GAC7B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;CAClB,GACD,eAAe,CAAC;AAEpB,MAAM,MAAM,iBAAiB,GAAG,CAC9B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,EACf,WAAW,EAAE,MAAM,GAAG,SAAS,KAC5B,OAAO,CAAC,qBAAqB,CAAC,CAAC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=package_types.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package_types.js","sourceRoot":"","sources":["../src/package_types.ts"],"names":[],"mappings":""}
package/dist/parser.d.ts DELETED
@@ -1,7 +0,0 @@
1
- import type { MutableModule, Result } from "skir-internal";
2
- import { ModuleTokens } from "./tokenizer.js";
3
- /** Runs syntactic analysis on a module. */
4
- export declare function parseModule(moduleTokens: ModuleTokens, mode: "strict" | "lenient"): Result<MutableModule>;
5
- /** Extracts the "@{...}/{...}/" package prefix from a module path. */
6
- export declare function extractPackagePrefix(modulePath: string): string;
7
- //# sourceMappingURL=parser.d.ts.map