@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.
Files changed (50) hide show
  1. package/README.md +63 -0
  2. package/dist/config.d.ts +1 -0
  3. package/dist/config.d.ts.map +1 -0
  4. package/dist/config.js +22 -18
  5. package/dist/config.js.map +1 -1
  6. package/dist/config.test.d.ts +1 -0
  7. package/dist/config.test.d.ts.map +1 -0
  8. package/dist/config.test.js +41 -39
  9. package/dist/config.test.js.map +1 -1
  10. package/dist/handlers.d.ts +1 -0
  11. package/dist/handlers.d.ts.map +1 -0
  12. package/dist/handlers.js +59 -40
  13. package/dist/handlers.js.map +1 -1
  14. package/dist/index.d.ts +2 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +11 -10
  17. package/dist/index.js.map +1 -1
  18. package/dist/runTask.d.ts +1 -0
  19. package/dist/runTask.d.ts.map +1 -0
  20. package/dist/runTask.js +18 -13
  21. package/dist/runTask.js.map +1 -1
  22. package/dist/utils/listFiles.d.ts +1 -0
  23. package/dist/utils/listFiles.d.ts.map +1 -0
  24. package/dist/utils/listFiles.js +16 -12
  25. package/dist/utils/listFiles.js.map +1 -1
  26. package/dist/utils/listFiles.test.d.ts +1 -0
  27. package/dist/utils/listFiles.test.d.ts.map +1 -0
  28. package/dist/utils/listFiles.test.js +39 -37
  29. package/dist/utils/listFiles.test.js.map +1 -1
  30. package/dist/utils/replaceInFile.d.ts +1 -0
  31. package/dist/utils/replaceInFile.d.ts.map +1 -0
  32. package/dist/utils/replaceInFile.js +5 -1
  33. package/dist/utils/replaceInFile.js.map +1 -1
  34. package/dist/utils/replaceInFile.test.d.ts +1 -0
  35. package/dist/utils/replaceInFile.test.d.ts.map +1 -0
  36. package/dist/utils/replaceInFile.test.js +23 -21
  37. package/dist/utils/replaceInFile.test.js.map +1 -1
  38. package/package.json +2 -2
  39. package/dist/listFiles.d.ts +0 -11
  40. package/dist/listFiles.js +0 -100
  41. package/dist/listFiles.js.map +0 -1
  42. package/dist/listFiles.test.d.ts +0 -1
  43. package/dist/listFiles.test.js +0 -49
  44. package/dist/listFiles.test.js.map +0 -1
  45. package/dist/replaceInFile.d.ts +0 -1
  46. package/dist/replaceInFile.js +0 -85
  47. package/dist/replaceInFile.js.map +0 -1
  48. package/dist/replaceInFile.test.d.ts +0 -1
  49. package/dist/replaceInFile.test.js +0 -90
  50. package/dist/replaceInFile.test.js.map +0 -1
package/dist/runTask.d.ts CHANGED
@@ -7,3 +7,4 @@ export type RunTaskOptions = {
7
7
  config: Config;
8
8
  };
9
9
  export declare const runTask: (options: RunTaskOptions) => Promise<void>;
10
+ //# sourceMappingURL=runTask.d.ts.map
@@ -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
- import os from 'node:os';
2
- import { CoderAgent, createService, createServiceLogger } from '@polka-codes/core';
3
- import { getToolHandler } from './handlers';
4
- import { listFiles } from './utils/listFiles';
5
- const logger = createServiceLogger('cli/runTask');
6
- export const runTask = async (options) => {
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: os.platform(),
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
- ${fileList.join('\n')}${limited ? '\n<files_truncated>true</files_truncated>' : ''}
52
- </files>`;
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
@@ -1 +1 @@
1
- {"version":3,"file":"runTask.js","sourceRoot":"","sources":["../src/runTask.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runTask.js","sourceRoot":"","sources":["../src/runTask.ts"],"names":[],"mappings":"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"}
@@ -9,3 +9,4 @@
9
9
  * - `limitReached` is `true` if `maxCount` was hit, otherwise `false`
10
10
  */
11
11
  export declare function listFiles(dirPath: string, recursive: boolean, maxCount: number, cwd: string): Promise<[string[], boolean]>;
12
+ //# sourceMappingURL=listFiles.d.ts.map
@@ -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"}
@@ -1,6 +1,10 @@
1
- import { promises as fs } from 'node:fs';
2
- import { join, relative, resolve } from 'node:path';
3
- import ignore from 'ignore';
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 fs.readFile(gitignorePath, 'utf8');
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 ignore().add(patterns);
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
- export async function listFiles(dirPath, recursive, maxCount, cwd) {
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 fs.readFile(join(cwd, '.gitignore'), 'utf8');
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 fs.readdir(currentPath, { withFileTypes: true });
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":"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"}
1
+ {"version":3,"file":"listFiles.js","sourceRoot":"","sources":["../../src/utils/listFiles.ts"],"names":[],"mappings":";;AAoDA,8BAwDC;;AA5GD,qCAAwC;AACxC,yCAAmD;AACnD,4DAA4C;AAE5C,0EAA0E;AAC1E,MAAM,eAAe,GAAG;IACtB,aAAa;IACb,WAAW;IACX,MAAM;IACN,MAAM;IACN,OAAO;IACP,MAAM;IACN,OAAO;IACP,SAAS;IACT,UAAU;IACV,MAAM;IACN,cAAc;IACd,KAAK;IACL,WAAW;CACZ,CAAA;AAED;;;GAGG;AACH,KAAK,UAAU,cAAc,CAAC,YAAsB,EAAE,OAAe;IACnE,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,IAAA,gBAAI,EAAC,OAAO,EAAE,YAAY,CAAC,CAAA;QACjD,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;QACxD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QACpD,OAAO,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;QACP,8BAA8B;QAC9B,OAAO,YAAY,CAAA;IACrB,CAAC;AACH,CAAC;AAED,4DAA4D;AAC5D,SAAS,YAAY,CAAC,QAAkB;IACtC,OAAO,IAAA,gBAAM,GAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAA;AAC/B,CAAC;AAED;;;;;;;;;GASG;AACI,KAAK,UAAU,SAAS,CAAC,OAAe,EAAE,SAAkB,EAAE,QAAgB,EAAE,GAAW;IAChG,wDAAwD;IACxD,IAAI,YAAY,GAAG,CAAC,GAAG,eAAe,CAAC,CAAA;IACvC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,MAAM,kBAAE,CAAC,QAAQ,CAAC,IAAA,gBAAI,EAAC,GAAG,EAAE,YAAY,CAAC,EAAE,MAAM,CAAC,CAAA;QACxE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAA;QAC1D,YAAY,GAAG,CAAC,GAAG,YAAY,EAAE,GAAG,KAAK,CAAC,CAAA;IAC5C,CAAC;IAAC,MAAM,CAAC;QACP,uDAAuD;IACzD,CAAC;IAED,0EAA0E;IAC1E,MAAM,OAAO,GAAa,EAAE,CAAA;IAE5B,YAAY;IACZ,iFAAiF;IACjF,MAAM,KAAK,GAAgD,CAAC,EAAE,IAAI,EAAE,IAAA,mBAAO,EAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,YAAY,EAAE,CAAC,CAAA;IAE/G,0DAA0D;IAC1D,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACxB,4DAA4D;QAC5D,MAAM,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,cAAc,EAAE,GAAG,KAAK,CAAC,KAAK,EAAG,CAAA;QAEtE,gDAAgD;QAChD,MAAM,cAAc,GAAG,MAAM,cAAc,CAAC,cAAc,EAAE,WAAW,CAAC,CAAA;QACxE,MAAM,QAAQ,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;QAE7C,MAAM,OAAO,GAAG,MAAM,kBAAE,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAA;QAEtE,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;YAC5B,MAAM,QAAQ,GAAG,IAAA,gBAAI,EAAC,WAAW,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;YAC9C,mDAAmD;YACnD,MAAM,OAAO,GAAG,IAAA,oBAAQ,EAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;YAE3D,IAAI,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC9B,SAAQ,CAAC,uBAAuB;YAClC,CAAC;YAED,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;gBACxB,IAAI,SAAS,EAAE,CAAC;oBACd,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,EAAE,CAAC,CAAA;gBAC1D,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;gBACrB,IAAI,OAAO,CAAC,MAAM,IAAI,QAAQ,EAAE,CAAC;oBAC/B,OAAO,CAAC,IAAI,EAAE,CAAA;oBACd,8CAA8C;oBAC9C,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;gBACxB,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,CAAC,IAAI,EAAE,CAAA;IACd,yDAAyD;IACzD,OAAO,CAAC,OAAO,EAAE,KAAK,CAAC,CAAA;AACzB,CAAC"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=listFiles.test.d.ts.map
@@ -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
- import { afterAll, beforeAll, describe, expect, it } from 'bun:test';
2
- import { promises as fs } from 'node:fs';
3
- import { join } from 'node:path';
4
- import { listFiles } from './listFiles';
5
- describe('listFiles', () => {
6
- const testDir = join(__dirname, 'test-fixtures');
7
- beforeAll(async () => {
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 fs.mkdir(testDir, { recursive: true });
10
- await fs.writeFile(join(testDir, '.gitignore'), 'ignored.txt\nsubdir/ignored-too.txt');
11
- await fs.writeFile(join(testDir, 'file1.txt'), '');
12
- await fs.writeFile(join(testDir, 'file2.txt'), '');
13
- await fs.writeFile(join(testDir, 'ignored.txt'), '');
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 fs.mkdir(subDir);
17
- await fs.writeFile(join(subDir, 'file3.txt'), '');
18
- await fs.writeFile(join(subDir, 'ignored-too.txt'), '');
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 fs.rm(testDir, { recursive: true, force: true });
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 fs.mkdir(emptyDir);
41
- const [files] = await listFiles(emptyDir, true, 10, emptyDir);
42
- expect(files).toEqual([]);
43
- await fs.rm(emptyDir, { recursive: true });
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":"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"}
1
+ {"version":3,"file":"listFiles.test.js","sourceRoot":"","sources":["../../src/utils/listFiles.test.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export declare const replaceInFile: (fileContent: string, diff: string) => Promise<string>;
2
+ //# sourceMappingURL=replaceInFile.d.ts.map
@@ -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
- export const replaceInFile = async (fileContent, diff) => {
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":"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"}
1
+ {"version":3,"file":"replaceInFile.js","sourceRoot":"","sources":["../../src/utils/replaceInFile.ts"],"names":[],"mappings":"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"}
@@ -1 +1,2 @@
1
1
  export {};
2
+ //# sourceMappingURL=replaceInFile.test.d.ts.map
@@ -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
- import { describe, expect, it } from 'bun:test';
2
- import { replaceInFile } from './replaceInFile';
3
- describe('replaceInFile', () => {
4
- it('should perform basic single replacement', async () => {
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,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,UAAU,CAAA;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAE/C,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;IAC7B,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG;;MAEd,CAAA;QACF,MAAM,IAAI,GAAG;;;;gBAID,CAAA;QAEZ,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;;MAElB,CAAC,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG;;;MAGd,CAAA;QACF,MAAM,IAAI,GAAG;;;;;;;;;gBASD,CAAA;QAEZ,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;;;MAGlB,CAAC,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,qCAAqC,EAAE,KAAK,IAAI,EAAE;QACnD,MAAM,OAAO,GAAG;;MAEd,CAAA;QACF,MAAM,IAAI,GAAG;;;;gBAID,CAAA;QAEZ,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;;MAElB,CAAC,CAAA;IACL,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,yCAAyC,EAAE,KAAK,IAAI,EAAE;QACvD,MAAM,OAAO,GAAG;MACd,CAAA;QACF,MAAM,IAAI,GAAG,gBAAgB,CAAA;QAE7B,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,4BAA4B,CAAC,CAAA;IACpF,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;QAC7D,MAAM,OAAO,GAAG;MACd,CAAA;QACF,MAAM,IAAI,GAAG;;;;gBAID,CAAA;QAEZ,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;IACnG,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,0BAA0B,EAAE,KAAK,IAAI,EAAE;QACxC,MAAM,OAAO,GAAG,EAAE,CAAA;QAClB,MAAM,IAAI,GAAG;;;;gBAID,CAAA;QAEZ,MAAM,CAAC,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,2CAA2C,CAAC,CAAA;IACnG,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC/C,MAAM,OAAO,GAAG;MACd,CAAA;QACF,MAAM,IAAI,GAAG;;;gBAGD,CAAA;QAEZ,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,OAAO,EAAE,IAAI,CAAC,CAAA;QACjD,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC;CACvB,CAAC,CAAA;IACA,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
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.0",
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.4",
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",
@@ -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
@@ -1 +0,0 @@
1
- {"version":3,"file":"listFiles.js","sourceRoot":"","sources":["../src/listFiles.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- export {};