@telorun/analyzer 0.1.4 → 0.2.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.
- package/README.md +3 -3
- package/dist/analyzer.d.ts +6 -0
- package/dist/analyzer.d.ts.map +1 -1
- package/dist/analyzer.js +45 -25
- package/dist/builtins.d.ts.map +1 -1
- package/dist/builtins.js +52 -24
- package/dist/cel-environment.d.ts +12 -5
- package/dist/cel-environment.d.ts.map +1 -1
- package/dist/cel-environment.js +31 -17
- package/dist/definition-registry.d.ts +5 -5
- package/dist/definition-registry.d.ts.map +1 -1
- package/dist/definition-registry.js +10 -10
- package/dist/dependency-graph.d.ts.map +1 -1
- package/dist/dependency-graph.js +9 -2
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -0
- package/dist/kernel-globals.d.ts +6 -2
- package/dist/kernel-globals.d.ts.map +1 -1
- package/dist/kernel-globals.js +14 -8
- package/dist/manifest-loader.d.ts +1 -0
- package/dist/manifest-loader.d.ts.map +1 -1
- package/dist/manifest-loader.js +36 -14
- package/dist/module-kinds.d.ts +4 -0
- package/dist/module-kinds.d.ts.map +1 -0
- package/dist/module-kinds.js +4 -0
- package/dist/normalize-inline-resources.d.ts.map +1 -1
- package/dist/normalize-inline-resources.js +6 -1
- package/dist/precompile.d.ts +3 -2
- package/dist/precompile.d.ts.map +1 -1
- package/dist/precompile.js +13 -11
- package/dist/reference-field-map.d.ts +1 -1
- package/dist/resolve-throws-union.d.ts +30 -0
- package/dist/resolve-throws-union.d.ts.map +1 -0
- package/dist/resolve-throws-union.js +252 -0
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/validate-cel-context.js +1 -1
- package/dist/validate-references.d.ts.map +1 -1
- package/dist/validate-references.js +19 -12
- package/dist/validate-throws-coverage.d.ts +8 -0
- package/dist/validate-throws-coverage.d.ts.map +1 -0
- package/dist/validate-throws-coverage.js +461 -0
- package/package.json +2 -2
- package/src/analyzer.ts +60 -26
- package/src/builtins.ts +52 -24
- package/src/cel-environment.ts +40 -17
- package/src/definition-registry.ts +10 -10
- package/src/dependency-graph.ts +9 -2
- package/src/index.ts +2 -0
- package/src/kernel-globals.ts +19 -10
- package/src/manifest-loader.ts +40 -14
- package/src/module-kinds.ts +6 -0
- package/src/normalize-inline-resources.ts +6 -1
- package/src/precompile.ts +14 -11
- package/src/reference-field-map.ts +1 -1
- package/src/resolve-throws-union.ts +345 -0
- package/src/types.ts +3 -0
- package/src/validate-cel-context.ts +1 -1
- package/src/validate-references.ts +19 -12
- package/src/validate-throws-coverage.ts +565 -0
- package/dist/adapters/node-adapter.d.ts +0 -17
- package/dist/adapters/node-adapter.d.ts.map +0 -1
- package/dist/adapters/node-adapter.js +0 -71
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { type ManifestAdapter } from "../types.js";
|
|
2
|
-
/** Node.js fs-based ManifestAdapter for local files. Not browser-compatible. */
|
|
3
|
-
export declare class NodeAdapter implements ManifestAdapter {
|
|
4
|
-
private readonly cwd;
|
|
5
|
-
constructor(cwd?: string);
|
|
6
|
-
supports(url: string): boolean;
|
|
7
|
-
read(url: string): Promise<{
|
|
8
|
-
text: string;
|
|
9
|
-
source: string;
|
|
10
|
-
}>;
|
|
11
|
-
resolveRelative(base: string, relative: string): string;
|
|
12
|
-
expandGlob(base: string, patterns: string[]): Promise<string[]>;
|
|
13
|
-
resolveOwnerOf(fileUrl: string): Promise<string | null>;
|
|
14
|
-
}
|
|
15
|
-
/** @deprecated Use `new NodeAdapter(cwd)` instead */
|
|
16
|
-
export declare function createNodeAdapter(cwd?: string): ManifestAdapter;
|
|
17
|
-
//# sourceMappingURL=node-adapter.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"node-adapter.d.ts","sourceRoot":"","sources":["../../src/adapters/node-adapter.ts"],"names":[],"mappings":"AAIA,OAAO,EAA6B,KAAK,eAAe,EAAE,MAAM,aAAa,CAAC;AAM9E,gFAAgF;AAChF,qBAAa,WAAY,YAAW,eAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,GAAG;gBAAH,GAAG,GAAE,MAAsB;IAExD,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAUxB,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IASlE,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM;IAKjD,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAc/D,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;CAoB9D;AAED,qDAAqD;AACrD,wBAAgB,iBAAiB,CAAC,GAAG,GAAE,MAAsB,GAAG,eAAe,CAE9E"}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
import * as fs from "fs/promises";
|
|
2
|
-
import * as path from "path";
|
|
3
|
-
import { fileURLToPath } from "url";
|
|
4
|
-
import { minimatch } from "minimatch";
|
|
5
|
-
import { DEFAULT_MANIFEST_FILENAME } from "../types.js";
|
|
6
|
-
function toFilePath(url) {
|
|
7
|
-
return url.startsWith("file://") ? fileURLToPath(url) : url;
|
|
8
|
-
}
|
|
9
|
-
/** Node.js fs-based ManifestAdapter for local files. Not browser-compatible. */
|
|
10
|
-
export class NodeAdapter {
|
|
11
|
-
cwd;
|
|
12
|
-
constructor(cwd = process.cwd()) {
|
|
13
|
-
this.cwd = cwd;
|
|
14
|
-
}
|
|
15
|
-
supports(url) {
|
|
16
|
-
return (url.startsWith("file://") ||
|
|
17
|
-
url.startsWith("/") ||
|
|
18
|
-
url.startsWith("./") ||
|
|
19
|
-
url.startsWith("../") ||
|
|
20
|
-
(!url.includes("://") && !url.includes("@")));
|
|
21
|
-
}
|
|
22
|
-
async read(url) {
|
|
23
|
-
const filePath = toFilePath(url);
|
|
24
|
-
const stat = await fs.stat(filePath).catch(() => null);
|
|
25
|
-
const resolvedPath = stat?.isDirectory() ? path.join(filePath, DEFAULT_MANIFEST_FILENAME) : filePath;
|
|
26
|
-
const text = await fs.readFile(resolvedPath, "utf8");
|
|
27
|
-
return { text, source: resolvedPath };
|
|
28
|
-
}
|
|
29
|
-
resolveRelative(base, relative) {
|
|
30
|
-
const baseDir = path.dirname(path.resolve(this.cwd, toFilePath(base)));
|
|
31
|
-
return path.resolve(baseDir, relative);
|
|
32
|
-
}
|
|
33
|
-
async expandGlob(base, patterns) {
|
|
34
|
-
const baseDir = path.dirname(path.resolve(this.cwd, toFilePath(base)));
|
|
35
|
-
const entries = await fs.readdir(baseDir, { recursive: true, encoding: "utf8" });
|
|
36
|
-
const normalizedPatterns = patterns.map((p) => p.replace(/\\/g, "/").replace(/^\.\//, ""));
|
|
37
|
-
const matched = [];
|
|
38
|
-
for (const entry of entries) {
|
|
39
|
-
const normalized = entry.replace(/\\/g, "/");
|
|
40
|
-
if (normalizedPatterns.some((p) => minimatch(normalized, p))) {
|
|
41
|
-
matched.push(path.resolve(baseDir, entry));
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return matched.sort();
|
|
45
|
-
}
|
|
46
|
-
async resolveOwnerOf(fileUrl) {
|
|
47
|
-
const resolved = path.resolve(this.cwd, toFilePath(fileUrl));
|
|
48
|
-
let dir = path.dirname(resolved);
|
|
49
|
-
while (true) {
|
|
50
|
-
const candidate = path.join(dir, DEFAULT_MANIFEST_FILENAME);
|
|
51
|
-
if (candidate !== resolved) {
|
|
52
|
-
try {
|
|
53
|
-
await fs.access(candidate);
|
|
54
|
-
return candidate;
|
|
55
|
-
}
|
|
56
|
-
catch {
|
|
57
|
-
// telo.yaml not found at this level
|
|
58
|
-
}
|
|
59
|
-
}
|
|
60
|
-
const parent = path.dirname(dir);
|
|
61
|
-
if (parent === dir)
|
|
62
|
-
break;
|
|
63
|
-
dir = parent;
|
|
64
|
-
}
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
/** @deprecated Use `new NodeAdapter(cwd)` instead */
|
|
69
|
-
export function createNodeAdapter(cwd = process.cwd()) {
|
|
70
|
-
return new NodeAdapter(cwd);
|
|
71
|
-
}
|