opencode-rag-plugin 1.2.0 → 1.2.2
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 +463 -463
- package/dist/cli.d.ts +7 -0
- package/dist/cli.js +20 -5
- package/dist/cli.js.map +1 -1
- package/dist/plugin.js +1 -1
- package/dist/plugin.js.map +1 -1
- package/package.json +89 -89
- package/dist/__tests__/chunker/c.test.d.ts +0 -1
- package/dist/__tests__/chunker/c.test.js +0 -82
- package/dist/__tests__/chunker/c.test.js.map +0 -1
- package/dist/__tests__/chunker/cpp.test.d.ts +0 -1
- package/dist/__tests__/chunker/cpp.test.js +0 -96
- package/dist/__tests__/chunker/cpp.test.js.map +0 -1
- package/dist/__tests__/chunker/csharp.test.d.ts +0 -1
- package/dist/__tests__/chunker/csharp.test.js +0 -85
- package/dist/__tests__/chunker/csharp.test.js.map +0 -1
- package/dist/__tests__/chunker/css.test.d.ts +0 -1
- package/dist/__tests__/chunker/css.test.js +0 -64
- package/dist/__tests__/chunker/css.test.js.map +0 -1
- package/dist/__tests__/chunker/factory.test.d.ts +0 -1
- package/dist/__tests__/chunker/factory.test.js +0 -202
- package/dist/__tests__/chunker/factory.test.js.map +0 -1
- package/dist/__tests__/chunker/fallback.test.d.ts +0 -1
- package/dist/__tests__/chunker/fallback.test.js +0 -67
- package/dist/__tests__/chunker/fallback.test.js.map +0 -1
- package/dist/__tests__/chunker/go.test.d.ts +0 -1
- package/dist/__tests__/chunker/go.test.js +0 -90
- package/dist/__tests__/chunker/go.test.js.map +0 -1
- package/dist/__tests__/chunker/grammar.test.d.ts +0 -1
- package/dist/__tests__/chunker/grammar.test.js +0 -108
- package/dist/__tests__/chunker/grammar.test.js.map +0 -1
- package/dist/__tests__/chunker/html.test.d.ts +0 -1
- package/dist/__tests__/chunker/html.test.js +0 -64
- package/dist/__tests__/chunker/html.test.js.map +0 -1
- package/dist/__tests__/chunker/java.test.d.ts +0 -1
- package/dist/__tests__/chunker/java.test.js +0 -83
- package/dist/__tests__/chunker/java.test.js.map +0 -1
- package/dist/__tests__/chunker/javascript.test.d.ts +0 -1
- package/dist/__tests__/chunker/javascript.test.js +0 -88
- package/dist/__tests__/chunker/javascript.test.js.map +0 -1
- package/dist/__tests__/chunker/json.test.d.ts +0 -1
- package/dist/__tests__/chunker/json.test.js +0 -54
- package/dist/__tests__/chunker/json.test.js.map +0 -1
- package/dist/__tests__/chunker/kotlin.test.d.ts +0 -1
- package/dist/__tests__/chunker/kotlin.test.js +0 -42
- package/dist/__tests__/chunker/kotlin.test.js.map +0 -1
- package/dist/__tests__/chunker/markdown.test.d.ts +0 -1
- package/dist/__tests__/chunker/markdown.test.js +0 -76
- package/dist/__tests__/chunker/markdown.test.js.map +0 -1
- package/dist/__tests__/chunker/python.test.d.ts +0 -1
- package/dist/__tests__/chunker/python.test.js +0 -81
- package/dist/__tests__/chunker/python.test.js.map +0 -1
- package/dist/__tests__/chunker/razor.test.d.ts +0 -1
- package/dist/__tests__/chunker/razor.test.js +0 -73
- package/dist/__tests__/chunker/razor.test.js.map +0 -1
- package/dist/__tests__/chunker/register.test.d.ts +0 -1
- package/dist/__tests__/chunker/register.test.js +0 -93
- package/dist/__tests__/chunker/register.test.js.map +0 -1
- package/dist/__tests__/chunker/ruby.test.d.ts +0 -1
- package/dist/__tests__/chunker/ruby.test.js +0 -40
- package/dist/__tests__/chunker/ruby.test.js.map +0 -1
- package/dist/__tests__/chunker/rust.test.d.ts +0 -1
- package/dist/__tests__/chunker/rust.test.js +0 -42
- package/dist/__tests__/chunker/rust.test.js.map +0 -1
- package/dist/__tests__/chunker/sln.test.d.ts +0 -1
- package/dist/__tests__/chunker/sln.test.js +0 -45
- package/dist/__tests__/chunker/sln.test.js.map +0 -1
- package/dist/__tests__/chunker/swift.test.d.ts +0 -1
- package/dist/__tests__/chunker/swift.test.js +0 -49
- package/dist/__tests__/chunker/swift.test.js.map +0 -1
- package/dist/__tests__/chunker/typescript.test.d.ts +0 -1
- package/dist/__tests__/chunker/typescript.test.js +0 -92
- package/dist/__tests__/chunker/typescript.test.js.map +0 -1
- package/dist/__tests__/chunker/uuid.test.d.ts +0 -1
- package/dist/__tests__/chunker/uuid.test.js +0 -19
- package/dist/__tests__/chunker/uuid.test.js.map +0 -1
- package/dist/__tests__/chunker/xml.test.d.ts +0 -1
- package/dist/__tests__/chunker/xml.test.js +0 -50
- package/dist/__tests__/chunker/xml.test.js.map +0 -1
- package/dist/__tests__/core/config.test.d.ts +0 -1
- package/dist/__tests__/core/config.test.js +0 -75
- package/dist/__tests__/core/config.test.js.map +0 -1
- package/dist/__tests__/core/fileLogger.test.d.ts +0 -1
- package/dist/__tests__/core/fileLogger.test.js +0 -34
- package/dist/__tests__/core/fileLogger.test.js.map +0 -1
- package/dist/__tests__/core/manifest.test.d.ts +0 -1
- package/dist/__tests__/core/manifest.test.js +0 -56
- package/dist/__tests__/core/manifest.test.js.map +0 -1
- package/dist/__tests__/embedder/embedBatch.test.d.ts +0 -1
- package/dist/__tests__/embedder/embedBatch.test.js +0 -88
- package/dist/__tests__/embedder/embedBatch.test.js.map +0 -1
- package/dist/__tests__/embedder/factory.test.d.ts +0 -1
- package/dist/__tests__/embedder/factory.test.js +0 -71
- package/dist/__tests__/embedder/factory.test.js.map +0 -1
- package/dist/__tests__/embedder/ollama.test.d.ts +0 -1
- package/dist/__tests__/embedder/ollama.test.js +0 -106
- package/dist/__tests__/embedder/ollama.test.js.map +0 -1
- package/dist/__tests__/embedder/openai.test.d.ts +0 -1
- package/dist/__tests__/embedder/openai.test.js +0 -94
- package/dist/__tests__/embedder/openai.test.js.map +0 -1
- package/dist/__tests__/indexer/indexer.test.d.ts +0 -1
- package/dist/__tests__/indexer/indexer.test.js +0 -176
- package/dist/__tests__/indexer/indexer.test.js.map +0 -1
- package/dist/__tests__/plugin.test.d.ts +0 -1
- package/dist/__tests__/plugin.test.js +0 -77
- package/dist/__tests__/plugin.test.js.map +0 -1
- package/dist/__tests__/retriever/retriever.test.d.ts +0 -1
- package/dist/__tests__/retriever/retriever.test.js +0 -97
- package/dist/__tests__/retriever/retriever.test.js.map +0 -1
- package/dist/__tests__/vectorstore/lancedb.test.d.ts +0 -1
- package/dist/__tests__/vectorstore/lancedb.test.js +0 -159
- package/dist/__tests__/vectorstore/lancedb.test.js.map +0 -1
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
import { describe, it } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
import { cppChunker } from "../../chunker/cpp.js";
|
|
4
|
-
describe("CppChunker", () => {
|
|
5
|
-
it("language is 'cpp'", () => {
|
|
6
|
-
assert.equal(cppChunker.language, "cpp");
|
|
7
|
-
});
|
|
8
|
-
it("fileExtensions includes .cpp, .cc, .cxx, .hpp, .hxx", () => {
|
|
9
|
-
assert.ok(cppChunker.fileExtensions.includes(".cpp"));
|
|
10
|
-
assert.ok(cppChunker.fileExtensions.includes(".cc"));
|
|
11
|
-
assert.ok(cppChunker.fileExtensions.includes(".cxx"));
|
|
12
|
-
assert.ok(cppChunker.fileExtensions.includes(".hpp"));
|
|
13
|
-
assert.ok(cppChunker.fileExtensions.includes(".hxx"));
|
|
14
|
-
});
|
|
15
|
-
it("grammarName is 'cpp'", () => {
|
|
16
|
-
assert.equal(cppChunker.grammarName, "cpp");
|
|
17
|
-
});
|
|
18
|
-
it("nodeTypes contains expected types", () => {
|
|
19
|
-
const types = cppChunker.nodeTypes;
|
|
20
|
-
assert.ok(types.has("function_definition"));
|
|
21
|
-
assert.ok(types.has("class_specifier"));
|
|
22
|
-
assert.ok(types.has("struct_specifier"));
|
|
23
|
-
assert.ok(types.has("enum_specifier"));
|
|
24
|
-
assert.ok(types.has("union_specifier"));
|
|
25
|
-
assert.ok(types.has("namespace_definition"));
|
|
26
|
-
assert.ok(types.has("template_declaration"));
|
|
27
|
-
});
|
|
28
|
-
it("chunk returns empty array for empty content", async () => {
|
|
29
|
-
const chunks = await cppChunker.chunk("test.cpp", "");
|
|
30
|
-
assert.deepStrictEqual(chunks, []);
|
|
31
|
-
});
|
|
32
|
-
it("chunk returns empty array for whitespace-only content", async () => {
|
|
33
|
-
const chunks = await cppChunker.chunk("test.cpp", " \n \n ");
|
|
34
|
-
assert.deepStrictEqual(chunks, []);
|
|
35
|
-
});
|
|
36
|
-
it("chunk parses a function definition", async () => {
|
|
37
|
-
const code = "int add(int a, int b) {\n return a + b;\n}\n";
|
|
38
|
-
const chunks = await cppChunker.chunk("test.cpp", code);
|
|
39
|
-
assert.ok(chunks.length > 0, "expected at least one chunk");
|
|
40
|
-
assert.equal(chunks[0].metadata.language, "cpp");
|
|
41
|
-
assert.equal(chunks[0].metadata.filePath, "test.cpp");
|
|
42
|
-
assert.ok(chunks[0].content.includes("add"));
|
|
43
|
-
});
|
|
44
|
-
it("chunk parses a class definition", async () => {
|
|
45
|
-
const code = [
|
|
46
|
-
"class Calculator {",
|
|
47
|
-
"public:",
|
|
48
|
-
" int add(int a, int b) { return a + b; }",
|
|
49
|
-
"};",
|
|
50
|
-
].join("\n");
|
|
51
|
-
const chunks = await cppChunker.chunk("calc.cpp", code);
|
|
52
|
-
assert.ok(chunks.length > 0, "expected at least one chunk");
|
|
53
|
-
assert.ok(chunks.some((c) => c.content.includes("class Calculator")));
|
|
54
|
-
});
|
|
55
|
-
it("chunk parses a namespace definition", async () => {
|
|
56
|
-
const code = "namespace utils {\n int value = 0;\n}\n";
|
|
57
|
-
const chunks = await cppChunker.chunk("ns.cpp", code);
|
|
58
|
-
assert.ok(chunks.length > 0, "expected at least one chunk");
|
|
59
|
-
assert.ok(chunks.some((c) => c.content.includes("namespace utils")));
|
|
60
|
-
});
|
|
61
|
-
it("chunk parses a template declaration", async () => {
|
|
62
|
-
const code = "template<typename T>\nT max(T a, T b) {\n return a > b ? a : b;\n}\n";
|
|
63
|
-
const chunks = await cppChunker.chunk("tmpl.cpp", code);
|
|
64
|
-
assert.ok(chunks.length > 0, "expected at least one chunk");
|
|
65
|
-
assert.ok(chunks.some((c) => c.content.includes("template")));
|
|
66
|
-
});
|
|
67
|
-
it("chunk generates unique IDs for multiple declarations", async () => {
|
|
68
|
-
const code = [
|
|
69
|
-
"int foo() { return 1; }",
|
|
70
|
-
"",
|
|
71
|
-
"int bar() { return 2; }",
|
|
72
|
-
"",
|
|
73
|
-
"int baz() { return 3; }",
|
|
74
|
-
].join("\n");
|
|
75
|
-
const chunks = await cppChunker.chunk("multi.cpp", code);
|
|
76
|
-
const ids = new Set(chunks.map((c) => c.id));
|
|
77
|
-
assert.equal(ids.size, chunks.length);
|
|
78
|
-
});
|
|
79
|
-
it("chunk sets correct startLine metadata", async () => {
|
|
80
|
-
const code = [
|
|
81
|
-
"#include <iostream>",
|
|
82
|
-
"",
|
|
83
|
-
"// first function",
|
|
84
|
-
"void first() {}",
|
|
85
|
-
"",
|
|
86
|
-
"// second function",
|
|
87
|
-
"void second() {}",
|
|
88
|
-
].join("\n");
|
|
89
|
-
const chunks = await cppChunker.chunk("lines.cpp", code);
|
|
90
|
-
assert.ok(chunks.length >= 2, "expected at least two chunks");
|
|
91
|
-
const firstFn = chunks.find((c) => c.content.includes("first"));
|
|
92
|
-
assert.ok(firstFn, "should find first() chunk");
|
|
93
|
-
assert.equal(firstFn.metadata.startLine, 4);
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
//# sourceMappingURL=cpp.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cpp.test.js","sourceRoot":"","sources":["../../../src/__tests__/chunker/cpp.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,85 +0,0 @@
|
|
|
1
|
-
import { describe, it } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
import { csharpChunker } from "../../chunker/csharp.js";
|
|
4
|
-
describe("CSharpChunker", () => {
|
|
5
|
-
it("language is 'csharp'", () => {
|
|
6
|
-
assert.equal(csharpChunker.language, "csharp");
|
|
7
|
-
});
|
|
8
|
-
it("fileExtensions includes .cs", () => {
|
|
9
|
-
assert.ok(csharpChunker.fileExtensions.includes(".cs"));
|
|
10
|
-
});
|
|
11
|
-
it("grammarName is 'c_sharp'", () => {
|
|
12
|
-
assert.equal(csharpChunker.grammarName, "c_sharp");
|
|
13
|
-
});
|
|
14
|
-
it("nodeTypes contains expected types", () => {
|
|
15
|
-
const types = csharpChunker.nodeTypes;
|
|
16
|
-
assert.ok(types.has("class_declaration"));
|
|
17
|
-
assert.ok(types.has("interface_declaration"));
|
|
18
|
-
assert.ok(types.has("struct_declaration"));
|
|
19
|
-
assert.ok(types.has("enum_declaration"));
|
|
20
|
-
assert.ok(types.has("method_declaration"));
|
|
21
|
-
assert.ok(types.has("namespace_declaration"));
|
|
22
|
-
assert.ok(types.has("record_declaration"));
|
|
23
|
-
});
|
|
24
|
-
it("chunk returns empty array for empty content", async () => {
|
|
25
|
-
const chunks = await csharpChunker.chunk("test.cs", "");
|
|
26
|
-
assert.deepStrictEqual(chunks, []);
|
|
27
|
-
});
|
|
28
|
-
it("chunk returns empty array for whitespace-only content", async () => {
|
|
29
|
-
const chunks = await csharpChunker.chunk("test.cs", " \n \n ");
|
|
30
|
-
assert.deepStrictEqual(chunks, []);
|
|
31
|
-
});
|
|
32
|
-
it("chunk parses a class declaration", async () => {
|
|
33
|
-
const code = "class Calculator { int Add(int a, int b) { return a + b; } }";
|
|
34
|
-
const chunks = await csharpChunker.chunk("test.cs", code);
|
|
35
|
-
assert.ok(chunks.length > 0, "expected at least one chunk");
|
|
36
|
-
assert.equal(chunks[0].metadata.language, "csharp");
|
|
37
|
-
assert.equal(chunks[0].metadata.filePath, "test.cs");
|
|
38
|
-
assert.ok(chunks[0].content.includes("class Calculator"));
|
|
39
|
-
});
|
|
40
|
-
it("chunk parses an interface declaration", async () => {
|
|
41
|
-
const code = "interface IRepository { void Save(); }";
|
|
42
|
-
const chunks = await csharpChunker.chunk("repo.cs", code);
|
|
43
|
-
assert.ok(chunks.length > 0, "expected at least one chunk");
|
|
44
|
-
assert.ok(chunks.some((c) => c.content.includes("interface IRepository")));
|
|
45
|
-
});
|
|
46
|
-
it("chunk parses an enum declaration", async () => {
|
|
47
|
-
const code = "enum Color { Red, Green, Blue }";
|
|
48
|
-
const chunks = await csharpChunker.chunk("color.cs", code);
|
|
49
|
-
assert.ok(chunks.length > 0, "expected at least one chunk");
|
|
50
|
-
assert.ok(chunks.some((c) => c.content.includes("enum Color")));
|
|
51
|
-
});
|
|
52
|
-
it("chunk parses a namespace declaration", async () => {
|
|
53
|
-
const code = "namespace MyApp.Utils { class Helper {} }";
|
|
54
|
-
const chunks = await csharpChunker.chunk("ns.cs", code);
|
|
55
|
-
assert.ok(chunks.length > 0, "expected at least one chunk");
|
|
56
|
-
assert.ok(chunks.some((c) => c.content.includes("namespace MyApp.Utils")));
|
|
57
|
-
});
|
|
58
|
-
it("chunk generates unique IDs for multiple declarations", async () => {
|
|
59
|
-
const code = [
|
|
60
|
-
"class Foo {}",
|
|
61
|
-
"class Bar {}",
|
|
62
|
-
"class Baz {}",
|
|
63
|
-
].join("\n");
|
|
64
|
-
const chunks = await csharpChunker.chunk("multi.cs", code);
|
|
65
|
-
const ids = new Set(chunks.map((c) => c.id));
|
|
66
|
-
assert.equal(ids.size, chunks.length);
|
|
67
|
-
});
|
|
68
|
-
it("chunk sets correct startLine metadata", async () => {
|
|
69
|
-
const code = [
|
|
70
|
-
"using System;",
|
|
71
|
-
"",
|
|
72
|
-
"// first class",
|
|
73
|
-
"class First {}",
|
|
74
|
-
"",
|
|
75
|
-
"// second class",
|
|
76
|
-
"class Second {}",
|
|
77
|
-
].join("\n");
|
|
78
|
-
const chunks = await csharpChunker.chunk("lines.cs", code);
|
|
79
|
-
assert.ok(chunks.length >= 2, "expected at least two chunks");
|
|
80
|
-
const firstFn = chunks.find((c) => c.content.includes("First"));
|
|
81
|
-
assert.ok(firstFn, "should find First chunk");
|
|
82
|
-
assert.equal(firstFn.metadata.startLine, 4);
|
|
83
|
-
});
|
|
84
|
-
});
|
|
85
|
-
//# sourceMappingURL=csharp.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"csharp.test.js","sourceRoot":"","sources":["../../../src/__tests__/chunker/csharp.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { describe, it } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
import { cssChunker } from "../../chunker/css.js";
|
|
4
|
-
describe("CssChunker", () => {
|
|
5
|
-
it("language is 'css'", () => {
|
|
6
|
-
assert.equal(cssChunker.language, "css");
|
|
7
|
-
});
|
|
8
|
-
it("fileExtensions includes .css", () => {
|
|
9
|
-
assert.ok(cssChunker.fileExtensions.includes(".css"));
|
|
10
|
-
assert.equal(cssChunker.fileExtensions.length, 1);
|
|
11
|
-
});
|
|
12
|
-
it("grammarName is 'css'", () => {
|
|
13
|
-
assert.equal(cssChunker.grammarName, "css");
|
|
14
|
-
});
|
|
15
|
-
it("nodeTypes contains rule_set, at_rule, media_statement, keyframes_statement", () => {
|
|
16
|
-
assert.ok(cssChunker.nodeTypes.has("rule_set"));
|
|
17
|
-
assert.ok(cssChunker.nodeTypes.has("at_rule"));
|
|
18
|
-
assert.ok(cssChunker.nodeTypes.has("media_statement"));
|
|
19
|
-
assert.ok(cssChunker.nodeTypes.has("keyframes_statement"));
|
|
20
|
-
});
|
|
21
|
-
it("chunk returns empty array for empty content", async () => {
|
|
22
|
-
const chunks = await cssChunker.chunk("test.css", "");
|
|
23
|
-
assert.deepStrictEqual(chunks, []);
|
|
24
|
-
});
|
|
25
|
-
it("chunk returns empty array for whitespace-only content", async () => {
|
|
26
|
-
const chunks = await cssChunker.chunk("test.css", " \n ");
|
|
27
|
-
assert.deepStrictEqual(chunks, []);
|
|
28
|
-
});
|
|
29
|
-
it("chunk parses a rule set", async () => {
|
|
30
|
-
const css = ".foo { color: red; }";
|
|
31
|
-
const chunks = await cssChunker.chunk("test.css", css);
|
|
32
|
-
assert.equal(chunks.length, 1);
|
|
33
|
-
assert.ok(chunks[0].content.includes(".foo"));
|
|
34
|
-
});
|
|
35
|
-
it("chunk parses multiple rule sets", async () => {
|
|
36
|
-
const css = ".a { x: 1; }\n.b { y: 2; }";
|
|
37
|
-
const chunks = await cssChunker.chunk("test.css", css);
|
|
38
|
-
assert.equal(chunks.length, 2);
|
|
39
|
-
});
|
|
40
|
-
it("chunk parses an at-rule (keyframes)", async () => {
|
|
41
|
-
const css = "@keyframes slide { from { left: 0; } to { left: 100%; } }";
|
|
42
|
-
const chunks = await cssChunker.chunk("test.css", css);
|
|
43
|
-
assert.equal(chunks.length, 1);
|
|
44
|
-
assert.ok(chunks[0].content.includes("@keyframes"));
|
|
45
|
-
});
|
|
46
|
-
it("chunk parses a media query as media_statement", async () => {
|
|
47
|
-
const css = "@media (max-width: 600px) { body { font-size: 14px; } }";
|
|
48
|
-
const chunks = await cssChunker.chunk("test.css", css);
|
|
49
|
-
assert.equal(chunks.length, 1);
|
|
50
|
-
assert.ok(chunks[0].content.includes("@media"));
|
|
51
|
-
});
|
|
52
|
-
it("chunk generates unique IDs", async () => {
|
|
53
|
-
const css = ".a { x: 1; }\n.b { y: 2; }\n.c { z: 3; }";
|
|
54
|
-
const chunks = await cssChunker.chunk("test.css", css);
|
|
55
|
-
const ids = chunks.map((c) => c.id);
|
|
56
|
-
assert.equal(new Set(ids).size, ids.length);
|
|
57
|
-
});
|
|
58
|
-
it("chunk sets correct startLine metadata", async () => {
|
|
59
|
-
const css = "\n\n.foo { color: red; }";
|
|
60
|
-
const chunks = await cssChunker.chunk("test.css", css);
|
|
61
|
-
assert.equal(chunks[0].metadata.startLine, 3);
|
|
62
|
-
});
|
|
63
|
-
});
|
|
64
|
-
//# sourceMappingURL=css.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"css.test.js","sourceRoot":"","sources":["../../../src/__tests__/chunker/css.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAElD,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,mBAAmB,EAAE,GAAG,EAAE;QAC3B,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC3C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,8BAA8B,EAAE,GAAG,EAAE;QACtC,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,cAAc,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;QACtD,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACpD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,sBAAsB,EAAE,GAAG,EAAE;QAC9B,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4EAA4E,EAAE,GAAG,EAAE;QACpF,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC;QAChD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC;QAC/C,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC,CAAC;QACvD,MAAM,CAAC,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC,CAAC;IAC7D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,6CAA6C,EAAE,KAAK,IAAI,EAAE;QAC3D,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,CAAC;QACtD,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uDAAuD,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAC7D,MAAM,CAAC,eAAe,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACrC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;QACvC,MAAM,GAAG,GAAG,sBAAsB,CAAC;QACnC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,GAAG,GAAG,4BAA4B,CAAC;QACzC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,GAAG,GAAG,2DAA2D,CAAC;QACxE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC;IACvD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,GAAG,GAAG,yDAAyD,CAAC;QACtE,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QAC/B,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;IACnD,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QAC1C,MAAM,GAAG,GAAG,0CAA0C,CAAC;QACvD,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpC,MAAM,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,uCAAuC,EAAE,KAAK,IAAI,EAAE;QACrD,MAAM,GAAG,GAAG,0BAA0B,CAAC;QACvC,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;QACvD,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;IACjD,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,202 +0,0 @@
|
|
|
1
|
-
import { describe, it } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
import { getChunker, chunkFile } from "../../chunker/factory.js";
|
|
4
|
-
describe("getChunker", () => {
|
|
5
|
-
it("returns TypeScript chunker for .ts files", () => {
|
|
6
|
-
const chunker = getChunker("src/app.ts");
|
|
7
|
-
assert.equal(chunker.language, "typescript");
|
|
8
|
-
});
|
|
9
|
-
it("returns TypeScript chunker for .tsx files", () => {
|
|
10
|
-
const chunker = getChunker("src/Component.tsx");
|
|
11
|
-
assert.equal(chunker.language, "typescript");
|
|
12
|
-
});
|
|
13
|
-
it("returns markdown chunker for .md files", () => {
|
|
14
|
-
const chunker = getChunker("readme.md");
|
|
15
|
-
assert.equal(chunker.language, "markdown");
|
|
16
|
-
});
|
|
17
|
-
it("returns Python chunker for .py files", () => {
|
|
18
|
-
const chunker = getChunker("main.py");
|
|
19
|
-
assert.equal(chunker.language, "python");
|
|
20
|
-
});
|
|
21
|
-
it("returns Java chunker for .java files", () => {
|
|
22
|
-
const chunker = getChunker("Main.java");
|
|
23
|
-
assert.equal(chunker.language, "java");
|
|
24
|
-
});
|
|
25
|
-
it("returns Go chunker for .go files", () => {
|
|
26
|
-
const chunker = getChunker("main.go");
|
|
27
|
-
assert.equal(chunker.language, "go");
|
|
28
|
-
});
|
|
29
|
-
it("returns fallback chunker for unknown extensions", () => {
|
|
30
|
-
const chunker = getChunker("script.sh");
|
|
31
|
-
assert.equal(chunker.language, "text");
|
|
32
|
-
});
|
|
33
|
-
it("returns fallback chunker for files without extension", () => {
|
|
34
|
-
const chunker = getChunker("Makefile");
|
|
35
|
-
assert.equal(chunker.language, "text");
|
|
36
|
-
});
|
|
37
|
-
it("handles uppercase extensions", () => {
|
|
38
|
-
const chunker = getChunker("Component.TSX");
|
|
39
|
-
assert.equal(chunker.language, "typescript");
|
|
40
|
-
});
|
|
41
|
-
it("handles paths with dots in directory names", () => {
|
|
42
|
-
const chunker = getChunker("dir.with.dots/app.ts");
|
|
43
|
-
assert.equal(chunker.language, "typescript");
|
|
44
|
-
});
|
|
45
|
-
it("returns C chunker for .c files", () => {
|
|
46
|
-
const chunker = getChunker("main.c");
|
|
47
|
-
assert.equal(chunker.language, "c");
|
|
48
|
-
});
|
|
49
|
-
it("returns C chunker for .h files", () => {
|
|
50
|
-
const chunker = getChunker("header.h");
|
|
51
|
-
assert.equal(chunker.language, "c");
|
|
52
|
-
});
|
|
53
|
-
it("returns C++ chunker for .cpp files", () => {
|
|
54
|
-
const chunker = getChunker("main.cpp");
|
|
55
|
-
assert.equal(chunker.language, "cpp");
|
|
56
|
-
});
|
|
57
|
-
it("returns C++ chunker for .cc files", () => {
|
|
58
|
-
const chunker = getChunker("main.cc");
|
|
59
|
-
assert.equal(chunker.language, "cpp");
|
|
60
|
-
});
|
|
61
|
-
it("returns C# chunker for .cs files", () => {
|
|
62
|
-
const chunker = getChunker("Program.cs");
|
|
63
|
-
assert.equal(chunker.language, "csharp");
|
|
64
|
-
});
|
|
65
|
-
it("returns JavaScript chunker for .js files", () => {
|
|
66
|
-
const chunker = getChunker("app.js");
|
|
67
|
-
assert.equal(chunker.language, "javascript");
|
|
68
|
-
});
|
|
69
|
-
it("returns JavaScript chunker for .jsx files", () => {
|
|
70
|
-
const chunker = getChunker("Component.jsx");
|
|
71
|
-
assert.equal(chunker.language, "javascript");
|
|
72
|
-
});
|
|
73
|
-
it("returns JavaScript chunker for .mjs files", () => {
|
|
74
|
-
const chunker = getChunker("module.mjs");
|
|
75
|
-
assert.equal(chunker.language, "javascript");
|
|
76
|
-
});
|
|
77
|
-
it("returns Razor chunker for .razor files", () => {
|
|
78
|
-
const chunker = getChunker("Component.razor");
|
|
79
|
-
assert.equal(chunker.language, "razor");
|
|
80
|
-
});
|
|
81
|
-
it("returns Razor chunker for .cshtml files", () => {
|
|
82
|
-
const chunker = getChunker("view.cshtml");
|
|
83
|
-
assert.equal(chunker.language, "razor");
|
|
84
|
-
});
|
|
85
|
-
it("returns JSON chunker for .json files", () => {
|
|
86
|
-
const chunker = getChunker("package.json");
|
|
87
|
-
assert.equal(chunker.language, "json");
|
|
88
|
-
});
|
|
89
|
-
it("returns HTML chunker for .html files", () => {
|
|
90
|
-
const chunker = getChunker("index.html");
|
|
91
|
-
assert.equal(chunker.language, "html");
|
|
92
|
-
});
|
|
93
|
-
it("returns HTML chunker for .htm files", () => {
|
|
94
|
-
const chunker = getChunker("page.htm");
|
|
95
|
-
assert.equal(chunker.language, "html");
|
|
96
|
-
});
|
|
97
|
-
it("returns CSS chunker for .css files", () => {
|
|
98
|
-
const chunker = getChunker("styles.css");
|
|
99
|
-
assert.equal(chunker.language, "css");
|
|
100
|
-
});
|
|
101
|
-
it("returns XML chunker for .csproj files", () => {
|
|
102
|
-
const chunker = getChunker("MyProject.csproj");
|
|
103
|
-
assert.equal(chunker.language, "xml");
|
|
104
|
-
});
|
|
105
|
-
it("returns XML chunker for .xml files", () => {
|
|
106
|
-
const chunker = getChunker("config.xml");
|
|
107
|
-
assert.equal(chunker.language, "xml");
|
|
108
|
-
});
|
|
109
|
-
it("returns SLN chunker for .sln files", () => {
|
|
110
|
-
const chunker = getChunker("MySolution.sln");
|
|
111
|
-
assert.equal(chunker.language, "sln");
|
|
112
|
-
});
|
|
113
|
-
it("returns Rust chunker for .rs files", () => {
|
|
114
|
-
const chunker = getChunker("main.rs");
|
|
115
|
-
assert.equal(chunker.language, "rust");
|
|
116
|
-
});
|
|
117
|
-
it("returns Ruby chunker for .rb files", () => {
|
|
118
|
-
const chunker = getChunker("app.rb");
|
|
119
|
-
assert.equal(chunker.language, "ruby");
|
|
120
|
-
});
|
|
121
|
-
it("returns Kotlin chunker for .kt files", () => {
|
|
122
|
-
const chunker = getChunker("main.kt");
|
|
123
|
-
assert.equal(chunker.language, "kotlin");
|
|
124
|
-
});
|
|
125
|
-
it("returns Kotlin chunker for .kts files", () => {
|
|
126
|
-
const chunker = getChunker("script.kts");
|
|
127
|
-
assert.equal(chunker.language, "kotlin");
|
|
128
|
-
});
|
|
129
|
-
it("returns Swift chunker for .swift files", () => {
|
|
130
|
-
const chunker = getChunker("main.swift");
|
|
131
|
-
assert.equal(chunker.language, "swift");
|
|
132
|
-
});
|
|
133
|
-
});
|
|
134
|
-
describe("chunkFile fallback", () => {
|
|
135
|
-
it("falls back to line-based chunking when primary chunker returns 0 chunks", async () => {
|
|
136
|
-
const code = "let x = 1;";
|
|
137
|
-
const chunks = await chunkFile("test.ts", code);
|
|
138
|
-
assert.ok(chunks.length > 0, "expected fallback to produce at least one chunk");
|
|
139
|
-
});
|
|
140
|
-
it("does not double-fallback when fallback itself returns 0 chunks", async () => {
|
|
141
|
-
const chunks = await chunkFile("empty.ts", "");
|
|
142
|
-
assert.deepStrictEqual(chunks, []);
|
|
143
|
-
});
|
|
144
|
-
});
|
|
145
|
-
describe("chunkFile oversize splitting", () => {
|
|
146
|
-
it("splits oversized JSON pair into sub-chunks <= 100 lines", async () => {
|
|
147
|
-
const entries = [];
|
|
148
|
-
for (let i = 0; i < 50; i++) {
|
|
149
|
-
entries.push(` "dep-${String(i).padStart(3, "0")}": {\n` +
|
|
150
|
-
` "version": "${i}.0.0",\n` +
|
|
151
|
-
` "resolved": "https://registry.example.com/dep-${i}/-/${i}.0.0.tgz",\n` +
|
|
152
|
-
` "integrity": "sha512-${"a".repeat(40)}"\n` +
|
|
153
|
-
` }`);
|
|
154
|
-
}
|
|
155
|
-
const content = `{\n "packages": {\n${entries.join(",\n")}\n }\n}`;
|
|
156
|
-
const chunks = await chunkFile("large.json", content);
|
|
157
|
-
assert.ok(chunks.length > 1, "expected multiple chunks from oversized file");
|
|
158
|
-
for (const chunk of chunks) {
|
|
159
|
-
assert.equal(chunk.metadata.language, "json", `chunk language should be json, got ${chunk.metadata.language}`);
|
|
160
|
-
const lineCount = chunk.content.split("\n").length;
|
|
161
|
-
assert.ok(lineCount <= 100, `chunk has ${lineCount} lines, expected <= 100`);
|
|
162
|
-
}
|
|
163
|
-
});
|
|
164
|
-
it("splits oversized chunk on char limit even when lines are few", async () => {
|
|
165
|
-
const longLine = "x".repeat(200);
|
|
166
|
-
const lines = [];
|
|
167
|
-
for (let i = 0; i < 60; i++) {
|
|
168
|
-
lines.push(longLine);
|
|
169
|
-
}
|
|
170
|
-
const chunks = await chunkFile("wide.txt", lines.join("\n"));
|
|
171
|
-
assert.ok(chunks.length > 1, "expected character-limit to split into multiple chunks");
|
|
172
|
-
for (const chunk of chunks) {
|
|
173
|
-
assert.equal(chunk.metadata.language, "text");
|
|
174
|
-
assert.ok(chunk.content.length <= 8000, `chunk has ${chunk.content.length} chars, expected <= 8000`);
|
|
175
|
-
}
|
|
176
|
-
});
|
|
177
|
-
it("preserves all original content across sub-chunks", async () => {
|
|
178
|
-
const lines = [];
|
|
179
|
-
for (let i = 0; i < 150; i++) {
|
|
180
|
-
lines.push(`line-${String(i).padStart(4, "0")}`);
|
|
181
|
-
}
|
|
182
|
-
const content = lines.join("\n");
|
|
183
|
-
const chunks = await chunkFile("lines.txt", content);
|
|
184
|
-
const combined = chunks.map((c) => c.content).join("\n");
|
|
185
|
-
assert.equal(combined, content, "combined sub-chunk content must equal original");
|
|
186
|
-
});
|
|
187
|
-
it("preserves line number metadata after splitting", async () => {
|
|
188
|
-
const lines = [];
|
|
189
|
-
for (let i = 0; i < 150; i++) {
|
|
190
|
-
lines.push(`line-${String(i).padStart(4, "0")}`);
|
|
191
|
-
}
|
|
192
|
-
const content = lines.join("\n");
|
|
193
|
-
const chunks = await chunkFile("lines.txt", content);
|
|
194
|
-
assert.ok(chunks.length > 1);
|
|
195
|
-
let expectedLine = 1;
|
|
196
|
-
for (const chunk of chunks) {
|
|
197
|
-
assert.equal(chunk.metadata.startLine, expectedLine);
|
|
198
|
-
expectedLine += chunk.content.split("\n").length;
|
|
199
|
-
}
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
//# sourceMappingURL=factory.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"factory.test.js","sourceRoot":"","sources":["../../../src/__tests__/chunker/factory.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
import { describe, it } from "node:test";
|
|
2
|
-
import assert from "node:assert/strict";
|
|
3
|
-
import { FallbackChunker } from "../../chunker/fallback.js";
|
|
4
|
-
describe("FallbackChunker", () => {
|
|
5
|
-
it("returns empty array for empty content", async () => {
|
|
6
|
-
const chunker = new FallbackChunker();
|
|
7
|
-
const chunks = await chunker.chunk("test.txt", "");
|
|
8
|
-
assert.deepStrictEqual(chunks, []);
|
|
9
|
-
});
|
|
10
|
-
it("returns empty array for whitespace-only content", async () => {
|
|
11
|
-
const chunker = new FallbackChunker();
|
|
12
|
-
const chunks = await chunker.chunk("test.txt", " \n \n ");
|
|
13
|
-
assert.deepStrictEqual(chunks, []);
|
|
14
|
-
});
|
|
15
|
-
it("splits content by maxLines", async () => {
|
|
16
|
-
const chunker = new FallbackChunker(3);
|
|
17
|
-
const lines = ["line 1", "line 2", "line 3", "line 4", "line 5"];
|
|
18
|
-
const chunks = await chunker.chunk("test.txt", lines.join("\n"));
|
|
19
|
-
assert.equal(chunks.length, 2);
|
|
20
|
-
assert.equal(chunks[0].metadata.startLine, 1);
|
|
21
|
-
assert.equal(chunks[0].metadata.endLine, 3);
|
|
22
|
-
assert.equal(chunks[1].metadata.startLine, 4);
|
|
23
|
-
assert.equal(chunks[1].metadata.endLine, 5);
|
|
24
|
-
});
|
|
25
|
-
it("creates single chunk for content under maxLines", async () => {
|
|
26
|
-
const chunker = new FallbackChunker(100);
|
|
27
|
-
const chunks = await chunker.chunk("test.txt", "single line");
|
|
28
|
-
assert.equal(chunks.length, 1);
|
|
29
|
-
assert.equal(chunks[0].metadata.startLine, 1);
|
|
30
|
-
assert.equal(chunks[0].metadata.endLine, 1);
|
|
31
|
-
});
|
|
32
|
-
it("sets correct filePath and language metadata", async () => {
|
|
33
|
-
const chunker = new FallbackChunker();
|
|
34
|
-
const chunks = await chunker.chunk("/path/to/file.txt", "content");
|
|
35
|
-
assert.equal(chunks[0].metadata.filePath, "/path/to/file.txt");
|
|
36
|
-
assert.equal(chunks[0].metadata.language, "text");
|
|
37
|
-
});
|
|
38
|
-
it("generates unique id for each chunk", async () => {
|
|
39
|
-
const chunker = new FallbackChunker(1);
|
|
40
|
-
const chunks = await chunker.chunk("test.txt", "a\nb\nc");
|
|
41
|
-
assert.equal(chunks.length, 3);
|
|
42
|
-
const ids = new Set(chunks.map((c) => c.id));
|
|
43
|
-
assert.equal(ids.size, 3);
|
|
44
|
-
});
|
|
45
|
-
it("uses default maxLines of 100", async () => {
|
|
46
|
-
const chunker = new FallbackChunker();
|
|
47
|
-
const lines = Array.from({ length: 150 }, (_, i) => `line ${i + 1}`);
|
|
48
|
-
const chunks = await chunker.chunk("test.txt", lines.join("\n"));
|
|
49
|
-
assert.equal(chunks.length, 2);
|
|
50
|
-
assert.equal(chunks[0].metadata.endLine, 100);
|
|
51
|
-
assert.equal(chunks[1].metadata.startLine, 101);
|
|
52
|
-
assert.equal(chunks[1].metadata.endLine, 150);
|
|
53
|
-
});
|
|
54
|
-
it("skips empty chunks from whitespace-only lines", async () => {
|
|
55
|
-
const chunker = new FallbackChunker(5);
|
|
56
|
-
const content = "line 1\n\n\n\n\nline 6\n\n\n\n\nline 11";
|
|
57
|
-
const chunks = await chunker.chunk("test.txt", content);
|
|
58
|
-
// 11 lines total, chunks of 5: lines 1-5 (trimmed keeps only "line 1"),
|
|
59
|
-
// lines 6-10 (trimmed keeps only "line 6"), lines 11-11 (trimmed keeps "line 11")
|
|
60
|
-
assert.equal(chunks.length, 3);
|
|
61
|
-
});
|
|
62
|
-
it("language property returns 'text'", () => {
|
|
63
|
-
const chunker = new FallbackChunker();
|
|
64
|
-
assert.equal(chunker.language, "text");
|
|
65
|
-
});
|
|
66
|
-
});
|
|
67
|
-
//# sourceMappingURL=fallback.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fallback.test.js","sourceRoot":"","sources":["../../../src/__tests__/chunker/fallback.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|