codebuff 1.0.290 → 1.0.292
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/dist/cli-handlers/checkpoint.d.ts +1 -1
- package/dist/cli-handlers/initialization-flow.d.ts +1 -0
- package/dist/cli-handlers/initialization-flow.js +24 -0
- package/dist/cli-handlers/initialization-flow.js.map +1 -0
- package/dist/cli-modules/command-processor.d.ts +2 -0
- package/dist/cli-modules/command-processor.js +112 -0
- package/dist/cli-modules/command-processor.js.map +1 -0
- package/dist/cli-modules/input-handler.d.ts +4 -0
- package/dist/cli-modules/input-handler.js +75 -0
- package/dist/cli-modules/input-handler.js.map +1 -0
- package/dist/cli-modules/readline-handler.d.ts +11 -0
- package/dist/cli-modules/readline-handler.js +158 -0
- package/dist/cli-modules/readline-handler.js.map +1 -0
- package/dist/cli-modules/signal-handler.d.ts +7 -0
- package/dist/cli-modules/signal-handler.js +128 -0
- package/dist/cli-modules/signal-handler.js.map +1 -0
- package/dist/cli-modules/types.d.ts +51 -0
- package/dist/cli-modules/types.js +3 -0
- package/dist/cli-modules/types.js.map +1 -0
- package/dist/cli-modules/websocket-handler.d.ts +16 -0
- package/dist/cli-modules/websocket-handler.js +53 -0
- package/dist/cli-modules/websocket-handler.js.map +1 -0
- package/dist/cli.d.ts +1 -1
- package/dist/cli.js +1 -1
- package/dist/client.d.ts +4 -4
- package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts +12 -0
- package/dist/code-map/__mocks__/tree-sitter-typescript.d.ts.map +1 -0
- package/dist/code-map/__mocks__/tree-sitter-typescript.js +14 -0
- package/dist/code-map/__mocks__/tree-sitter-typescript.js.map +1 -0
- package/dist/code-map/__mocks__/wasm-mock.d.ts +2 -0
- package/dist/code-map/__mocks__/wasm-mock.d.ts.map +1 -0
- package/dist/code-map/__mocks__/wasm-mock.js +3 -0
- package/dist/code-map/__mocks__/wasm-mock.js.map +1 -0
- package/dist/code-map/__tests__/parse.test.d.ts +2 -0
- package/dist/code-map/__tests__/parse.test.d.ts.map +1 -0
- package/dist/code-map/__tests__/parse.test.js +231 -0
- package/dist/code-map/__tests__/parse.test.js.map +1 -0
- package/dist/code-map/__tests__/test-langs/consumer.d.ts +2 -0
- package/dist/code-map/__tests__/test-langs/consumer.d.ts.map +1 -0
- package/dist/code-map/__tests__/test-langs/consumer.js +6 -0
- package/dist/code-map/__tests__/test-langs/consumer.js.map +1 -0
- package/dist/code-map/__tests__/test-langs/empty.d.ts +1 -0
- package/dist/code-map/__tests__/test-langs/empty.d.ts.map +1 -0
- package/dist/code-map/__tests__/test-langs/empty.js +2 -0
- package/dist/code-map/__tests__/test-langs/empty.js.map +1 -0
- package/dist/code-map/__tests__/test-langs/test.d.ts +12 -0
- package/dist/code-map/__tests__/test-langs/test.d.ts.map +1 -0
- package/dist/code-map/__tests__/test-langs/test.js +23 -0
- package/dist/code-map/__tests__/test-langs/test.js.map +1 -0
- package/dist/code-map/__tests__/test-langs/unused.d.ts +2 -0
- package/dist/code-map/__tests__/test-langs/unused.d.ts.map +1 -0
- package/dist/code-map/__tests__/test-langs/unused.js +7 -0
- package/dist/code-map/__tests__/test-langs/unused.js.map +1 -0
- package/dist/code-map/__tests__/test-langs/utils1.d.ts +2 -0
- package/dist/code-map/__tests__/test-langs/utils1.d.ts.map +1 -0
- package/dist/code-map/__tests__/test-langs/utils1.js +7 -0
- package/dist/code-map/__tests__/test-langs/utils1.js.map +1 -0
- package/dist/code-map/__tests__/test-langs/utils2.d.ts +2 -0
- package/dist/code-map/__tests__/test-langs/utils2.d.ts.map +1 -0
- package/dist/code-map/__tests__/test-langs/utils2.js +8 -0
- package/dist/code-map/__tests__/test-langs/utils2.js.map +1 -0
- package/dist/code-map/__tests__/tree-sitter-minimal.test.d.ts +2 -0
- package/dist/code-map/__tests__/tree-sitter-minimal.test.d.ts.map +1 -0
- package/dist/code-map/__tests__/tree-sitter-minimal.test.js +79 -0
- package/dist/code-map/__tests__/tree-sitter-minimal.test.js.map +1 -0
- package/dist/code-map/jest.config.d.ts +4 -0
- package/dist/code-map/jest.config.d.ts.map +1 -0
- package/dist/code-map/jest.config.js +18 -0
- package/dist/code-map/jest.config.js.map +1 -0
- package/dist/code-map/parse.test.d.ts +2 -0
- package/dist/code-map/parse.test.d.ts.map +1 -0
- package/dist/code-map/parse.test.js +218 -0
- package/dist/code-map/parse.test.js.map +1 -0
- package/dist/code-map/scripts/tree-sitter-test.cjs +27 -0
- package/dist/code-map/scripts/tree-sitter-test.cjs.map +1 -0
- package/dist/code-map/scripts/tree-sitter-test.d.cts +2 -0
- package/dist/code-map/scripts/tree-sitter-test.d.cts.map +1 -0
- package/dist/code-map/scripts/tree-sitter-test.d.ts +2 -0
- package/dist/code-map/scripts/tree-sitter-test.d.ts.map +1 -0
- package/dist/code-map/scripts/tree-sitter-test.js +54 -0
- package/dist/code-map/scripts/tree-sitter-test.js.map +1 -0
- package/dist/code-map/test-parser.d.ts +2 -0
- package/dist/code-map/test-parser.d.ts.map +1 -0
- package/dist/code-map/test-parser.js +42 -0
- package/dist/code-map/test-parser.js.map +1 -0
- package/dist/code-map/tsconfig.tsbuildinfo +1 -1
- package/dist/common/actions.d.ts +144 -144
- package/dist/common/bigquery/client.d.ts +15 -0
- package/dist/common/bigquery/client.js +265 -0
- package/dist/common/bigquery/client.js.map +1 -0
- package/dist/common/bigquery/schema.d.ts +55 -0
- package/dist/common/bigquery/schema.js +24 -0
- package/dist/common/bigquery/schema.js.map +1 -0
- package/dist/common/constants/tools.d.ts +1 -1
- package/dist/common/constants/tools.js +1 -1
- package/dist/common/constants/tools.js.map +1 -1
- package/dist/common/constants.d.ts +6 -6
- package/dist/common/constants.js +1 -1
- package/dist/common/constants.js.map +1 -1
- package/dist/common/types/agent-state.d.ts +12 -12
- package/dist/common/util/file-metadata.d.ts +9 -0
- package/dist/common/util/file-metadata.js +24 -0
- package/dist/common/util/file-metadata.js.map +1 -0
- package/dist/common/util/saxy.d.ts +1 -1
- package/dist/common/util/saxy.js +2 -2
- package/dist/common/util/saxy.js.map +1 -1
- package/dist/common/util/string.d.ts +1 -0
- package/dist/common/util/string.js +9 -0
- package/dist/common/util/string.js.map +1 -1
- package/dist/common/websockets/websocket-schema.d.ts +256 -256
- package/dist/index.js +4 -10
- package/dist/utils/spinner.js +1 -1
- package/dist/utils/tool-renderers.js +4 -0
- package/dist/utils/tool-renderers.js.map +1 -1
- package/package.json +1 -1
- package/dist/common/__tests__/project-file-tree.test.d.ts +0 -1
- package/dist/common/__tests__/project-file-tree.test.js +0 -251
- package/dist/common/__tests__/project-file-tree.test.js.map +0 -1
- package/dist/common/json-config/__tests__/__snapshots__/stringify-schema.test.js.snap +0 -119
- package/dist/common/util/process-stream.d.ts +0 -7
- package/dist/common/util/process-stream.js +0 -162
- package/dist/common/util/process-stream.js.map +0 -1
- package/dist/readline.d.ts +0 -22
- package/dist/readline.js +0 -180
- package/dist/readline.js.map +0 -1
- package/dist/utils/__tests__/__snapshots__/background-process-manager.test.js.snap +0 -137
- package/dist/utils/__tests__/file-paths.test.d.ts +0 -1
- package/dist/utils/__tests__/file-paths.test.js +0 -37
- package/dist/utils/__tests__/file-paths.test.js.map +0 -1
- package/dist/utils/__tests__/path.test.d.ts +0 -1
- package/dist/utils/__tests__/path.test.js +0 -37
- package/dist/utils/__tests__/path.test.js.map +0 -1
- package/dist/utils/file-paths.d.ts +0 -9
- package/dist/utils/file-paths.js +0 -24
- package/dist/utils/file-paths.js.map +0 -1
- package/dist/utils/path.d.ts +0 -9
- package/dist/utils/path.js +0 -27
- package/dist/utils/path.js.map +0 -1
package/dist/index.js
CHANGED
|
@@ -1,22 +1,16 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
process.env.NEXT_PUBLIC_CB_ENVIRONMENT = 'production';
|
|
3
3
|
process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
|
|
4
|
-
process.env.NEXT_PUBLIC_APP_URL = 'https://
|
|
4
|
+
process.env.NEXT_PUBLIC_APP_URL = 'https://codebuff.com';
|
|
5
5
|
process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
|
|
6
6
|
process.env.NEXT_PUBLIC_POSTHOG_API_KEY = 'phc_tug7g8yc10qNestK14QV8WyKwjfEl6vwzIbJkBdqeHS';
|
|
7
|
-
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com';
|
|
7
|
+
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com/';
|
|
8
8
|
process.env.NEXT_PUBLIC_CB_ENVIRONMENT = 'production';
|
|
9
9
|
process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
|
|
10
|
-
process.env.NEXT_PUBLIC_APP_URL = 'https://
|
|
10
|
+
process.env.NEXT_PUBLIC_APP_URL = 'https://codebuff.com';
|
|
11
11
|
process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
|
|
12
12
|
process.env.NEXT_PUBLIC_POSTHOG_API_KEY = 'phc_tug7g8yc10qNestK14QV8WyKwjfEl6vwzIbJkBdqeHS';
|
|
13
|
-
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com';
|
|
14
|
-
process.env.NEXT_PUBLIC_CB_ENVIRONMENT = 'production';
|
|
15
|
-
process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
|
|
16
|
-
process.env.NEXT_PUBLIC_APP_URL = 'https://www.codebuff.com';
|
|
17
|
-
process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
|
|
18
|
-
process.env.NEXT_PUBLIC_POSTHOG_API_KEY = 'phc_tug7g8yc10qNestK14QV8WyKwjfEl6vwzIbJkBdqeHS';
|
|
19
|
-
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com';
|
|
13
|
+
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com/';
|
|
20
14
|
"use strict";
|
|
21
15
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
16
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
package/dist/utils/spinner.js
CHANGED
|
@@ -24,7 +24,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.Spinner = void 0;
|
|
27
|
-
const readline = __importStar(require("
|
|
27
|
+
const readline = __importStar(require("readline"));
|
|
28
28
|
const picocolors_1 = require("picocolors");
|
|
29
29
|
const display_1 = require("../display");
|
|
30
30
|
const chars = ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'];
|
|
@@ -118,6 +118,10 @@ exports.toolRenderers = {
|
|
|
118
118
|
},
|
|
119
119
|
},
|
|
120
120
|
str_replace: {
|
|
121
|
+
onToolStart: (toolName) => {
|
|
122
|
+
toolStart = true;
|
|
123
|
+
return '\n\n' + (0, picocolors_1.gray)(`[${(0, picocolors_1.bold)('Edit File')}]`) + '\n';
|
|
124
|
+
},
|
|
121
125
|
onParamStart: (paramName) => {
|
|
122
126
|
if (paramName === 'path') {
|
|
123
127
|
return (0, picocolors_1.gray)('Editing file at ');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-renderers.js","sourceRoot":"","sources":["../../src/utils/tool-renderers.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tool-renderers.js","sourceRoot":"","sources":["../../src/utils/tool-renderers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,251 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
-
};
|
|
28
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
-
// @ts-ignore
|
|
30
|
-
const bun_test_1 = require("bun:test");
|
|
31
|
-
const path_1 = __importDefault(require("path"));
|
|
32
|
-
const memfs_1 = require("memfs");
|
|
33
|
-
// Mock fs to use memfs's vol directly
|
|
34
|
-
bun_test_1.mock.module('fs', () => ({
|
|
35
|
-
existsSync: (path) => memfs_1.vol.existsSync(path),
|
|
36
|
-
readFileSync: (path, options) => memfs_1.vol.readFileSync(path, options),
|
|
37
|
-
}));
|
|
38
|
-
// Import fs after mocking to get the mocked version
|
|
39
|
-
const fs_1 = __importDefault(require("fs"));
|
|
40
|
-
const projectFileTreeModule = __importStar(require("../project-file-tree"));
|
|
41
|
-
const project_file_tree_1 = require("../project-file-tree");
|
|
42
|
-
// Basic memfs check
|
|
43
|
-
(0, bun_test_1.it)('memfs basic check', () => {
|
|
44
|
-
memfs_1.vol.reset();
|
|
45
|
-
memfs_1.vol.fromJSON({ '/testfile.txt': 'content' });
|
|
46
|
-
(0, bun_test_1.expect)(fs_1.default.existsSync('/testfile.txt')).toBe(true);
|
|
47
|
-
(0, bun_test_1.expect)(fs_1.default.readFileSync('/testfile.txt', 'utf8')).toBe('content');
|
|
48
|
-
});
|
|
49
|
-
(0, bun_test_1.describe)('parseGitignore', () => {
|
|
50
|
-
const projectRoot = '/project';
|
|
51
|
-
(0, bun_test_1.it)('handles empty .gitignore', () => {
|
|
52
|
-
memfs_1.vol.reset();
|
|
53
|
-
memfs_1.vol.fromJSON({
|
|
54
|
-
'/project/.gitignore': '',
|
|
55
|
-
});
|
|
56
|
-
const ig = (0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
57
|
-
(0, bun_test_1.expect)(ig.ignores('file.txt')).toBe(false);
|
|
58
|
-
});
|
|
59
|
-
(0, bun_test_1.it)('ignores comments and blank lines', () => {
|
|
60
|
-
memfs_1.vol.reset();
|
|
61
|
-
memfs_1.vol.fromJSON({
|
|
62
|
-
'/project/.gitignore': `
|
|
63
|
-
# This is a comment
|
|
64
|
-
|
|
65
|
-
# Another comment
|
|
66
|
-
`,
|
|
67
|
-
});
|
|
68
|
-
const ig = (0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
69
|
-
(0, bun_test_1.expect)(ig.ignores('file.txt')).toBe(false);
|
|
70
|
-
});
|
|
71
|
-
(0, bun_test_1.it)('handles simple file patterns', () => {
|
|
72
|
-
memfs_1.vol.reset();
|
|
73
|
-
memfs_1.vol.fromJSON({
|
|
74
|
-
'/project/.gitignore': `
|
|
75
|
-
file.txt
|
|
76
|
-
*.log
|
|
77
|
-
`,
|
|
78
|
-
});
|
|
79
|
-
const ig = (0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
80
|
-
(0, bun_test_1.expect)(ig.ignores('file.txt')).toBe(true);
|
|
81
|
-
(0, bun_test_1.expect)(ig.ignores('debug.log')).toBe(true);
|
|
82
|
-
(0, bun_test_1.expect)(ig.ignores('src/error.log')).toBe(true);
|
|
83
|
-
(0, bun_test_1.expect)(ig.ignores('other.txt')).toBe(false);
|
|
84
|
-
});
|
|
85
|
-
(0, bun_test_1.it)('handles directory patterns', () => {
|
|
86
|
-
memfs_1.vol.reset();
|
|
87
|
-
memfs_1.vol.fromJSON({
|
|
88
|
-
'/project/.gitignore': 'build/',
|
|
89
|
-
});
|
|
90
|
-
const ig = (0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
91
|
-
(0, bun_test_1.expect)(ig.ignores('build/output.js')).toBe(true);
|
|
92
|
-
(0, bun_test_1.expect)(ig.ignores('src/build/output.js')).toBe(true);
|
|
93
|
-
(0, bun_test_1.expect)(ig.ignores('building.js')).toBe(false);
|
|
94
|
-
});
|
|
95
|
-
(0, bun_test_1.it)('handles root-anchored patterns in root .gitignore', () => {
|
|
96
|
-
memfs_1.vol.reset();
|
|
97
|
-
memfs_1.vol.fromJSON({
|
|
98
|
-
'/project/.gitignore': '/config.js',
|
|
99
|
-
});
|
|
100
|
-
const ig = (0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
101
|
-
(0, bun_test_1.expect)(ig.ignores('config.js')).toBe(true);
|
|
102
|
-
(0, bun_test_1.expect)(ig.ignores('src/config.js')).toBe(false);
|
|
103
|
-
});
|
|
104
|
-
(0, bun_test_1.it)('handles root-anchored patterns in subdirectory .gitignore', () => {
|
|
105
|
-
memfs_1.vol.reset();
|
|
106
|
-
memfs_1.vol.fromJSON({
|
|
107
|
-
'/project/src/.gitignore': '/config.js',
|
|
108
|
-
});
|
|
109
|
-
const ig = (0, project_file_tree_1.parseGitignore)(path_1.default.join(projectRoot, 'src'), projectRoot);
|
|
110
|
-
(0, bun_test_1.expect)(ig.ignores('config.js')).toBe(true);
|
|
111
|
-
(0, bun_test_1.expect)(ig.ignores('src/config.js')).toBe(false);
|
|
112
|
-
});
|
|
113
|
-
(0, bun_test_1.it)('handles negation patterns', () => {
|
|
114
|
-
memfs_1.vol.reset();
|
|
115
|
-
memfs_1.vol.fromJSON({
|
|
116
|
-
'/project/.gitignore': `
|
|
117
|
-
*.log
|
|
118
|
-
!important.log
|
|
119
|
-
`,
|
|
120
|
-
});
|
|
121
|
-
const ig = (0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
122
|
-
(0, bun_test_1.expect)(ig.ignores('debug.log')).toBe(true);
|
|
123
|
-
(0, bun_test_1.expect)(ig.ignores('important.log')).toBe(false);
|
|
124
|
-
});
|
|
125
|
-
(0, bun_test_1.it)('handles patterns with leading/trailing whitespace', () => {
|
|
126
|
-
memfs_1.vol.reset();
|
|
127
|
-
memfs_1.vol.fromJSON({
|
|
128
|
-
'/project/.gitignore': `
|
|
129
|
-
\t file.txt \t
|
|
130
|
-
\t *.log \t
|
|
131
|
-
`,
|
|
132
|
-
});
|
|
133
|
-
const ig = (0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
134
|
-
(0, bun_test_1.expect)(ig.ignores('file.txt')).toBe(true);
|
|
135
|
-
(0, bun_test_1.expect)(ig.ignores('debug.log')).toBe(true);
|
|
136
|
-
});
|
|
137
|
-
(0, bun_test_1.it)('handles .codebuffignore and .manicodeignore', () => {
|
|
138
|
-
memfs_1.vol.reset();
|
|
139
|
-
memfs_1.vol.fromJSON({
|
|
140
|
-
'/project/.codebuffignore': 'codebuff.log',
|
|
141
|
-
'/project/.manicodeignore': 'manicode.log',
|
|
142
|
-
});
|
|
143
|
-
const ig = (0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
144
|
-
(0, bun_test_1.expect)(ig.ignores('codebuff.log')).toBe(true);
|
|
145
|
-
(0, bun_test_1.expect)(ig.ignores('manicode.log')).toBe(true);
|
|
146
|
-
(0, bun_test_1.expect)(ig.ignores('other.log')).toBe(false);
|
|
147
|
-
});
|
|
148
|
-
(0, bun_test_1.it)('handles multiple ignore files in the same directory', () => {
|
|
149
|
-
memfs_1.vol.reset();
|
|
150
|
-
memfs_1.vol.fromJSON({
|
|
151
|
-
'/project/.gitignore': 'git.log',
|
|
152
|
-
'/project/.codebuffignore': 'codebuff.log',
|
|
153
|
-
'/project/.manicodeignore': '!git.log', // Should not un-ignore git.log
|
|
154
|
-
});
|
|
155
|
-
const ig = (0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
156
|
-
(0, bun_test_1.expect)(ig.ignores('git.log')).toBe(true);
|
|
157
|
-
(0, bun_test_1.expect)(ig.ignores('codebuff.log')).toBe(true);
|
|
158
|
-
});
|
|
159
|
-
(0, bun_test_1.it)('handles Windows-style backslashes', () => {
|
|
160
|
-
memfs_1.vol.reset();
|
|
161
|
-
memfs_1.vol.fromJSON({
|
|
162
|
-
'/project/.gitignore': 'src\\build\\output.js',
|
|
163
|
-
});
|
|
164
|
-
const ig = (0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
165
|
-
(0, bun_test_1.expect)(ig.ignores('src/build/output.js')).toBe(true);
|
|
166
|
-
});
|
|
167
|
-
(0, bun_test_1.it)('handles patterns relative to subdirectory .gitignore', () => {
|
|
168
|
-
memfs_1.vol.reset();
|
|
169
|
-
memfs_1.vol.fromJSON({
|
|
170
|
-
'/project/src/.gitignore': 'build/',
|
|
171
|
-
});
|
|
172
|
-
const ig = (0, project_file_tree_1.parseGitignore)(path_1.default.join(projectRoot, 'src'), projectRoot);
|
|
173
|
-
(0, bun_test_1.expect)(ig.ignores('src/build/output.js')).toBe(true);
|
|
174
|
-
(0, bun_test_1.expect)(ig.ignores('build/output.js')).toBe(false);
|
|
175
|
-
});
|
|
176
|
-
(0, bun_test_1.it)('calls fs.existsSync and fs.readFileSync for each ignore file', () => {
|
|
177
|
-
memfs_1.vol.reset();
|
|
178
|
-
memfs_1.vol.fromJSON({
|
|
179
|
-
'/project/.gitignore': 'git.log',
|
|
180
|
-
'/project/.codebuffignore': 'codebuff.log',
|
|
181
|
-
});
|
|
182
|
-
const existsSpy = bun_test_1.mock.spyOn(fs_1.default, 'existsSync');
|
|
183
|
-
const readSpy = bun_test_1.mock.spyOn(fs_1.default, 'readFileSync');
|
|
184
|
-
(0, project_file_tree_1.parseGitignore)(projectRoot, projectRoot);
|
|
185
|
-
// Should check for all three possible ignore files
|
|
186
|
-
(0, bun_test_1.expect)(existsSpy).toHaveBeenCalledTimes(3);
|
|
187
|
-
(0, bun_test_1.expect)(existsSpy).toHaveBeenCalledWith(path_1.default.join(projectRoot, '.gitignore'));
|
|
188
|
-
(0, bun_test_1.expect)(existsSpy).toHaveBeenCalledWith(path_1.default.join(projectRoot, '.codebuffignore'));
|
|
189
|
-
(0, bun_test_1.expect)(existsSpy).toHaveBeenCalledWith(path_1.default.join(projectRoot, '.manicodeignore'));
|
|
190
|
-
// Should read the two files that exist
|
|
191
|
-
(0, bun_test_1.expect)(readSpy).toHaveBeenCalledTimes(2);
|
|
192
|
-
(0, bun_test_1.expect)(readSpy).toHaveBeenCalledWith(path_1.default.join(projectRoot, '.gitignore'), 'utf8');
|
|
193
|
-
(0, bun_test_1.expect)(readSpy).toHaveBeenCalledWith(path_1.default.join(projectRoot, '.codebuffignore'), 'utf8');
|
|
194
|
-
existsSpy.mockRestore();
|
|
195
|
-
readSpy.mockRestore();
|
|
196
|
-
});
|
|
197
|
-
});
|
|
198
|
-
(0, bun_test_1.describe)('isFileIgnored', () => {
|
|
199
|
-
const projectRoot = '/project';
|
|
200
|
-
(0, bun_test_1.it)('aggregates ignore rules from parent directories', () => {
|
|
201
|
-
memfs_1.vol.reset();
|
|
202
|
-
memfs_1.vol.fromJSON({
|
|
203
|
-
'/project/.gitignore': '*.log',
|
|
204
|
-
'/project/src/.gitignore': 'build/',
|
|
205
|
-
'/project/src/frontend/.gitignore': '*.min.js',
|
|
206
|
-
});
|
|
207
|
-
const parseGitignoreSpy = bun_test_1.mock.spyOn(projectFileTreeModule, 'parseGitignore');
|
|
208
|
-
// Root .gitignore pattern
|
|
209
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('debug.log', projectRoot)).toBe(true);
|
|
210
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('src/error.log', projectRoot)).toBe(true);
|
|
211
|
-
// src/.gitignore pattern
|
|
212
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('src/build/output.js', projectRoot)).toBe(true);
|
|
213
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('other/build/output.js', projectRoot)).toBe(false);
|
|
214
|
-
// src/frontend/.gitignore pattern
|
|
215
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('src/frontend/app.min.js', projectRoot)).toBe(true);
|
|
216
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('src/frontend/app.js', projectRoot)).toBe(false);
|
|
217
|
-
// Should call parseGitignore for each directory up to root
|
|
218
|
-
(0, bun_test_1.expect)(parseGitignoreSpy).toHaveBeenCalledTimes(3);
|
|
219
|
-
parseGitignoreSpy.mockRestore();
|
|
220
|
-
});
|
|
221
|
-
(0, bun_test_1.it)('handles root-anchored patterns in subdirectories', () => {
|
|
222
|
-
memfs_1.vol.reset();
|
|
223
|
-
memfs_1.vol.fromJSON({
|
|
224
|
-
'/project/src/.gitignore': '/config.js',
|
|
225
|
-
});
|
|
226
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('config.js', projectRoot)).toBe(true);
|
|
227
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('src/config.js', projectRoot)).toBe(false);
|
|
228
|
-
});
|
|
229
|
-
(0, bun_test_1.it)('handles negation patterns across directories', () => {
|
|
230
|
-
memfs_1.vol.reset();
|
|
231
|
-
memfs_1.vol.fromJSON({
|
|
232
|
-
'/project/.gitignore': '*.log',
|
|
233
|
-
'/project/src/.gitignore': '!important.log',
|
|
234
|
-
});
|
|
235
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('debug.log', projectRoot)).toBe(true);
|
|
236
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('src/important.log', projectRoot)).toBe(false);
|
|
237
|
-
});
|
|
238
|
-
(0, bun_test_1.it)('handles multiple ignore files in the same directory', () => {
|
|
239
|
-
memfs_1.vol.reset();
|
|
240
|
-
memfs_1.vol.fromJSON({
|
|
241
|
-
'/project/src/.gitignore': 'git.log',
|
|
242
|
-
'/project/src/.codebuffignore': 'codebuff.log',
|
|
243
|
-
'/project/src/.manicodeignore': 'manicode.log',
|
|
244
|
-
});
|
|
245
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('src/git.log', projectRoot)).toBe(true);
|
|
246
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('src/codebuff.log', projectRoot)).toBe(true);
|
|
247
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('src/manicode.log', projectRoot)).toBe(true);
|
|
248
|
-
(0, bun_test_1.expect)((0, project_file_tree_1.isFileIgnored)('src/other.log', projectRoot)).toBe(false);
|
|
249
|
-
});
|
|
250
|
-
});
|
|
251
|
-
//# sourceMappingURL=project-file-tree.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"project-file-tree.test.js","sourceRoot":"","sources":["../../src/__tests__/project-file-tree.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,119 +0,0 @@
|
|
|
1
|
-
// Bun Snapshot v1, https://goo.gl/fbAQLP
|
|
2
|
-
|
|
3
|
-
exports[`stringifySchema should correctly stringify StartupProcessSchema 1`] = `
|
|
4
|
-
"// Defines a single startup process.
|
|
5
|
-
{
|
|
6
|
-
// A user-friendly name for the process. Should be one word and unique.
|
|
7
|
-
"name": string,
|
|
8
|
-
|
|
9
|
-
// The actual shell command to execute.
|
|
10
|
-
"command": string,
|
|
11
|
-
|
|
12
|
-
// (optional): The working directory from which to run the command.
|
|
13
|
-
"cwd": string | undefined,
|
|
14
|
-
|
|
15
|
-
// (optional): Whether this process should be run, default: true
|
|
16
|
-
"enabled": boolean | undefined,
|
|
17
|
-
|
|
18
|
-
// (optional): Path to write the process's stdout. If not specified, stderr is not stored.
|
|
19
|
-
"stdoutFile": string | undefined,
|
|
20
|
-
|
|
21
|
-
// (optional): Path to write the process's stderr. If not specified, stderr will be put into the stdoutFile.
|
|
22
|
-
"stderrFile": string | undefined
|
|
23
|
-
}"
|
|
24
|
-
`;
|
|
25
|
-
|
|
26
|
-
exports[`stringifySchema should correctly stringify CodebuffConfigSchema 1`] = `
|
|
27
|
-
"// Defines the overall Codebuff configuration file (e.g., codebuff.json). This schema defines the top-level structure of the configuration.
|
|
28
|
-
{
|
|
29
|
-
// (optional): Does nothing. Put any thing you want here!
|
|
30
|
-
"description": any | undefined,
|
|
31
|
-
|
|
32
|
-
// (optional): An array of startup processes.
|
|
33
|
-
"startupProcesses": [
|
|
34
|
-
|
|
35
|
-
// Defines a single startup process.
|
|
36
|
-
{
|
|
37
|
-
// A user-friendly name for the process. Should be one word and unique.
|
|
38
|
-
"name": string,
|
|
39
|
-
|
|
40
|
-
// The actual shell command to execute.
|
|
41
|
-
"command": string,
|
|
42
|
-
|
|
43
|
-
// (optional): The working directory from which to run the command.
|
|
44
|
-
"cwd": string | undefined,
|
|
45
|
-
|
|
46
|
-
// (optional): Whether this process should be run, default: true
|
|
47
|
-
"enabled": boolean | undefined,
|
|
48
|
-
|
|
49
|
-
// (optional): Path to write the process's stdout. If not specified, stderr is not stored.
|
|
50
|
-
"stdoutFile": string | undefined,
|
|
51
|
-
|
|
52
|
-
// (optional): Path to write the process's stderr. If not specified, stderr will be put into the stdoutFile.
|
|
53
|
-
"stderrFile": string | undefined
|
|
54
|
-
}
|
|
55
|
-
] | undefined
|
|
56
|
-
}"
|
|
57
|
-
`;
|
|
58
|
-
|
|
59
|
-
exports[`stringifySchema should handle a more complex schema 1`] = `
|
|
60
|
-
"// A complex test schema
|
|
61
|
-
{
|
|
62
|
-
// Unique identifier
|
|
63
|
-
"id": string,
|
|
64
|
-
|
|
65
|
-
// A positive integer count
|
|
66
|
-
"count": number,
|
|
67
|
-
|
|
68
|
-
// Activity status
|
|
69
|
-
"isActive": boolean,
|
|
70
|
-
|
|
71
|
-
// (optional): Optional list of tags
|
|
72
|
-
"tags": [
|
|
73
|
-
|
|
74
|
-
string
|
|
75
|
-
] | undefined,
|
|
76
|
-
|
|
77
|
-
// A nested object structure
|
|
78
|
-
"nested": {
|
|
79
|
-
"value": string,
|
|
80
|
-
|
|
81
|
-
// Nested configuration
|
|
82
|
-
"config": {
|
|
83
|
-
// (optional): Number of retries, default: 3
|
|
84
|
-
"retries": number
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}"
|
|
88
|
-
`;
|
|
89
|
-
|
|
90
|
-
exports[`stringifySchema should handle an empty object schema 1`] = `
|
|
91
|
-
"// An empty schema
|
|
92
|
-
{
|
|
93
|
-
}"
|
|
94
|
-
`;
|
|
95
|
-
|
|
96
|
-
exports[`stringifySchema should handle schema with only optional fields 1`] = `
|
|
97
|
-
"// Schema with only optional fields
|
|
98
|
-
{
|
|
99
|
-
// (optional): Optional field 1
|
|
100
|
-
"field1": string | undefined,
|
|
101
|
-
|
|
102
|
-
// (optional): Optional field 2
|
|
103
|
-
"field2": number | undefined
|
|
104
|
-
}"
|
|
105
|
-
`;
|
|
106
|
-
|
|
107
|
-
exports[`stringifySchema should handle schema with default values 1`] = `
|
|
108
|
-
"// Schema demonstrating default values
|
|
109
|
-
{
|
|
110
|
-
// (optional): Name with default, default: "anonymous"
|
|
111
|
-
"name": string,
|
|
112
|
-
|
|
113
|
-
// (optional): Level with default, default: 1
|
|
114
|
-
"level": number,
|
|
115
|
-
|
|
116
|
-
// (optional): Enabled with default, default: false
|
|
117
|
-
"enabled": boolean
|
|
118
|
-
}"
|
|
119
|
-
`;
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export declare function processStreamWithTags<T extends string>(stream: AsyncGenerator<T>, tags: {
|
|
2
|
-
[tagName: string]: {
|
|
3
|
-
attributeNames: string[];
|
|
4
|
-
onTagStart: (attributes: Record<string, string>) => void;
|
|
5
|
-
onTagEnd: (content: string, attributes: Record<string, string>) => boolean;
|
|
6
|
-
};
|
|
7
|
-
}): AsyncGenerator<string, void, unknown>;
|
|
@@ -1,162 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.processStreamWithTags = processStreamWithTags;
|
|
4
|
-
const saxy_1 = require("./saxy");
|
|
5
|
-
async function* processStreamWithTags(stream, tags) {
|
|
6
|
-
const saxyParser = new saxy_1.Saxy();
|
|
7
|
-
let currentTagName = null;
|
|
8
|
-
let currentTagAttributes = {};
|
|
9
|
-
let currentTagContentBuffer = '';
|
|
10
|
-
let shouldStopProcessing = false;
|
|
11
|
-
const outputQueue = [];
|
|
12
|
-
const enqueueOutput = (str) => {
|
|
13
|
-
if (str) {
|
|
14
|
-
// Only enqueue non-empty strings
|
|
15
|
-
outputQueue.push(str);
|
|
16
|
-
}
|
|
17
|
-
};
|
|
18
|
-
saxyParser.on('tagopen', (node) => {
|
|
19
|
-
if (shouldStopProcessing)
|
|
20
|
-
return;
|
|
21
|
-
if (currentTagName === null) {
|
|
22
|
-
// Not currently inside a tracked tag
|
|
23
|
-
if (tags[node.name]) {
|
|
24
|
-
// This is a tag we want to track
|
|
25
|
-
currentTagName = node.name;
|
|
26
|
-
try {
|
|
27
|
-
currentTagAttributes = saxy_1.Saxy.parseAttrs(node.attrs);
|
|
28
|
-
}
|
|
29
|
-
catch (e) {
|
|
30
|
-
// If attributes are malformed, default to empty or handle as error
|
|
31
|
-
// console.error(`Error parsing attributes for tag ${node.name}: "${node.attrs}"`, e);
|
|
32
|
-
currentTagAttributes = {}; // Default to empty attributes on parsing error
|
|
33
|
-
}
|
|
34
|
-
tags[currentTagName].onTagStart(currentTagAttributes);
|
|
35
|
-
currentTagContentBuffer = '';
|
|
36
|
-
if (node.isSelfClosing) {
|
|
37
|
-
const stop = tags[currentTagName].onTagEnd(currentTagContentBuffer, currentTagAttributes);
|
|
38
|
-
currentTagName = null;
|
|
39
|
-
currentTagAttributes = {};
|
|
40
|
-
if (stop) {
|
|
41
|
-
shouldStopProcessing = true;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
// A non-tracked tag, pass it through
|
|
47
|
-
enqueueOutput(`<${node.name}${node.attrs ? ' ' + node.attrs : ''}${node.isSelfClosing ? ' /' : ''}>`);
|
|
48
|
-
}
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
// Inside a tracked tag, so this is nested content
|
|
52
|
-
currentTagContentBuffer += `<${node.name}${node.attrs ? ' ' + node.attrs : ''}${node.isSelfClosing ? ' /' : ''}>`;
|
|
53
|
-
}
|
|
54
|
-
});
|
|
55
|
-
saxyParser.on('text', (node) => {
|
|
56
|
-
if (shouldStopProcessing)
|
|
57
|
-
return;
|
|
58
|
-
if (currentTagName !== null) {
|
|
59
|
-
currentTagContentBuffer += node.contents;
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
enqueueOutput(node.contents);
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
saxyParser.on('tagclose', (node) => {
|
|
66
|
-
if (shouldStopProcessing)
|
|
67
|
-
return;
|
|
68
|
-
if (currentTagName === node.name) {
|
|
69
|
-
const stop = tags[currentTagName].onTagEnd(currentTagContentBuffer, currentTagAttributes);
|
|
70
|
-
currentTagName = null;
|
|
71
|
-
currentTagAttributes = {};
|
|
72
|
-
currentTagContentBuffer = '';
|
|
73
|
-
if (stop) {
|
|
74
|
-
shouldStopProcessing = true;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
else if (currentTagName !== null) {
|
|
78
|
-
// Closing a nested tag inside a tracked tag
|
|
79
|
-
currentTagContentBuffer += `</${node.name}>`;
|
|
80
|
-
}
|
|
81
|
-
else {
|
|
82
|
-
// Closing a non-tracked tag, pass it through
|
|
83
|
-
enqueueOutput(`</${node.name}>`);
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
saxyParser.on('cdata', (node) => {
|
|
87
|
-
if (shouldStopProcessing)
|
|
88
|
-
return;
|
|
89
|
-
const cdataStr = `<![CDATA[${node.contents}]]>`;
|
|
90
|
-
if (currentTagName !== null) {
|
|
91
|
-
currentTagContentBuffer += cdataStr;
|
|
92
|
-
}
|
|
93
|
-
else {
|
|
94
|
-
enqueueOutput(cdataStr);
|
|
95
|
-
}
|
|
96
|
-
});
|
|
97
|
-
saxyParser.on('comment', (node) => {
|
|
98
|
-
if (shouldStopProcessing)
|
|
99
|
-
return;
|
|
100
|
-
const commentStr = `<!--${node.contents}-->`;
|
|
101
|
-
if (currentTagName !== null) {
|
|
102
|
-
currentTagContentBuffer += commentStr;
|
|
103
|
-
}
|
|
104
|
-
else {
|
|
105
|
-
enqueueOutput(commentStr);
|
|
106
|
-
}
|
|
107
|
-
});
|
|
108
|
-
saxyParser.on('processinginstruction', (node) => {
|
|
109
|
-
if (shouldStopProcessing)
|
|
110
|
-
return;
|
|
111
|
-
const piStr = `<?${node.contents}?>`;
|
|
112
|
-
if (currentTagName !== null) {
|
|
113
|
-
currentTagContentBuffer += piStr;
|
|
114
|
-
}
|
|
115
|
-
else {
|
|
116
|
-
enqueueOutput(piStr);
|
|
117
|
-
}
|
|
118
|
-
});
|
|
119
|
-
saxyParser.on('error', (err) => {
|
|
120
|
-
// Saxy might emit 'error' for issues not causing write/end to throw.
|
|
121
|
-
// This flag helps stop processing in such cases.
|
|
122
|
-
// console.error("Saxy parser emitted an error:", err);
|
|
123
|
-
shouldStopProcessing = true;
|
|
124
|
-
// The error might need to be explicitly thrown here if it's critical
|
|
125
|
-
// and not otherwise surfaced to the generator's caller.
|
|
126
|
-
// For now, this ensures processing stops.
|
|
127
|
-
});
|
|
128
|
-
try {
|
|
129
|
-
for await (const chunk of stream) {
|
|
130
|
-
if (shouldStopProcessing)
|
|
131
|
-
break;
|
|
132
|
-
saxyParser.write(chunk); // Saxy events fill outputQueue
|
|
133
|
-
while (outputQueue.length > 0) {
|
|
134
|
-
// If stopping and not inside a tracked tag, clear queue to prevent further passthrough.
|
|
135
|
-
if (shouldStopProcessing && currentTagName === null) {
|
|
136
|
-
outputQueue.length = 0;
|
|
137
|
-
break;
|
|
138
|
-
}
|
|
139
|
-
yield outputQueue.shift();
|
|
140
|
-
}
|
|
141
|
-
// Re-check stop condition after yielding, as an event during write might have set it.
|
|
142
|
-
if (shouldStopProcessing)
|
|
143
|
-
break;
|
|
144
|
-
}
|
|
145
|
-
if (!shouldStopProcessing) {
|
|
146
|
-
saxyParser.end(); // Finalize parsing
|
|
147
|
-
while (outputQueue.length > 0) {
|
|
148
|
-
if (shouldStopProcessing && currentTagName === null) {
|
|
149
|
-
outputQueue.length = 0;
|
|
150
|
-
break;
|
|
151
|
-
}
|
|
152
|
-
yield outputQueue.shift();
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
// Catches errors from saxyParser.write() or saxyParser.end()
|
|
158
|
-
// console.error("Error during Saxy stream processing in generator:", error);
|
|
159
|
-
throw error; // Propagate error to the caller
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
//# sourceMappingURL=process-stream.js.map
|