@polka-codes/cli 0.0.2 → 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/dist/config.d.ts +37 -0
  2. package/dist/config.js +44 -0
  3. package/dist/config.js.map +1 -0
  4. package/dist/config.test.d.ts +1 -0
  5. package/dist/config.test.js +87 -0
  6. package/dist/config.test.js.map +1 -0
  7. package/dist/handlers.d.ts +14 -0
  8. package/dist/handlers.js +239 -0
  9. package/dist/handlers.js.map +1 -0
  10. package/dist/index.d.ts +1 -0
  11. package/dist/index.js +30 -0
  12. package/dist/index.js.map +1 -0
  13. package/dist/listFiles.d.ts +11 -0
  14. package/dist/listFiles.js +100 -0
  15. package/dist/listFiles.js.map +1 -0
  16. package/dist/listFiles.test.d.ts +1 -0
  17. package/dist/listFiles.test.js +49 -0
  18. package/dist/listFiles.test.js.map +1 -0
  19. package/dist/replaceInFile.d.ts +1 -0
  20. package/dist/replaceInFile.js +85 -0
  21. package/dist/replaceInFile.js.map +1 -0
  22. package/dist/replaceInFile.test.d.ts +1 -0
  23. package/dist/replaceInFile.test.js +90 -0
  24. package/dist/replaceInFile.test.js.map +1 -0
  25. package/dist/runTask.d.ts +9 -0
  26. package/dist/runTask.js +107 -0
  27. package/dist/runTask.js.map +1 -0
  28. package/dist/utils/listFiles.d.ts +11 -0
  29. package/dist/utils/listFiles.js +100 -0
  30. package/dist/utils/listFiles.js.map +1 -0
  31. package/dist/utils/listFiles.test.d.ts +1 -0
  32. package/dist/utils/listFiles.test.js +49 -0
  33. package/dist/utils/listFiles.test.js.map +1 -0
  34. package/dist/utils/replaceInFile.d.ts +1 -0
  35. package/dist/utils/replaceInFile.js +85 -0
  36. package/dist/utils/replaceInFile.js.map +1 -0
  37. package/dist/utils/replaceInFile.test.d.ts +1 -0
  38. package/dist/utils/replaceInFile.test.js +90 -0
  39. package/dist/utils/replaceInFile.test.js.map +1 -0
  40. package/package.json +9 -7
@@ -0,0 +1 @@
1
+ {"version":3,"file":"replaceInFile.js","sourceRoot":"","sources":["../../src/utils/replaceInFile.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,90 @@
1
+ import { describe, expect, it } from 'bun:test';
2
+ import { replaceInFile } from './replaceInFile';
3
+ describe('replaceInFile', () => {
4
+ it('should perform basic single replacement', async () => {
5
+ const content = `line1
6
+ line2
7
+ line3`;
8
+ const diff = `<<<<<<< SEARCH
9
+ line2
10
+ =======
11
+ new line2
12
+ >>>>>>> REPLACE`;
13
+ const result = await replaceInFile(content, diff);
14
+ expect(result).toBe(`line1
15
+ new line2
16
+ line3`);
17
+ });
18
+ it('should handle multiple replacements', async () => {
19
+ const content = `line1
20
+ line2
21
+ line3
22
+ line2`;
23
+ const diff = `<<<<<<< SEARCH
24
+ line2
25
+ =======
26
+ new line2
27
+ >>>>>>> REPLACE
28
+ <<<<<<< SEARCH
29
+ line3
30
+ =======
31
+ new line3
32
+ >>>>>>> REPLACE`;
33
+ const result = await replaceInFile(content, diff);
34
+ expect(result).toBe(`line1
35
+ new line2
36
+ new line3
37
+ line2`);
38
+ });
39
+ it('should handle whitespace variations', async () => {
40
+ const content = `line1
41
+ line2
42
+ line3`;
43
+ const diff = `<<<<<<< SEARCH
44
+ line2
45
+ =======
46
+ new line2
47
+ >>>>>>> REPLACE`;
48
+ const result = await replaceInFile(content, diff);
49
+ expect(result).toBe(`line1
50
+ new line2
51
+ line3`);
52
+ });
53
+ it('should throw error when no blocks found', async () => {
54
+ const content = `line1
55
+ line2`;
56
+ const diff = 'invalid format';
57
+ expect(replaceInFile(content, diff)).rejects.toThrow('No valid diff blocks found');
58
+ });
59
+ it('should throw error when search text not found', async () => {
60
+ const content = `line1
61
+ line2`;
62
+ const diff = `<<<<<<< SEARCH
63
+ line3
64
+ =======
65
+ new line3
66
+ >>>>>>> REPLACE`;
67
+ expect(replaceInFile(content, diff)).rejects.toThrow('Could not find the following text in file');
68
+ });
69
+ it('should handle empty file', async () => {
70
+ const content = '';
71
+ const diff = `<<<<<<< SEARCH
72
+ line1
73
+ =======
74
+ new line1
75
+ >>>>>>> REPLACE`;
76
+ expect(replaceInFile(content, diff)).rejects.toThrow('Could not find the following text in file');
77
+ });
78
+ it('should handle empty replacement', async () => {
79
+ const content = `line1
80
+ line2`;
81
+ const diff = `<<<<<<< SEARCH
82
+ line2
83
+ =======
84
+ >>>>>>> REPLACE`;
85
+ const result = await replaceInFile(content, diff);
86
+ expect(result).toBe(`line1
87
+ `);
88
+ });
89
+ });
90
+ //# sourceMappingURL=replaceInFile.test.js.map
@@ -0,0 +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"}
package/package.json CHANGED
@@ -1,6 +1,7 @@
1
1
  {
2
2
  "name": "@polka-codes/cli",
3
- "version": "0.0.2",
3
+ "version": "0.1.0",
4
+ "license": "AGPL-3.0",
4
5
  "type": "module",
5
6
  "bin": {
6
7
  "polka": "./dist/index.js"
@@ -11,13 +12,14 @@
11
12
  "types": "./dist/index.d.ts"
12
13
  }
13
14
  },
14
- "scripts": {
15
- "build": "tsc",
16
- "typecheck": "tsc --noEmit"
17
- },
18
15
  "dependencies": {
19
- "@polka-codes/core": "0.0.1",
20
- "commander": "^13.0.0"
16
+ "@polka-codes/core": "0.0.4",
17
+ "commander": "^13.0.0",
18
+ "ignore": "^7.0.3",
19
+ "pino-pretty": "^13.0.0",
20
+ "readline": "^1.3.0",
21
+ "yaml": "^2.7.0",
22
+ "zod": "^3.24.1"
21
23
  },
22
24
  "files": ["dist"]
23
25
  }