@polka-codes/cli 0.1.0 → 0.1.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 +63 -0
- package/dist/config.d.ts +1 -0
- package/dist/config.d.ts.map +1 -0
- package/dist/config.js +22 -18
- package/dist/config.js.map +1 -1
- package/dist/config.test.d.ts +1 -0
- package/dist/config.test.d.ts.map +1 -0
- package/dist/config.test.js +41 -39
- package/dist/config.test.js.map +1 -1
- package/dist/handlers.d.ts +1 -0
- package/dist/handlers.d.ts.map +1 -0
- package/dist/handlers.js +59 -40
- package/dist/handlers.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +11 -10
- package/dist/index.js.map +1 -1
- package/dist/runTask.d.ts +1 -0
- package/dist/runTask.d.ts.map +1 -0
- package/dist/runTask.js +18 -13
- package/dist/runTask.js.map +1 -1
- package/dist/utils/listFiles.d.ts +1 -0
- package/dist/utils/listFiles.d.ts.map +1 -0
- package/dist/utils/listFiles.js +16 -12
- package/dist/utils/listFiles.js.map +1 -1
- package/dist/utils/listFiles.test.d.ts +1 -0
- package/dist/utils/listFiles.test.d.ts.map +1 -0
- package/dist/utils/listFiles.test.js +39 -37
- package/dist/utils/listFiles.test.js.map +1 -1
- package/dist/utils/replaceInFile.d.ts +1 -0
- package/dist/utils/replaceInFile.d.ts.map +1 -0
- package/dist/utils/replaceInFile.js +5 -1
- package/dist/utils/replaceInFile.js.map +1 -1
- package/dist/utils/replaceInFile.test.d.ts +1 -0
- package/dist/utils/replaceInFile.test.d.ts.map +1 -0
- package/dist/utils/replaceInFile.test.js +23 -21
- package/dist/utils/replaceInFile.test.js.map +1 -1
- package/package.json +2 -2
- package/dist/listFiles.d.ts +0 -11
- package/dist/listFiles.js +0 -100
- package/dist/listFiles.js.map +0 -1
- package/dist/listFiles.test.d.ts +0 -1
- package/dist/listFiles.test.js +0 -49
- package/dist/listFiles.test.js.map +0 -1
- package/dist/replaceInFile.d.ts +0 -1
- package/dist/replaceInFile.js +0 -85
- package/dist/replaceInFile.js.map +0 -1
- package/dist/replaceInFile.test.d.ts +0 -1
- package/dist/replaceInFile.test.js +0 -90
- package/dist/replaceInFile.test.js.map +0 -1
package/dist/runTask.d.ts
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"runTask.d.ts","sourceRoot":"","sources":["../src/runTask.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAA;AAItC,MAAM,MAAM,cAAc,GAAG;IAC3B,IAAI,EAAE,MAAM,CAAA;IACZ,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;CACf,CAAA;AAID,eAAO,MAAM,OAAO,YAAmB,cAAc,kBA8GpD,CAAA"}
|
package/dist/runTask.js
CHANGED
|
@@ -1,13 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
const
|
|
6
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.runTask = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const node_os_1 = tslib_1.__importDefault(require("node:os"));
|
|
6
|
+
const core_1 = require("@polka-codes/core");
|
|
7
|
+
const handlers_1 = require("./handlers");
|
|
8
|
+
const listFiles_1 = require("./utils/listFiles");
|
|
9
|
+
const logger = (0, core_1.createServiceLogger)('cli/runTask');
|
|
10
|
+
const runTask = async (options) => {
|
|
7
11
|
logger.debug(options, 'Running task');
|
|
8
12
|
const { task, provider, model, apiKey, config } = options;
|
|
9
13
|
// Create service with the configured options
|
|
10
|
-
const service = createService(provider, {
|
|
14
|
+
const service = (0, core_1.createService)(provider, {
|
|
11
15
|
apiKey,
|
|
12
16
|
modelId: model,
|
|
13
17
|
});
|
|
@@ -15,12 +19,12 @@ export const runTask = async (options) => {
|
|
|
15
19
|
if (typeof rules === 'string') {
|
|
16
20
|
rules = [rules];
|
|
17
21
|
}
|
|
18
|
-
const agent = new CoderAgent({
|
|
22
|
+
const agent = new core_1.CoderAgent({
|
|
19
23
|
ai: service,
|
|
20
|
-
os:
|
|
24
|
+
os: node_os_1.default.platform(),
|
|
21
25
|
customInstructions: rules,
|
|
22
26
|
commands: config.commands,
|
|
23
|
-
toolHandler: getToolHandler({
|
|
27
|
+
toolHandler: (0, handlers_1.getToolHandler)({
|
|
24
28
|
executeCommand: {
|
|
25
29
|
async shouldExecute(command) {
|
|
26
30
|
// TODO: command whitelist
|
|
@@ -46,10 +50,10 @@ export const runTask = async (options) => {
|
|
|
46
50
|
}),
|
|
47
51
|
});
|
|
48
52
|
const cwd = process.cwd();
|
|
49
|
-
const [fileList, limited] = await listFiles(cwd, true, 100, cwd);
|
|
53
|
+
const [fileList, limited] = await (0, listFiles_1.listFiles)(cwd, true, 100, cwd);
|
|
50
54
|
const fileContext = `<files>
|
|
51
|
-
|
|
52
|
-
|
|
55
|
+
${fileList.join('\n')}${limited ? '\n<files_truncated>true</files_truncated>' : ''}
|
|
56
|
+
</files>`;
|
|
53
57
|
const usage = {
|
|
54
58
|
inputTokens: 0,
|
|
55
59
|
outputTokens: 0,
|
|
@@ -104,4 +108,5 @@ export const runTask = async (options) => {
|
|
|
104
108
|
console.log(`Cache write tokens: ${usage.cacheWriteTokens}`);
|
|
105
109
|
console.log(`Total cost: ${usage.totalCost}`);
|
|
106
110
|
};
|
|
111
|
+
exports.runTask = runTask;
|
|
107
112
|
//# sourceMappingURL=runTask.js.map
|
package/dist/runTask.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runTask.js","sourceRoot":"","sources":["../src/runTask.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"runTask.js","sourceRoot":"","sources":["../src/runTask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listFiles.d.ts","sourceRoot":"","sources":["../../src/utils/listFiles.ts"],"names":[],"mappings":"AA0CA;;;;;;;;;GASG;AACH,wBAAsB,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE,OAAO,CAAC,CAAC,CAwDhI"}
|
package/dist/utils/listFiles.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.listFiles = listFiles;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const node_fs_1 = require("node:fs");
|
|
6
|
+
const node_path_1 = require("node:path");
|
|
7
|
+
const ignore_1 = tslib_1.__importDefault(require("ignore"));
|
|
4
8
|
/** Default patterns commonly ignored in projects of various languages. */
|
|
5
9
|
const DEFAULT_IGNORES = [
|
|
6
10
|
'__pycache__',
|
|
@@ -23,8 +27,8 @@ const DEFAULT_IGNORES = [
|
|
|
23
27
|
*/
|
|
24
28
|
async function extendPatterns(basePatterns, dirPath) {
|
|
25
29
|
try {
|
|
26
|
-
const gitignorePath = join(dirPath, '.gitignore');
|
|
27
|
-
const content = await
|
|
30
|
+
const gitignorePath = (0, node_path_1.join)(dirPath, '.gitignore');
|
|
31
|
+
const content = await node_fs_1.promises.readFile(gitignorePath, 'utf8');
|
|
28
32
|
const lines = content.split(/\r?\n/).filter(Boolean);
|
|
29
33
|
return [...basePatterns, ...lines];
|
|
30
34
|
}
|
|
@@ -35,7 +39,7 @@ async function extendPatterns(basePatterns, dirPath) {
|
|
|
35
39
|
}
|
|
36
40
|
/** Creates an `ignore` instance from the given patterns. */
|
|
37
41
|
function createIgnore(patterns) {
|
|
38
|
-
return
|
|
42
|
+
return (0, ignore_1.default)().add(patterns);
|
|
39
43
|
}
|
|
40
44
|
/**
|
|
41
45
|
* Lists files under `dirPath` in BFS order, respecting:
|
|
@@ -47,11 +51,11 @@ function createIgnore(patterns) {
|
|
|
47
51
|
* - `files` is the array of file paths (relative to `cwd`)
|
|
48
52
|
* - `limitReached` is `true` if `maxCount` was hit, otherwise `false`
|
|
49
53
|
*/
|
|
50
|
-
|
|
54
|
+
async function listFiles(dirPath, recursive, maxCount, cwd) {
|
|
51
55
|
// Merge default ignores with root .gitignore (if found)
|
|
52
56
|
let rootPatterns = [...DEFAULT_IGNORES];
|
|
53
57
|
try {
|
|
54
|
-
const rootGitignore = await
|
|
58
|
+
const rootGitignore = await node_fs_1.promises.readFile((0, node_path_1.join)(cwd, '.gitignore'), 'utf8');
|
|
55
59
|
const lines = rootGitignore.split(/\r?\n/).filter(Boolean);
|
|
56
60
|
rootPatterns = [...rootPatterns, ...lines];
|
|
57
61
|
}
|
|
@@ -62,7 +66,7 @@ export async function listFiles(dirPath, recursive, maxCount, cwd) {
|
|
|
62
66
|
const results = [];
|
|
63
67
|
// BFS queue
|
|
64
68
|
// Each entry holds the directory path and the patterns inherited from its parent
|
|
65
|
-
const queue = [{ path: resolve(dirPath), patterns: rootPatterns }];
|
|
69
|
+
const queue = [{ path: (0, node_path_1.resolve)(dirPath), patterns: rootPatterns }];
|
|
66
70
|
// Perform BFS until queue is empty or maxCount is reached
|
|
67
71
|
while (queue.length > 0) {
|
|
68
72
|
// biome-ignore lint/style/noNonNullAssertion: checked above
|
|
@@ -70,11 +74,11 @@ export async function listFiles(dirPath, recursive, maxCount, cwd) {
|
|
|
70
74
|
// Merge parent's patterns with local .gitignore
|
|
71
75
|
const mergedPatterns = await extendPatterns(parentPatterns, currentPath);
|
|
72
76
|
const folderIg = createIgnore(mergedPatterns);
|
|
73
|
-
const entries = await
|
|
77
|
+
const entries = await node_fs_1.promises.readdir(currentPath, { withFileTypes: true });
|
|
74
78
|
for (const entry of entries) {
|
|
75
|
-
const fullPath = join(currentPath, entry.name);
|
|
79
|
+
const fullPath = (0, node_path_1.join)(currentPath, entry.name);
|
|
76
80
|
// Convert full path to something relative to `cwd`
|
|
77
|
-
const relPath = relative(cwd, fullPath).replace(/\\/g, '/');
|
|
81
|
+
const relPath = (0, node_path_1.relative)(cwd, fullPath).replace(/\\/g, '/');
|
|
78
82
|
if (folderIg.ignores(relPath)) {
|
|
79
83
|
continue; // Skip ignored entries
|
|
80
84
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listFiles.js","sourceRoot":"","sources":["../../src/utils/listFiles.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"listFiles.js","sourceRoot":"","sources":["../../src/utils/listFiles.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listFiles.test.d.ts","sourceRoot":"","sources":["../../src/utils/listFiles.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,49 +1,51 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const node_fs_1 = require("node:fs");
|
|
5
|
+
const node_path_1 = require("node:path");
|
|
6
|
+
const listFiles_1 = require("./listFiles");
|
|
7
|
+
(0, bun_test_1.describe)('listFiles', () => {
|
|
8
|
+
const testDir = (0, node_path_1.join)(__dirname, 'test-fixtures');
|
|
9
|
+
(0, bun_test_1.beforeAll)(async () => {
|
|
8
10
|
// Create test directory structure
|
|
9
|
-
await
|
|
10
|
-
await
|
|
11
|
-
await
|
|
12
|
-
await
|
|
13
|
-
await
|
|
11
|
+
await node_fs_1.promises.mkdir(testDir, { recursive: true });
|
|
12
|
+
await node_fs_1.promises.writeFile((0, node_path_1.join)(testDir, '.gitignore'), 'ignored.txt\nsubdir/ignored-too.txt');
|
|
13
|
+
await node_fs_1.promises.writeFile((0, node_path_1.join)(testDir, 'file1.txt'), '');
|
|
14
|
+
await node_fs_1.promises.writeFile((0, node_path_1.join)(testDir, 'file2.txt'), '');
|
|
15
|
+
await node_fs_1.promises.writeFile((0, node_path_1.join)(testDir, 'ignored.txt'), '');
|
|
14
16
|
// Create subdirectory
|
|
15
|
-
const subDir = join(testDir, 'subdir');
|
|
16
|
-
await
|
|
17
|
-
await
|
|
18
|
-
await
|
|
17
|
+
const subDir = (0, node_path_1.join)(testDir, 'subdir');
|
|
18
|
+
await node_fs_1.promises.mkdir(subDir);
|
|
19
|
+
await node_fs_1.promises.writeFile((0, node_path_1.join)(subDir, 'file3.txt'), '');
|
|
20
|
+
await node_fs_1.promises.writeFile((0, node_path_1.join)(subDir, 'ignored-too.txt'), '');
|
|
19
21
|
});
|
|
20
|
-
afterAll(async () => {
|
|
22
|
+
(0, bun_test_1.afterAll)(async () => {
|
|
21
23
|
// Clean up test directory
|
|
22
|
-
await
|
|
24
|
+
await node_fs_1.promises.rm(testDir, { recursive: true, force: true });
|
|
23
25
|
});
|
|
24
|
-
it('should list files in directory', async () => {
|
|
25
|
-
const [files] = await listFiles(testDir, false, 10, testDir);
|
|
26
|
-
expect(files).toEqual(['.gitignore', 'file1.txt', 'file2.txt']);
|
|
26
|
+
(0, bun_test_1.it)('should list files in directory', async () => {
|
|
27
|
+
const [files] = await (0, listFiles_1.listFiles)(testDir, false, 10, testDir);
|
|
28
|
+
(0, bun_test_1.expect)(files).toEqual(['.gitignore', 'file1.txt', 'file2.txt']);
|
|
27
29
|
});
|
|
28
|
-
it('should list files recursively', async () => {
|
|
29
|
-
const [files] = await listFiles(testDir, true, 10, testDir);
|
|
30
|
-
expect(files).toEqual(['.gitignore', 'file1.txt', 'file2.txt', 'subdir/file3.txt']);
|
|
30
|
+
(0, bun_test_1.it)('should list files recursively', async () => {
|
|
31
|
+
const [files] = await (0, listFiles_1.listFiles)(testDir, true, 10, testDir);
|
|
32
|
+
(0, bun_test_1.expect)(files).toEqual(['.gitignore', 'file1.txt', 'file2.txt', 'subdir/file3.txt']);
|
|
31
33
|
});
|
|
32
|
-
it('should respect maxCount', async () => {
|
|
33
|
-
const [files, limitReached] = await listFiles(testDir, true, 3, testDir);
|
|
34
|
-
expect(files.length).toBe(3);
|
|
35
|
-
expect(limitReached).toBe(true);
|
|
36
|
-
expect(files).toEqual(['.gitignore', 'file1.txt', 'file2.txt']);
|
|
34
|
+
(0, bun_test_1.it)('should respect maxCount', async () => {
|
|
35
|
+
const [files, limitReached] = await (0, listFiles_1.listFiles)(testDir, true, 3, testDir);
|
|
36
|
+
(0, bun_test_1.expect)(files.length).toBe(3);
|
|
37
|
+
(0, bun_test_1.expect)(limitReached).toBe(true);
|
|
38
|
+
(0, bun_test_1.expect)(files).toEqual(['.gitignore', 'file1.txt', 'file2.txt']);
|
|
37
39
|
});
|
|
38
|
-
it('should handle empty directory', async () => {
|
|
39
|
-
const emptyDir = join(testDir, 'empty');
|
|
40
|
-
await
|
|
41
|
-
const [files] = await listFiles(emptyDir, true, 10, emptyDir);
|
|
42
|
-
expect(files).toEqual([]);
|
|
43
|
-
await
|
|
40
|
+
(0, bun_test_1.it)('should handle empty directory', async () => {
|
|
41
|
+
const emptyDir = (0, node_path_1.join)(testDir, 'empty');
|
|
42
|
+
await node_fs_1.promises.mkdir(emptyDir);
|
|
43
|
+
const [files] = await (0, listFiles_1.listFiles)(emptyDir, true, 10, emptyDir);
|
|
44
|
+
(0, bun_test_1.expect)(files).toEqual([]);
|
|
45
|
+
await node_fs_1.promises.rm(emptyDir, { recursive: true });
|
|
44
46
|
});
|
|
45
|
-
it('should handle non-existent directory', async () => {
|
|
46
|
-
expect(listFiles(join(testDir, 'nonexistent'), false, 10, testDir)).rejects.toThrow();
|
|
47
|
+
(0, bun_test_1.it)('should handle non-existent directory', async () => {
|
|
48
|
+
(0, bun_test_1.expect)((0, listFiles_1.listFiles)((0, node_path_1.join)(testDir, 'nonexistent'), false, 10, testDir)).rejects.toThrow();
|
|
47
49
|
});
|
|
48
50
|
});
|
|
49
51
|
//# sourceMappingURL=listFiles.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listFiles.test.js","sourceRoot":"","sources":["../../src/utils/listFiles.test.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"listFiles.test.js","sourceRoot":"","sources":["../../src/utils/listFiles.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceInFile.d.ts","sourceRoot":"","sources":["../../src/utils/replaceInFile.ts"],"names":[],"mappings":"AAQA,eAAO,MAAM,aAAa,gBAAuB,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,MAAM,CAoFrF,CAAA"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
"use strict";
|
|
1
2
|
/* Example diff block format:
|
|
2
3
|
<<<<<<< SEARCH
|
|
3
4
|
// original text
|
|
@@ -5,7 +6,9 @@
|
|
|
5
6
|
// replacement text
|
|
6
7
|
>>>>>>> REPLACE
|
|
7
8
|
*/
|
|
8
|
-
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.replaceInFile = void 0;
|
|
11
|
+
const replaceInFile = async (fileContent, diff) => {
|
|
9
12
|
// Regex to match blocks of the form:
|
|
10
13
|
// <<<<<<< SEARCH
|
|
11
14
|
// (some lines)
|
|
@@ -82,4 +85,5 @@ export const replaceInFile = async (fileContent, diff) => {
|
|
|
82
85
|
}
|
|
83
86
|
return updatedFile;
|
|
84
87
|
};
|
|
88
|
+
exports.replaceInFile = replaceInFile;
|
|
85
89
|
//# sourceMappingURL=replaceInFile.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceInFile.js","sourceRoot":"","sources":["../../src/utils/replaceInFile.ts"],"names":[],"mappings":"AAAA;;;;;;EAME
|
|
1
|
+
{"version":3,"file":"replaceInFile.js","sourceRoot":"","sources":["../../src/utils/replaceInFile.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"replaceInFile.test.d.ts","sourceRoot":"","sources":["../../src/utils/replaceInFile.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const bun_test_1 = require("bun:test");
|
|
4
|
+
const replaceInFile_1 = require("./replaceInFile");
|
|
5
|
+
(0, bun_test_1.describe)('replaceInFile', () => {
|
|
6
|
+
(0, bun_test_1.it)('should perform basic single replacement', async () => {
|
|
5
7
|
const content = `line1
|
|
6
8
|
line2
|
|
7
9
|
line3`;
|
|
@@ -10,12 +12,12 @@ line2
|
|
|
10
12
|
=======
|
|
11
13
|
new line2
|
|
12
14
|
>>>>>>> REPLACE`;
|
|
13
|
-
const result = await replaceInFile(content, diff);
|
|
14
|
-
expect(result).toBe(`line1
|
|
15
|
+
const result = await (0, replaceInFile_1.replaceInFile)(content, diff);
|
|
16
|
+
(0, bun_test_1.expect)(result).toBe(`line1
|
|
15
17
|
new line2
|
|
16
18
|
line3`);
|
|
17
19
|
});
|
|
18
|
-
it('should handle multiple replacements', async () => {
|
|
20
|
+
(0, bun_test_1.it)('should handle multiple replacements', async () => {
|
|
19
21
|
const content = `line1
|
|
20
22
|
line2
|
|
21
23
|
line3
|
|
@@ -30,13 +32,13 @@ line3
|
|
|
30
32
|
=======
|
|
31
33
|
new line3
|
|
32
34
|
>>>>>>> REPLACE`;
|
|
33
|
-
const result = await replaceInFile(content, diff);
|
|
34
|
-
expect(result).toBe(`line1
|
|
35
|
+
const result = await (0, replaceInFile_1.replaceInFile)(content, diff);
|
|
36
|
+
(0, bun_test_1.expect)(result).toBe(`line1
|
|
35
37
|
new line2
|
|
36
38
|
new line3
|
|
37
39
|
line2`);
|
|
38
40
|
});
|
|
39
|
-
it('should handle whitespace variations', async () => {
|
|
41
|
+
(0, bun_test_1.it)('should handle whitespace variations', async () => {
|
|
40
42
|
const content = `line1
|
|
41
43
|
line2
|
|
42
44
|
line3`;
|
|
@@ -45,18 +47,18 @@ line2
|
|
|
45
47
|
=======
|
|
46
48
|
new line2
|
|
47
49
|
>>>>>>> REPLACE`;
|
|
48
|
-
const result = await replaceInFile(content, diff);
|
|
49
|
-
expect(result).toBe(`line1
|
|
50
|
+
const result = await (0, replaceInFile_1.replaceInFile)(content, diff);
|
|
51
|
+
(0, bun_test_1.expect)(result).toBe(`line1
|
|
50
52
|
new line2
|
|
51
53
|
line3`);
|
|
52
54
|
});
|
|
53
|
-
it('should throw error when no blocks found', async () => {
|
|
55
|
+
(0, bun_test_1.it)('should throw error when no blocks found', async () => {
|
|
54
56
|
const content = `line1
|
|
55
57
|
line2`;
|
|
56
58
|
const diff = 'invalid format';
|
|
57
|
-
expect(replaceInFile(content, diff)).rejects.toThrow('No valid diff blocks found');
|
|
59
|
+
(0, bun_test_1.expect)((0, replaceInFile_1.replaceInFile)(content, diff)).rejects.toThrow('No valid diff blocks found');
|
|
58
60
|
});
|
|
59
|
-
it('should throw error when search text not found', async () => {
|
|
61
|
+
(0, bun_test_1.it)('should throw error when search text not found', async () => {
|
|
60
62
|
const content = `line1
|
|
61
63
|
line2`;
|
|
62
64
|
const diff = `<<<<<<< SEARCH
|
|
@@ -64,26 +66,26 @@ line3
|
|
|
64
66
|
=======
|
|
65
67
|
new line3
|
|
66
68
|
>>>>>>> REPLACE`;
|
|
67
|
-
expect(replaceInFile(content, diff)).rejects.toThrow('Could not find the following text in file');
|
|
69
|
+
(0, bun_test_1.expect)((0, replaceInFile_1.replaceInFile)(content, diff)).rejects.toThrow('Could not find the following text in file');
|
|
68
70
|
});
|
|
69
|
-
it('should handle empty file', async () => {
|
|
71
|
+
(0, bun_test_1.it)('should handle empty file', async () => {
|
|
70
72
|
const content = '';
|
|
71
73
|
const diff = `<<<<<<< SEARCH
|
|
72
74
|
line1
|
|
73
75
|
=======
|
|
74
76
|
new line1
|
|
75
77
|
>>>>>>> REPLACE`;
|
|
76
|
-
expect(replaceInFile(content, diff)).rejects.toThrow('Could not find the following text in file');
|
|
78
|
+
(0, bun_test_1.expect)((0, replaceInFile_1.replaceInFile)(content, diff)).rejects.toThrow('Could not find the following text in file');
|
|
77
79
|
});
|
|
78
|
-
it('should handle empty replacement', async () => {
|
|
80
|
+
(0, bun_test_1.it)('should handle empty replacement', async () => {
|
|
79
81
|
const content = `line1
|
|
80
82
|
line2`;
|
|
81
83
|
const diff = `<<<<<<< SEARCH
|
|
82
84
|
line2
|
|
83
85
|
=======
|
|
84
86
|
>>>>>>> REPLACE`;
|
|
85
|
-
const result = await replaceInFile(content, diff);
|
|
86
|
-
expect(result).toBe(`line1
|
|
87
|
+
const result = await (0, replaceInFile_1.replaceInFile)(content, diff);
|
|
88
|
+
(0, bun_test_1.expect)(result).toBe(`line1
|
|
87
89
|
`);
|
|
88
90
|
});
|
|
89
91
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"replaceInFile.test.js","sourceRoot":"","sources":["../../src/utils/replaceInFile.test.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"replaceInFile.test.js","sourceRoot":"","sources":["../../src/utils/replaceInFile.test.ts"],"names":[],"mappings":";;AAAA,uCAA+C;AAE/C,mDAA+C;AAE/C,IAAA,mBAAQ,EAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,IAAA,aAAE,EAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG;;MAEd,CAAA;QACF,MAAM,IAAI,GAAG;;;;gBAID,CAAA;QAEZ,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjD,IAAA,iBAAM,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC;;MAElB,CAAC,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,IAAA,aAAE,EAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG;;;MAGd,CAAA;QACF,MAAM,IAAI,GAAG;;;;;;;;;gBASD,CAAA;QAEZ,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjD,IAAA,iBAAM,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC;;;MAGlB,CAAC,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,IAAA,aAAE,EAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG;;MAEd,CAAA;QACF,MAAM,IAAI,GAAG;;;;gBAID,CAAA;QAEZ,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjD,IAAA,iBAAM,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC;;MAElB,CAAC,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,IAAA,aAAE,EAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG;MACd,CAAA;QACF,MAAM,IAAI,GAAG,gBAAgB,CAAA;QAE7B,IAAA,iBAAM,EAAC,IAAA,6BAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAA;IACpF,CAAC,CAAC,CAAA;IAEF,IAAA,aAAE,EAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,OAAO,GAAG;MACd,CAAA;QACF,MAAM,IAAI,GAAG;;;;gBAID,CAAA;QAEZ,IAAA,iBAAM,EAAC,IAAA,6BAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;IACnG,CAAC,CAAC,CAAA;IAEF,IAAA,aAAE,EAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,MAAM,IAAI,GAAG;;;;gBAID,CAAA;QAEZ,IAAA,iBAAM,EAAC,IAAA,6BAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;IACnG,CAAC,CAAC,CAAA;IAEF,IAAA,aAAE,EAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,OAAO,GAAG;MACd,CAAA;QACF,MAAM,IAAI,GAAG;;;gBAGD,CAAA;QAEZ,MAAM,MAAM,GAAG,MAAM,IAAA,6BAAa,EAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjD,IAAA,iBAAM,EAAC,MAAM,CAAC,CAAC,IAAI,CAAC;CACvB,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@polka-codes/cli",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.2",
|
|
4
4
|
"license": "AGPL-3.0",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"bin": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
}
|
|
14
14
|
},
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@polka-codes/core": "0.0
|
|
16
|
+
"@polka-codes/core": "0.1.0",
|
|
17
17
|
"commander": "^13.0.0",
|
|
18
18
|
"ignore": "^7.0.3",
|
|
19
19
|
"pino-pretty": "^13.0.0",
|
package/dist/listFiles.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Lists files under `dirPath` in BFS order, respecting:
|
|
3
|
-
* - A default set of ignores
|
|
4
|
-
* - A root .gitignore under `cwd`
|
|
5
|
-
* - Any .gitignore files in child directories (merged as we go)
|
|
6
|
-
*
|
|
7
|
-
* Returns `[files, limitReached]`:
|
|
8
|
-
* - `files` is the array of file paths (relative to `cwd`)
|
|
9
|
-
* - `limitReached` is `true` if `maxCount` was hit, otherwise `false`
|
|
10
|
-
*/
|
|
11
|
-
export declare function listFiles(dirPath: string, recursive: boolean, maxCount: number, cwd: string): Promise<[string[], boolean]>;
|
package/dist/listFiles.js
DELETED
|
@@ -1,100 +0,0 @@
|
|
|
1
|
-
import { promises as fs } from 'node:fs';
|
|
2
|
-
import { join, relative, resolve } from 'node:path';
|
|
3
|
-
import ignore from 'ignore';
|
|
4
|
-
/** Default patterns commonly ignored in projects of various languages. */
|
|
5
|
-
const DEFAULT_IGNORES = [
|
|
6
|
-
'__pycache__',
|
|
7
|
-
'.DS_Store',
|
|
8
|
-
'.env',
|
|
9
|
-
'.git',
|
|
10
|
-
'.idea',
|
|
11
|
-
'.svn',
|
|
12
|
-
'.temp',
|
|
13
|
-
'.vscode',
|
|
14
|
-
'coverage',
|
|
15
|
-
'dist',
|
|
16
|
-
'node_modules',
|
|
17
|
-
'out',
|
|
18
|
-
'Thumbs.db',
|
|
19
|
-
];
|
|
20
|
-
/**
|
|
21
|
-
* Reads a `.gitignore` file in `dirPath` (if it exists) and appends its lines
|
|
22
|
-
* to the `basePatterns`. Returns a new array without mutating the original.
|
|
23
|
-
*/
|
|
24
|
-
async function extendPatterns(basePatterns, dirPath) {
|
|
25
|
-
try {
|
|
26
|
-
const gitignorePath = join(dirPath, '.gitignore');
|
|
27
|
-
const content = await fs.readFile(gitignorePath, 'utf8');
|
|
28
|
-
const lines = content.split(/\r?\n/).filter(Boolean);
|
|
29
|
-
return [...basePatterns, ...lines];
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
// No .gitignore or unreadable
|
|
33
|
-
return basePatterns;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
/** Creates an `ignore` instance from the given patterns. */
|
|
37
|
-
function createIgnore(patterns) {
|
|
38
|
-
return ignore().add(patterns);
|
|
39
|
-
}
|
|
40
|
-
/**
|
|
41
|
-
* Lists files under `dirPath` in BFS order, respecting:
|
|
42
|
-
* - A default set of ignores
|
|
43
|
-
* - A root .gitignore under `cwd`
|
|
44
|
-
* - Any .gitignore files in child directories (merged as we go)
|
|
45
|
-
*
|
|
46
|
-
* Returns `[files, limitReached]`:
|
|
47
|
-
* - `files` is the array of file paths (relative to `cwd`)
|
|
48
|
-
* - `limitReached` is `true` if `maxCount` was hit, otherwise `false`
|
|
49
|
-
*/
|
|
50
|
-
export async function listFiles(dirPath, recursive, maxCount, cwd) {
|
|
51
|
-
// Merge default ignores with root .gitignore (if found)
|
|
52
|
-
let rootPatterns = [...DEFAULT_IGNORES];
|
|
53
|
-
try {
|
|
54
|
-
const rootGitignore = await fs.readFile(join(cwd, '.gitignore'), 'utf8');
|
|
55
|
-
const lines = rootGitignore.split(/\r?\n/).filter(Boolean);
|
|
56
|
-
rootPatterns = [...rootPatterns, ...lines];
|
|
57
|
-
}
|
|
58
|
-
catch {
|
|
59
|
-
// No .gitignore at root or unreadable; ignore silently
|
|
60
|
-
}
|
|
61
|
-
// Final results (relative to `cwd`) and indicator if we reached the limit
|
|
62
|
-
const results = [];
|
|
63
|
-
// BFS queue
|
|
64
|
-
// Each entry holds the directory path and the patterns inherited from its parent
|
|
65
|
-
const queue = [{ path: resolve(dirPath), patterns: rootPatterns }];
|
|
66
|
-
// Perform BFS until queue is empty or maxCount is reached
|
|
67
|
-
while (queue.length > 0) {
|
|
68
|
-
// biome-ignore lint/style/noNonNullAssertion: checked above
|
|
69
|
-
const { path: currentPath, patterns: parentPatterns } = queue.shift();
|
|
70
|
-
// Merge parent's patterns with local .gitignore
|
|
71
|
-
const mergedPatterns = await extendPatterns(parentPatterns, currentPath);
|
|
72
|
-
const folderIg = createIgnore(mergedPatterns);
|
|
73
|
-
const entries = await fs.readdir(currentPath, { withFileTypes: true });
|
|
74
|
-
for (const entry of entries) {
|
|
75
|
-
const fullPath = join(currentPath, entry.name);
|
|
76
|
-
// Convert full path to something relative to `cwd`
|
|
77
|
-
const relPath = relative(cwd, fullPath).replace(/\\/g, '/');
|
|
78
|
-
if (folderIg.ignores(relPath)) {
|
|
79
|
-
continue; // Skip ignored entries
|
|
80
|
-
}
|
|
81
|
-
if (entry.isDirectory()) {
|
|
82
|
-
if (recursive) {
|
|
83
|
-
queue.push({ path: fullPath, patterns: mergedPatterns });
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
results.push(relPath);
|
|
88
|
-
if (results.length >= maxCount) {
|
|
89
|
-
results.sort();
|
|
90
|
-
// Stop searching as soon as we reach maxCount
|
|
91
|
-
return [results, true];
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
results.sort();
|
|
97
|
-
// If we exhaust the BFS queue, we did not reach maxCount
|
|
98
|
-
return [results, false];
|
|
99
|
-
}
|
|
100
|
-
//# sourceMappingURL=listFiles.js.map
|
package/dist/listFiles.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"listFiles.js","sourceRoot":"","sources":["../src/listFiles.ts"],"names":[],"mappings":"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"}
|
package/dist/listFiles.test.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|