@pseolint/core 0.1.0
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/LICENSE +21 -0
- package/README.md +53 -0
- package/dist/algorithms/entity-mask.d.ts +3 -0
- package/dist/algorithms/entity-mask.d.ts.map +1 -0
- package/dist/algorithms/entity-mask.js +8 -0
- package/dist/algorithms/entity-mask.js.map +1 -0
- package/dist/algorithms/entity-mask.test.d.ts +2 -0
- package/dist/algorithms/entity-mask.test.d.ts.map +1 -0
- package/dist/algorithms/entity-mask.test.js +23 -0
- package/dist/algorithms/entity-mask.test.js.map +1 -0
- package/dist/algorithms/simhash.d.ts +4 -0
- package/dist/algorithms/simhash.d.ts.map +1 -0
- package/dist/algorithms/simhash.js +64 -0
- package/dist/algorithms/simhash.js.map +1 -0
- package/dist/algorithms/simhash.test.d.ts +2 -0
- package/dist/algorithms/simhash.test.d.ts.map +1 -0
- package/dist/algorithms/simhash.test.js +23 -0
- package/dist/algorithms/simhash.test.js.map +1 -0
- package/dist/algorithms/tf-idf.d.ts +8 -0
- package/dist/algorithms/tf-idf.d.ts.map +1 -0
- package/dist/algorithms/tf-idf.js +55 -0
- package/dist/algorithms/tf-idf.js.map +1 -0
- package/dist/auditor.d.ts +3 -0
- package/dist/auditor.d.ts.map +1 -0
- package/dist/auditor.js +730 -0
- package/dist/auditor.js.map +1 -0
- package/dist/auditor.test.d.ts +2 -0
- package/dist/auditor.test.d.ts.map +1 -0
- package/dist/auditor.test.js +134 -0
- package/dist/auditor.test.js.map +1 -0
- package/dist/enrich-findings.d.ts +9 -0
- package/dist/enrich-findings.d.ts.map +1 -0
- package/dist/enrich-findings.js +436 -0
- package/dist/enrich-findings.js.map +1 -0
- package/dist/formatters/console.d.ts +6 -0
- package/dist/formatters/console.d.ts.map +1 -0
- package/dist/formatters/console.js +237 -0
- package/dist/formatters/console.js.map +1 -0
- package/dist/formatters/html.d.ts +3 -0
- package/dist/formatters/html.d.ts.map +1 -0
- package/dist/formatters/html.js +170 -0
- package/dist/formatters/html.js.map +1 -0
- package/dist/formatters/index.d.ts +6 -0
- package/dist/formatters/index.d.ts.map +1 -0
- package/dist/formatters/index.js +5 -0
- package/dist/formatters/index.js.map +1 -0
- package/dist/formatters/json.d.ts +3 -0
- package/dist/formatters/json.d.ts.map +1 -0
- package/dist/formatters/json.js +4 -0
- package/dist/formatters/json.js.map +1 -0
- package/dist/formatters/markdown.d.ts +3 -0
- package/dist/formatters/markdown.d.ts.map +1 -0
- package/dist/formatters/markdown.js +93 -0
- package/dist/formatters/markdown.js.map +1 -0
- package/dist/index.d.ts +45 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +45 -0
- package/dist/index.js.map +1 -0
- package/dist/page-classifier.d.ts +4 -0
- package/dist/page-classifier.d.ts.map +1 -0
- package/dist/page-classifier.js +133 -0
- package/dist/page-classifier.js.map +1 -0
- package/dist/parser.d.ts +3 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +131 -0
- package/dist/parser.js.map +1 -0
- package/dist/parser.test.d.ts +2 -0
- package/dist/parser.test.d.ts.map +1 -0
- package/dist/parser.test.js +37 -0
- package/dist/parser.test.js.map +1 -0
- package/dist/renderer.d.ts +15 -0
- package/dist/renderer.d.ts.map +1 -0
- package/dist/renderer.js +124 -0
- package/dist/renderer.js.map +1 -0
- package/dist/rule-references.d.ts +2 -0
- package/dist/rule-references.d.ts.map +1 -0
- package/dist/rule-references.js +35 -0
- package/dist/rule-references.js.map +1 -0
- package/dist/rules/cannibal/keyword-collision.d.ts +3 -0
- package/dist/rules/cannibal/keyword-collision.d.ts.map +1 -0
- package/dist/rules/cannibal/keyword-collision.js +25 -0
- package/dist/rules/cannibal/keyword-collision.js.map +1 -0
- package/dist/rules/cannibal/title-overlap.d.ts +3 -0
- package/dist/rules/cannibal/title-overlap.d.ts.map +1 -0
- package/dist/rules/cannibal/title-overlap.js +43 -0
- package/dist/rules/cannibal/title-overlap.js.map +1 -0
- package/dist/rules/cannibal/url-pattern.d.ts +3 -0
- package/dist/rules/cannibal/url-pattern.d.ts.map +1 -0
- package/dist/rules/cannibal/url-pattern.js +48 -0
- package/dist/rules/cannibal/url-pattern.js.map +1 -0
- package/dist/rules/content/eeat-signals.d.ts +3 -0
- package/dist/rules/content/eeat-signals.d.ts.map +1 -0
- package/dist/rules/content/eeat-signals.js +46 -0
- package/dist/rules/content/eeat-signals.js.map +1 -0
- package/dist/rules/content/heading-uniqueness.d.ts +3 -0
- package/dist/rules/content/heading-uniqueness.d.ts.map +1 -0
- package/dist/rules/content/heading-uniqueness.js +56 -0
- package/dist/rules/content/heading-uniqueness.js.map +1 -0
- package/dist/rules/content/meta-uniqueness.d.ts +3 -0
- package/dist/rules/content/meta-uniqueness.d.ts.map +1 -0
- package/dist/rules/content/meta-uniqueness.js +28 -0
- package/dist/rules/content/meta-uniqueness.js.map +1 -0
- package/dist/rules/content/missing-author.d.ts +3 -0
- package/dist/rules/content/missing-author.d.ts.map +1 -0
- package/dist/rules/content/missing-author.js +26 -0
- package/dist/rules/content/missing-author.js.map +1 -0
- package/dist/rules/content/unique-value.d.ts +3 -0
- package/dist/rules/content/unique-value.d.ts.map +1 -0
- package/dist/rules/content/unique-value.js +26 -0
- package/dist/rules/content/unique-value.js.map +1 -0
- package/dist/rules/links/cluster-connectivity.d.ts +7 -0
- package/dist/rules/links/cluster-connectivity.d.ts.map +1 -0
- package/dist/rules/links/cluster-connectivity.js +73 -0
- package/dist/rules/links/cluster-connectivity.js.map +1 -0
- package/dist/rules/links/cluster-key.d.ts +3 -0
- package/dist/rules/links/cluster-key.d.ts.map +1 -0
- package/dist/rules/links/cluster-key.js +22 -0
- package/dist/rules/links/cluster-key.js.map +1 -0
- package/dist/rules/links/dead-ends.d.ts +3 -0
- package/dist/rules/links/dead-ends.d.ts.map +1 -0
- package/dist/rules/links/dead-ends.js +13 -0
- package/dist/rules/links/dead-ends.js.map +1 -0
- package/dist/rules/links/hub-pages.d.ts +7 -0
- package/dist/rules/links/hub-pages.d.ts.map +1 -0
- package/dist/rules/links/hub-pages.js +73 -0
- package/dist/rules/links/hub-pages.js.map +1 -0
- package/dist/rules/links/link-depth.d.ts +3 -0
- package/dist/rules/links/link-depth.d.ts.map +1 -0
- package/dist/rules/links/link-depth.js +46 -0
- package/dist/rules/links/link-depth.js.map +1 -0
- package/dist/rules/links/orphan-pages.d.ts +3 -0
- package/dist/rules/links/orphan-pages.d.ts.map +1 -0
- package/dist/rules/links/orphan-pages.js +19 -0
- package/dist/rules/links/orphan-pages.js.map +1 -0
- package/dist/rules/schema/consistency.d.ts +3 -0
- package/dist/rules/schema/consistency.d.ts.map +1 -0
- package/dist/rules/schema/consistency.js +44 -0
- package/dist/rules/schema/consistency.js.map +1 -0
- package/dist/rules/schema/json-ld-valid.d.ts +3 -0
- package/dist/rules/schema/json-ld-valid.d.ts.map +1 -0
- package/dist/rules/schema/json-ld-valid.js +47 -0
- package/dist/rules/schema/json-ld-valid.js.map +1 -0
- package/dist/rules/schema/required-fields.d.ts +3 -0
- package/dist/rules/schema/required-fields.d.ts.map +1 -0
- package/dist/rules/schema/required-fields.js +60 -0
- package/dist/rules/schema/required-fields.js.map +1 -0
- package/dist/rules/spam/boilerplate-ratio.d.ts +3 -0
- package/dist/rules/spam/boilerplate-ratio.d.ts.map +1 -0
- package/dist/rules/spam/boilerplate-ratio.js +50 -0
- package/dist/rules/spam/boilerplate-ratio.js.map +1 -0
- package/dist/rules/spam/doorway-pattern.d.ts +4 -0
- package/dist/rules/spam/doorway-pattern.d.ts.map +1 -0
- package/dist/rules/spam/doorway-pattern.js +47 -0
- package/dist/rules/spam/doorway-pattern.js.map +1 -0
- package/dist/rules/spam/entity-swap.d.ts +7 -0
- package/dist/rules/spam/entity-swap.d.ts.map +1 -0
- package/dist/rules/spam/entity-swap.js +26 -0
- package/dist/rules/spam/entity-swap.js.map +1 -0
- package/dist/rules/spam/near-duplicate.d.ts +11 -0
- package/dist/rules/spam/near-duplicate.d.ts.map +1 -0
- package/dist/rules/spam/near-duplicate.js +25 -0
- package/dist/rules/spam/near-duplicate.js.map +1 -0
- package/dist/rules/spam/publication-velocity.d.ts +3 -0
- package/dist/rules/spam/publication-velocity.d.ts.map +1 -0
- package/dist/rules/spam/publication-velocity.js +25 -0
- package/dist/rules/spam/publication-velocity.js.map +1 -0
- package/dist/rules/spam/template-coverage.d.ts +3 -0
- package/dist/rules/spam/template-coverage.d.ts.map +1 -0
- package/dist/rules/spam/template-coverage.js +87 -0
- package/dist/rules/spam/template-coverage.js.map +1 -0
- package/dist/rules/spam/template-diversity.d.ts +3 -0
- package/dist/rules/spam/template-diversity.d.ts.map +1 -0
- package/dist/rules/spam/template-diversity.js +19 -0
- package/dist/rules/spam/template-diversity.js.map +1 -0
- package/dist/rules/spam/thin-content.d.ts +6 -0
- package/dist/rules/spam/thin-content.d.ts.map +1 -0
- package/dist/rules/spam/thin-content.js +22 -0
- package/dist/rules/spam/thin-content.js.map +1 -0
- package/dist/rules/tech/canonical-consistency.d.ts +4 -0
- package/dist/rules/tech/canonical-consistency.d.ts.map +1 -0
- package/dist/rules/tech/canonical-consistency.js +78 -0
- package/dist/rules/tech/canonical-consistency.js.map +1 -0
- package/dist/rules/tech/canonical-noindex-conflict.d.ts +3 -0
- package/dist/rules/tech/canonical-noindex-conflict.d.ts.map +1 -0
- package/dist/rules/tech/canonical-noindex-conflict.js +27 -0
- package/dist/rules/tech/canonical-noindex-conflict.js.map +1 -0
- package/dist/rules/tech/hreflang-consistency.d.ts +3 -0
- package/dist/rules/tech/hreflang-consistency.d.ts.map +1 -0
- package/dist/rules/tech/hreflang-consistency.js +99 -0
- package/dist/rules/tech/hreflang-consistency.js.map +1 -0
- package/dist/rules/tech/og-completeness.d.ts +3 -0
- package/dist/rules/tech/og-completeness.d.ts.map +1 -0
- package/dist/rules/tech/og-completeness.js +35 -0
- package/dist/rules/tech/og-completeness.js.map +1 -0
- package/dist/rules/tech/redirect-chain.d.ts +3 -0
- package/dist/rules/tech/redirect-chain.d.ts.map +1 -0
- package/dist/rules/tech/redirect-chain.js +20 -0
- package/dist/rules/tech/redirect-chain.js.map +1 -0
- package/dist/rules/tech/robots-noindex-conflict.d.ts +3 -0
- package/dist/rules/tech/robots-noindex-conflict.d.ts.map +1 -0
- package/dist/rules/tech/robots-noindex-conflict.js +30 -0
- package/dist/rules/tech/robots-noindex-conflict.js.map +1 -0
- package/dist/rules/tech/robots-sitemap-presence.d.ts +3 -0
- package/dist/rules/tech/robots-sitemap-presence.d.ts.map +1 -0
- package/dist/rules/tech/robots-sitemap-presence.js +61 -0
- package/dist/rules/tech/robots-sitemap-presence.js.map +1 -0
- package/dist/rules/tech/sitemap-completeness.d.ts +3 -0
- package/dist/rules/tech/sitemap-completeness.d.ts.map +1 -0
- package/dist/rules/tech/sitemap-completeness.js +40 -0
- package/dist/rules/tech/sitemap-completeness.js.map +1 -0
- package/dist/rules/tech/soft-404.d.ts +3 -0
- package/dist/rules/tech/soft-404.d.ts.map +1 -0
- package/dist/rules/tech/soft-404.js +24 -0
- package/dist/rules/tech/soft-404.js.map +1 -0
- package/dist/types.d.ts +170 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/dist/url-normalize.d.ts +10 -0
- package/dist/url-normalize.d.ts.map +1 -0
- package/dist/url-normalize.js +52 -0
- package/dist/url-normalize.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auditor.js","sourceRoot":"","sources":["../src/auditor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auditor.test.d.ts","sourceRoot":"","sources":["../src/auditor.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import { mkdtemp, rm, writeFile } from "node:fs/promises";
|
|
2
|
+
import { tmpdir } from "node:os";
|
|
3
|
+
import { join } from "node:path";
|
|
4
|
+
import { afterEach, describe, expect, test } from "vitest";
|
|
5
|
+
import { auditSource } from "./auditor.js";
|
|
6
|
+
const tempDirs = [];
|
|
7
|
+
afterEach(async () => {
|
|
8
|
+
await Promise.all(tempDirs.map((dir) => rm(dir, { recursive: true, force: true })));
|
|
9
|
+
tempDirs.length = 0;
|
|
10
|
+
globalThis.fetch = originalFetch;
|
|
11
|
+
});
|
|
12
|
+
const originalFetch = globalThis.fetch;
|
|
13
|
+
describe("auditSource", () => {
|
|
14
|
+
test("audits an html directory and emits relationship findings", async () => {
|
|
15
|
+
const dir = await mkdtemp(join(tmpdir(), "pseolint-audit-"));
|
|
16
|
+
tempDirs.push(dir);
|
|
17
|
+
const sharedLongContent = Array.from({ length: 70 }, () => "Step choose name file articles appoint agent submit report").join(" ");
|
|
18
|
+
const pageA = `
|
|
19
|
+
<html><body>
|
|
20
|
+
<h1>California LLC Template</h1>
|
|
21
|
+
<p>${sharedLongContent} California LLC filing guide with annual fee details.</p>
|
|
22
|
+
</body></html>
|
|
23
|
+
`;
|
|
24
|
+
const pageB = `
|
|
25
|
+
<html><body>
|
|
26
|
+
<h1>Nevada LLC Template</h1>
|
|
27
|
+
<p>${sharedLongContent} Nevada LLC filing guide with annual fee details.</p>
|
|
28
|
+
</body></html>
|
|
29
|
+
`;
|
|
30
|
+
const pageThin = `<html><body><h1>Thin page</h1><p>tiny content only</p></body></html>`;
|
|
31
|
+
await writeFile(join(dir, "california-llc.html"), pageA, "utf-8");
|
|
32
|
+
await writeFile(join(dir, "nevada-llc.html"), pageB, "utf-8");
|
|
33
|
+
await writeFile(join(dir, "thin.html"), pageThin, "utf-8");
|
|
34
|
+
const summary = await auditSource(dir, {
|
|
35
|
+
rules: { templateDiversityMinUniqueRatio: 0.8, boilerplateMaxRatio: 0.4 }
|
|
36
|
+
});
|
|
37
|
+
expect(summary.pageCount).toBe(3);
|
|
38
|
+
expect(summary.findings.some((f) => f.ruleId === "spam/near-duplicate")).toBe(true);
|
|
39
|
+
expect(summary.findings.some((f) => f.ruleId === "spam/entity-swap")).toBe(true);
|
|
40
|
+
expect(summary.findings.some((f) => f.ruleId === "spam/thin-content")).toBe(true);
|
|
41
|
+
expect(summary.findings.some((f) => f.ruleId === "spam/boilerplate-ratio")).toBe(true);
|
|
42
|
+
expect(summary.findings.some((f) => f.ruleId === "spam/template-diversity")).toBe(true);
|
|
43
|
+
expect(summary.score).toBeGreaterThan(0);
|
|
44
|
+
});
|
|
45
|
+
test("throws a clear error when source path does not exist", async () => {
|
|
46
|
+
await expect(auditSource("D:/path/that/does/not/exist")).rejects.toThrow("Unable to access source");
|
|
47
|
+
});
|
|
48
|
+
test("expands sitemap urls and audits referenced pages", async () => {
|
|
49
|
+
const pages = {
|
|
50
|
+
"https://example.dev/page-a": `<html><body><h1>Page A</h1><p>${"alpha ".repeat(350)}</p></body></html>`,
|
|
51
|
+
"https://example.dev/page-b": `<html><body><h1>Page B</h1><p>${"beta ".repeat(350)}</p></body></html>`
|
|
52
|
+
};
|
|
53
|
+
const sitemap = `<?xml version="1.0" encoding="UTF-8"?>
|
|
54
|
+
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
|
|
55
|
+
<url><loc>https://example.dev/page-a</loc></url>
|
|
56
|
+
<url><loc>https://example.dev/page-b</loc></url>
|
|
57
|
+
</urlset>`;
|
|
58
|
+
globalThis.fetch = (async (input) => {
|
|
59
|
+
const url = typeof input === "string" ? input : input.toString();
|
|
60
|
+
if (url === "https://example.dev/sitemap.xml") {
|
|
61
|
+
return new Response(sitemap, { status: 200, headers: { "content-type": "application/xml" } });
|
|
62
|
+
}
|
|
63
|
+
const body = pages[url];
|
|
64
|
+
if (!body) {
|
|
65
|
+
return new Response("Not found", { status: 404 });
|
|
66
|
+
}
|
|
67
|
+
return new Response(body, { status: 200, headers: { "content-type": "text/html" } });
|
|
68
|
+
});
|
|
69
|
+
const summary = await auditSource("https://example.dev/sitemap.xml", {
|
|
70
|
+
rules: { publicationVelocityMaxPerDay: 1 }
|
|
71
|
+
});
|
|
72
|
+
expect(summary.pageCount).toBe(2);
|
|
73
|
+
expect(summary.findings.some((f) => f.ruleId === "spam/publication-velocity")).toBe(false);
|
|
74
|
+
});
|
|
75
|
+
test("throws a clear error for invalid non-html URL responses", async () => {
|
|
76
|
+
globalThis.fetch = (async () => {
|
|
77
|
+
return new Response('{"ok":true}', {
|
|
78
|
+
status: 200,
|
|
79
|
+
headers: { "content-type": "application/json" }
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
await expect(auditSource("https://example.dev/data.json")).rejects.toThrow("does not look like HTML or sitemap XML");
|
|
83
|
+
});
|
|
84
|
+
test("flags publication velocity spikes from shared publish dates", async () => {
|
|
85
|
+
const dir = await mkdtemp(join(tmpdir(), "pseolint-velocity-"));
|
|
86
|
+
tempDirs.push(dir);
|
|
87
|
+
const html = (title) => `
|
|
88
|
+
<html>
|
|
89
|
+
<head><meta property="article:published_time" content="2026-04-13" /></head>
|
|
90
|
+
<body><h1>${title}</h1><p>${"gamma ".repeat(330)}</p></body>
|
|
91
|
+
</html>`;
|
|
92
|
+
await writeFile(join(dir, "a.html"), html("A"), "utf-8");
|
|
93
|
+
await writeFile(join(dir, "b.html"), html("B"), "utf-8");
|
|
94
|
+
await writeFile(join(dir, "c.html"), html("C"), "utf-8");
|
|
95
|
+
const summary = await auditSource(dir, { rules: { publicationVelocityMaxPerDay: 2 } });
|
|
96
|
+
expect(summary.findings.some((f) => f.ruleId === "spam/publication-velocity")).toBe(true);
|
|
97
|
+
});
|
|
98
|
+
test("flags content uniqueness, headings, and meta collisions", async () => {
|
|
99
|
+
const dir = await mkdtemp(join(tmpdir(), "pseolint-content-"));
|
|
100
|
+
tempDirs.push(dir);
|
|
101
|
+
const duplicateMeta = "Generate your state LLC template quickly.";
|
|
102
|
+
const pageA = `
|
|
103
|
+
<html>
|
|
104
|
+
<head>
|
|
105
|
+
<title>California LLC Template</title>
|
|
106
|
+
<meta name="description" content="${duplicateMeta}" />
|
|
107
|
+
</head>
|
|
108
|
+
<body>
|
|
109
|
+
<h1>State LLC Template</h1>
|
|
110
|
+
<h2>How It Works</h2>
|
|
111
|
+
<p>${"shared flow ".repeat(350)}</p>
|
|
112
|
+
</body>
|
|
113
|
+
</html>`;
|
|
114
|
+
const pageB = `
|
|
115
|
+
<html>
|
|
116
|
+
<head>
|
|
117
|
+
<title>Nevada LLC Template</title>
|
|
118
|
+
<meta name="description" content="${duplicateMeta}" />
|
|
119
|
+
</head>
|
|
120
|
+
<body>
|
|
121
|
+
<h1>State LLC Template</h1>
|
|
122
|
+
<h2>How It Works</h2>
|
|
123
|
+
<p>${"shared flow ".repeat(350)}</p>
|
|
124
|
+
</body>
|
|
125
|
+
</html>`;
|
|
126
|
+
await writeFile(join(dir, "ca.html"), pageA, "utf-8");
|
|
127
|
+
await writeFile(join(dir, "nv.html"), pageB, "utf-8");
|
|
128
|
+
const summary = await auditSource(dir);
|
|
129
|
+
expect(summary.findings.some((f) => f.ruleId === "content/unique-value")).toBe(true);
|
|
130
|
+
expect(summary.findings.some((f) => f.ruleId === "content/heading-uniqueness")).toBe(true);
|
|
131
|
+
expect(summary.findings.some((f) => f.ruleId === "content/meta-uniqueness")).toBe(true);
|
|
132
|
+
});
|
|
133
|
+
});
|
|
134
|
+
//# sourceMappingURL=auditor.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auditor.test.js","sourceRoot":"","sources":["../src/auditor.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { RuleResult, ParsedPage } from "./types.js";
|
|
2
|
+
export declare function enrichFindings(findings: RuleResult[], pages: ParsedPage[], options?: {
|
|
3
|
+
templateGenerated?: boolean;
|
|
4
|
+
}): {
|
|
5
|
+
findings: RuleResult[];
|
|
6
|
+
templateDetected: boolean;
|
|
7
|
+
rawFindingCount: number;
|
|
8
|
+
};
|
|
9
|
+
//# sourceMappingURL=enrich-findings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"enrich-findings.d.ts","sourceRoot":"","sources":["../src/enrich-findings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,UAAU,EAIX,MAAM,YAAY,CAAC;AAiSpB,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,UAAU,EAAE,EACtB,KAAK,EAAE,UAAU,EAAE,EACnB,OAAO,CAAC,EAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAA;CAAE,GACxC;IACD,QAAQ,EAAE,UAAU,EAAE,CAAC;IACvB,gBAAgB,EAAE,OAAO,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,CAwNA"}
|