codebuff 1.0.310 → 1.0.312
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/inititalization-flow.js +1 -0
- package/dist/cli-handlers/inititalization-flow.js.map +1 -1
- package/dist/common/json-config/__tests__/constants.test.d.ts +1 -0
- package/dist/common/json-config/__tests__/constants.test.js +273 -0
- package/dist/common/json-config/__tests__/constants.test.js.map +1 -0
- package/dist/index.js +6 -0
- package/package.json +2 -2
- package/dist/common/json-config/parser.d.ts +0 -7
- package/dist/common/json-config/parser.js +0 -51
- package/dist/common/json-config/parser.js.map +0 -1
- package/dist/json-config-parser.d.ts +0 -7
- package/dist/json-config-parser.js +0 -53
- package/dist/json-config-parser.js.map +0 -1
|
@@ -17,6 +17,7 @@ function handleInitializationFlowLocally() {
|
|
|
17
17
|
const configContent = {
|
|
18
18
|
description: 'Template configuration for this project. See https://www.codebuff.com/config for all options.',
|
|
19
19
|
startupProcesses: [],
|
|
20
|
+
fileChangeHooks: [],
|
|
20
21
|
};
|
|
21
22
|
(0, fs_1.writeFileSync)(configPath, JSON.stringify(configContent, null, 2));
|
|
22
23
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inititalization-flow.js","sourceRoot":"","sources":["../../src/cli-handlers/inititalization-flow.ts"],"names":[],"mappings":";;;;;AAOA,
|
|
1
|
+
{"version":3,"file":"inititalization-flow.js","sourceRoot":"","sources":["../../src/cli-handlers/inititalization-flow.ts"],"names":[],"mappings":";;;;;AAOA,0EAgBC;AAvBD,2BAA8C;AAC9C,gDAAuB;AAEvB,4DAAiE;AAEjE,oDAAiD;AAEjD,SAAgB,+BAA+B;IAC7C,MAAM,WAAW,GAAG,IAAA,8BAAc,GAAE,CAAA;IAEpC,gDAAgD;IAEhD,MAAM,UAAU,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,8BAAkB,CAAC,CAAA;IAC7D,IAAI,CAAC,IAAA,eAAU,EAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,yBAAyB;QACzB,MAAM,aAAa,GAAG;YACpB,WAAW,EACT,+FAA+F;YACjG,gBAAgB,EAAE,EAAE;YACpB,eAAe,EAAE,EAAE;SACpB,CAAA;QACD,IAAA,kBAAa,EAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAA;IACnE,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,273 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
// @ts-ignore
|
|
4
|
+
const bun_test_1 = require("bun:test");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
(0, bun_test_1.describe)('constants', () => {
|
|
7
|
+
(0, bun_test_1.describe)('codebuffConfigFile and codebuffConfigFileBackup', () => {
|
|
8
|
+
(0, bun_test_1.it)('should have correct file names', () => {
|
|
9
|
+
(0, bun_test_1.expect)(constants_1.codebuffConfigFile).toBe('codebuff.json');
|
|
10
|
+
(0, bun_test_1.expect)(constants_1.codebuffConfigFileBackup).toBe('codebuff.jsonc');
|
|
11
|
+
});
|
|
12
|
+
});
|
|
13
|
+
(0, bun_test_1.describe)('StartupProcessSchema', () => {
|
|
14
|
+
(0, bun_test_1.it)('should validate a minimal startup process', () => {
|
|
15
|
+
const validProcess = {
|
|
16
|
+
name: 'test-process',
|
|
17
|
+
command: 'echo hello',
|
|
18
|
+
};
|
|
19
|
+
const result = constants_1.StartupProcessSchema.safeParse(validProcess);
|
|
20
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
21
|
+
if (result.success) {
|
|
22
|
+
(0, bun_test_1.expect)(result.data.enabled).toBe(true); // default value
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
(0, bun_test_1.it)('should validate a complete startup process', () => {
|
|
26
|
+
const validProcess = {
|
|
27
|
+
name: 'web-server',
|
|
28
|
+
command: 'npm start',
|
|
29
|
+
cwd: './web',
|
|
30
|
+
enabled: false,
|
|
31
|
+
stdoutFile: 'logs/web.log',
|
|
32
|
+
stderrFile: 'logs/web-error.log',
|
|
33
|
+
};
|
|
34
|
+
const result = constants_1.StartupProcessSchema.safeParse(validProcess);
|
|
35
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
36
|
+
if (result.success) {
|
|
37
|
+
(0, bun_test_1.expect)(result.data).toEqual(validProcess);
|
|
38
|
+
}
|
|
39
|
+
});
|
|
40
|
+
(0, bun_test_1.it)('should reject startup process with empty name', () => {
|
|
41
|
+
const invalidProcess = {
|
|
42
|
+
name: '',
|
|
43
|
+
command: 'echo hello',
|
|
44
|
+
};
|
|
45
|
+
const result = constants_1.StartupProcessSchema.safeParse(invalidProcess);
|
|
46
|
+
(0, bun_test_1.expect)(result.success).toBe(false);
|
|
47
|
+
});
|
|
48
|
+
(0, bun_test_1.it)('should reject startup process with empty command', () => {
|
|
49
|
+
const invalidProcess = {
|
|
50
|
+
name: 'test',
|
|
51
|
+
command: '',
|
|
52
|
+
};
|
|
53
|
+
const result = constants_1.StartupProcessSchema.safeParse(invalidProcess);
|
|
54
|
+
(0, bun_test_1.expect)(result.success).toBe(false);
|
|
55
|
+
});
|
|
56
|
+
(0, bun_test_1.it)('should apply default enabled value', () => {
|
|
57
|
+
const process = {
|
|
58
|
+
name: 'test',
|
|
59
|
+
command: 'echo hello',
|
|
60
|
+
};
|
|
61
|
+
const result = constants_1.StartupProcessSchema.safeParse(process);
|
|
62
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
63
|
+
if (result.success) {
|
|
64
|
+
(0, bun_test_1.expect)(result.data.enabled).toBe(true);
|
|
65
|
+
}
|
|
66
|
+
});
|
|
67
|
+
});
|
|
68
|
+
(0, bun_test_1.describe)('FileChangeHook', () => {
|
|
69
|
+
(0, bun_test_1.it)('should validate a minimal file change hook', () => {
|
|
70
|
+
const validHook = {
|
|
71
|
+
name: 'test-hook',
|
|
72
|
+
command: 'npm test',
|
|
73
|
+
};
|
|
74
|
+
const result = constants_1.FileChangeHook.safeParse(validHook);
|
|
75
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
76
|
+
if (result.success) {
|
|
77
|
+
(0, bun_test_1.expect)(result.data.enabled).toBe(true); // default value
|
|
78
|
+
}
|
|
79
|
+
});
|
|
80
|
+
(0, bun_test_1.it)('should validate a complete file change hook', () => {
|
|
81
|
+
const validHook = {
|
|
82
|
+
name: 'lint-check',
|
|
83
|
+
command: 'eslint .',
|
|
84
|
+
cwd: './src',
|
|
85
|
+
filePattern: '**/*.ts',
|
|
86
|
+
enabled: false,
|
|
87
|
+
};
|
|
88
|
+
const result = constants_1.FileChangeHook.safeParse(validHook);
|
|
89
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
90
|
+
if (result.success) {
|
|
91
|
+
(0, bun_test_1.expect)(result.data).toEqual(validHook);
|
|
92
|
+
}
|
|
93
|
+
});
|
|
94
|
+
(0, bun_test_1.it)('should reject hook with empty name', () => {
|
|
95
|
+
const invalidHook = {
|
|
96
|
+
name: '',
|
|
97
|
+
command: 'npm test',
|
|
98
|
+
};
|
|
99
|
+
const result = constants_1.FileChangeHook.safeParse(invalidHook);
|
|
100
|
+
(0, bun_test_1.expect)(result.success).toBe(false);
|
|
101
|
+
});
|
|
102
|
+
(0, bun_test_1.it)('should reject hook with empty command', () => {
|
|
103
|
+
const invalidHook = {
|
|
104
|
+
name: 'test',
|
|
105
|
+
command: '',
|
|
106
|
+
};
|
|
107
|
+
const result = constants_1.FileChangeHook.safeParse(invalidHook);
|
|
108
|
+
(0, bun_test_1.expect)(result.success).toBe(false);
|
|
109
|
+
});
|
|
110
|
+
});
|
|
111
|
+
(0, bun_test_1.describe)('CodebuffConfigSchema', () => {
|
|
112
|
+
(0, bun_test_1.it)('should validate an empty object as a valid config', () => {
|
|
113
|
+
const emptyConfig = {};
|
|
114
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(emptyConfig);
|
|
115
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
116
|
+
if (result.success) {
|
|
117
|
+
(0, bun_test_1.expect)(result.data.maxAgentSteps).toBe(12); // default value
|
|
118
|
+
(0, bun_test_1.expect)(result.data.description).toBeUndefined();
|
|
119
|
+
(0, bun_test_1.expect)(result.data.startupProcesses).toBeUndefined();
|
|
120
|
+
(0, bun_test_1.expect)(result.data.fileChangeHooks).toBeUndefined();
|
|
121
|
+
}
|
|
122
|
+
});
|
|
123
|
+
(0, bun_test_1.it)('should validate a minimal config with description only', () => {
|
|
124
|
+
const config = {
|
|
125
|
+
description: 'My project config',
|
|
126
|
+
};
|
|
127
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(config);
|
|
128
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
129
|
+
if (result.success) {
|
|
130
|
+
(0, bun_test_1.expect)(result.data.description).toBe('My project config');
|
|
131
|
+
(0, bun_test_1.expect)(result.data.maxAgentSteps).toBe(12);
|
|
132
|
+
}
|
|
133
|
+
});
|
|
134
|
+
(0, bun_test_1.it)('should validate a complete config', () => {
|
|
135
|
+
const config = {
|
|
136
|
+
description: 'Full configuration',
|
|
137
|
+
startupProcesses: [
|
|
138
|
+
{
|
|
139
|
+
name: 'web-server',
|
|
140
|
+
command: 'npm start',
|
|
141
|
+
cwd: './web',
|
|
142
|
+
stdoutFile: 'logs/web.log',
|
|
143
|
+
},
|
|
144
|
+
],
|
|
145
|
+
fileChangeHooks: [
|
|
146
|
+
{
|
|
147
|
+
name: 'test-runner',
|
|
148
|
+
command: 'npm test',
|
|
149
|
+
filePattern: '**/*.ts',
|
|
150
|
+
},
|
|
151
|
+
],
|
|
152
|
+
maxAgentSteps: 20,
|
|
153
|
+
};
|
|
154
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(config);
|
|
155
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
156
|
+
if (result.success) {
|
|
157
|
+
(0, bun_test_1.expect)(result.data).toEqual({
|
|
158
|
+
...config,
|
|
159
|
+
startupProcesses: [
|
|
160
|
+
{
|
|
161
|
+
...config.startupProcesses[0],
|
|
162
|
+
enabled: true, // default value
|
|
163
|
+
},
|
|
164
|
+
],
|
|
165
|
+
fileChangeHooks: [
|
|
166
|
+
{
|
|
167
|
+
...config.fileChangeHooks[0],
|
|
168
|
+
enabled: true, // default value
|
|
169
|
+
},
|
|
170
|
+
],
|
|
171
|
+
});
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
(0, bun_test_1.it)('should accept any type for description field', () => {
|
|
175
|
+
const configs = [
|
|
176
|
+
{ description: 'string description' },
|
|
177
|
+
{ description: 42 },
|
|
178
|
+
{ description: true },
|
|
179
|
+
{ description: { nested: 'object' } },
|
|
180
|
+
{ description: ['array', 'values'] },
|
|
181
|
+
{ description: null },
|
|
182
|
+
];
|
|
183
|
+
configs.forEach((config) => {
|
|
184
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(config);
|
|
185
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
186
|
+
});
|
|
187
|
+
});
|
|
188
|
+
(0, bun_test_1.it)('should apply default maxAgentSteps value', () => {
|
|
189
|
+
const config = {
|
|
190
|
+
description: 'Test config',
|
|
191
|
+
};
|
|
192
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(config);
|
|
193
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
194
|
+
if (result.success) {
|
|
195
|
+
(0, bun_test_1.expect)(result.data.maxAgentSteps).toBe(12);
|
|
196
|
+
}
|
|
197
|
+
});
|
|
198
|
+
(0, bun_test_1.it)('should allow custom maxAgentSteps value', () => {
|
|
199
|
+
const config = {
|
|
200
|
+
maxAgentSteps: 25,
|
|
201
|
+
};
|
|
202
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(config);
|
|
203
|
+
(0, bun_test_1.expect)(result.success).toBe(true);
|
|
204
|
+
if (result.success) {
|
|
205
|
+
(0, bun_test_1.expect)(result.data.maxAgentSteps).toBe(25);
|
|
206
|
+
}
|
|
207
|
+
});
|
|
208
|
+
(0, bun_test_1.it)('should reject invalid startup process in array', () => {
|
|
209
|
+
const config = {
|
|
210
|
+
startupProcesses: [
|
|
211
|
+
{
|
|
212
|
+
name: '', // invalid: empty name
|
|
213
|
+
command: 'npm start',
|
|
214
|
+
},
|
|
215
|
+
],
|
|
216
|
+
};
|
|
217
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(config);
|
|
218
|
+
(0, bun_test_1.expect)(result.success).toBe(false);
|
|
219
|
+
});
|
|
220
|
+
(0, bun_test_1.it)('should reject invalid file change hook in array', () => {
|
|
221
|
+
const config = {
|
|
222
|
+
fileChangeHooks: [
|
|
223
|
+
{
|
|
224
|
+
name: 'test',
|
|
225
|
+
command: '', // invalid: empty command
|
|
226
|
+
},
|
|
227
|
+
],
|
|
228
|
+
};
|
|
229
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(config);
|
|
230
|
+
(0, bun_test_1.expect)(result.success).toBe(false);
|
|
231
|
+
});
|
|
232
|
+
(0, bun_test_1.it)('should reject non-number maxAgentSteps', () => {
|
|
233
|
+
const config = {
|
|
234
|
+
maxAgentSteps: 'not-a-number',
|
|
235
|
+
};
|
|
236
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(config);
|
|
237
|
+
(0, bun_test_1.expect)(result.success).toBe(false);
|
|
238
|
+
});
|
|
239
|
+
(0, bun_test_1.it)('should reject non-array startupProcesses', () => {
|
|
240
|
+
const config = {
|
|
241
|
+
startupProcesses: 'not-an-array',
|
|
242
|
+
};
|
|
243
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(config);
|
|
244
|
+
(0, bun_test_1.expect)(result.success).toBe(false);
|
|
245
|
+
});
|
|
246
|
+
(0, bun_test_1.it)('should reject non-array fileChangeHooks', () => {
|
|
247
|
+
const config = {
|
|
248
|
+
fileChangeHooks: 'not-an-array',
|
|
249
|
+
};
|
|
250
|
+
const result = constants_1.CodebuffConfigSchema.safeParse(config);
|
|
251
|
+
(0, bun_test_1.expect)(result.success).toBe(false);
|
|
252
|
+
});
|
|
253
|
+
});
|
|
254
|
+
(0, bun_test_1.describe)('TypeScript types', () => {
|
|
255
|
+
(0, bun_test_1.it)('should have correct TypeScript types', () => {
|
|
256
|
+
// This test ensures the types are properly exported and inferred
|
|
257
|
+
const startupProcess = {
|
|
258
|
+
name: 'test',
|
|
259
|
+
command: 'echo hello',
|
|
260
|
+
enabled: true,
|
|
261
|
+
};
|
|
262
|
+
const config = {
|
|
263
|
+
description: 'Test config',
|
|
264
|
+
startupProcesses: [startupProcess],
|
|
265
|
+
maxAgentSteps: 15,
|
|
266
|
+
};
|
|
267
|
+
// If this compiles without TypeScript errors, the types are correct
|
|
268
|
+
(0, bun_test_1.expect)(startupProcess.name).toBe('test');
|
|
269
|
+
(0, bun_test_1.expect)(config.maxAgentSteps).toBe(15);
|
|
270
|
+
});
|
|
271
|
+
});
|
|
272
|
+
});
|
|
273
|
+
//# sourceMappingURL=constants.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.test.js","sourceRoot":"","sources":["../../../src/json-config/__tests__/constants.test.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,12 @@ 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
7
|
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com/';
|
|
8
|
+
process.env.NEXT_PUBLIC_CB_ENVIRONMENT = 'production';
|
|
9
|
+
process.env.NEXT_PUBLIC_BACKEND_URL = 'manicode-backend.onrender.com';
|
|
10
|
+
process.env.NEXT_PUBLIC_APP_URL = 'https://codebuff.com';
|
|
11
|
+
process.env.NEXT_PUBLIC_SUPPORT_EMAIL = 'support@codebuff.com';
|
|
12
|
+
process.env.NEXT_PUBLIC_POSTHOG_API_KEY = 'phc_tug7g8yc10qNestK14QV8WyKwjfEl6vwzIbJkBdqeHS';
|
|
13
|
+
process.env.NEXT_PUBLIC_POSTHOG_HOST_URL = 'https://us.i.posthog.com/';
|
|
8
14
|
"use strict";
|
|
9
15
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
10
16
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "codebuff",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.312",
|
|
4
4
|
"description": "AI dev assistant",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"postpublish": "echo \"const fs=require('fs');fs.copyFileSync('temp.package.json','package.json');fs.unlinkSync('temp.package.json');\" | bun run -",
|
|
14
14
|
"format": "prettier --write \"**/*.{ts,tsx,json,md}\"",
|
|
15
15
|
"test": "jest",
|
|
16
|
-
"start-js": "nx
|
|
16
|
+
"start-js": "nx build npm-app && bun run with-env -- sh -c 'TS_NODE_BASEURL=./dist node -r tsconfig-paths/register dist/index.js ..'",
|
|
17
17
|
"start": "nx build npm-app > /dev/null && bun run with-env -- sh -c 'TS_NODE_PROJECT=./tsconfig.json ts-node -r tsconfig-paths/register src/index.ts ..'",
|
|
18
18
|
"start-max": "nx build npm-app > /dev/null && bun run with-env -- sh -c 'TS_NODE_PROJECT=./tsconfig.json ts-node -r tsconfig-paths/register src/index.ts .. --max'",
|
|
19
19
|
"start-lite": "nx build npm-app > /dev/null && bun run with-env -- sh -c 'TS_NODE_PROJECT=./tsconfig.json ts-node -r tsconfig-paths/register src/index.ts .. --lite'",
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { CodebuffConfig } from './constants';
|
|
2
|
-
/**
|
|
3
|
-
* Loads and validates the configuration file from the project directory.
|
|
4
|
-
* @param projectPath - The root directory of the project
|
|
5
|
-
* @returns The parsed and validated configuration, or null if no valid config exists
|
|
6
|
-
*/
|
|
7
|
-
export declare function loadCodebuffConfig(projectPath: string): CodebuffConfig | null;
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.loadCodebuffConfig = loadCodebuffConfig;
|
|
7
|
-
const fs_1 = require("fs");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const jsonc_parser_1 = require("jsonc-parser");
|
|
10
|
-
const picocolors_1 = require("picocolors");
|
|
11
|
-
const constants_1 = require("./constants");
|
|
12
|
-
/**
|
|
13
|
-
* Loads and validates the configuration file from the project directory.
|
|
14
|
-
* @param projectPath - The root directory of the project
|
|
15
|
-
* @returns The parsed and validated configuration, or null if no valid config exists
|
|
16
|
-
*/
|
|
17
|
-
function loadCodebuffConfig(projectPath) {
|
|
18
|
-
const configPathPrimary = path_1.default.join(projectPath, constants_1.codebuffConfigFile);
|
|
19
|
-
const configPathBackup = path_1.default.join(projectPath, constants_1.codebuffConfigFileBackup);
|
|
20
|
-
const configPath = (0, fs_1.existsSync)(configPathBackup)
|
|
21
|
-
? configPathBackup
|
|
22
|
-
: (0, fs_1.existsSync)(configPathPrimary)
|
|
23
|
-
? configPathPrimary
|
|
24
|
-
: null;
|
|
25
|
-
if (configPath === null) {
|
|
26
|
-
return null;
|
|
27
|
-
}
|
|
28
|
-
try {
|
|
29
|
-
const jsoncContent = (0, fs_1.readFileSync)(configPath, 'utf-8');
|
|
30
|
-
const parsedConfig = (0, jsonc_parser_1.parse)(jsoncContent);
|
|
31
|
-
const result = constants_1.CodebuffConfigSchema.safeParse(parsedConfig);
|
|
32
|
-
if (!result.success) {
|
|
33
|
-
console.warn((0, picocolors_1.yellow)(`Warning: Invalid ${constants_1.codebuffConfigFile} configuration. Please check the schema:\n` +
|
|
34
|
-
result.error.errors
|
|
35
|
-
.map((err) => `- ${err.path.join('.')}: ${err.message}`)
|
|
36
|
-
.join('\n')));
|
|
37
|
-
return null;
|
|
38
|
-
}
|
|
39
|
-
return result.data;
|
|
40
|
-
}
|
|
41
|
-
catch (error) {
|
|
42
|
-
if (error instanceof SyntaxError) {
|
|
43
|
-
console.warn((0, picocolors_1.yellow)(`Warning: Invalid JSON in ${constants_1.codebuffConfigFile}. Please check the syntax.`));
|
|
44
|
-
}
|
|
45
|
-
else {
|
|
46
|
-
console.warn((0, picocolors_1.yellow)(`Warning: Error reading ${constants_1.codebuffConfigFile} configuration file.`));
|
|
47
|
-
}
|
|
48
|
-
return null;
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
//# sourceMappingURL=parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"parser.js","sourceRoot":"","sources":["../../src/json-config/parser.ts"],"names":[],"mappings":";;;;;AAkBA,gDAgDC;AAlED,2BAA6C;AAC7C,gDAAuB;AAEvB,+CAAkD;AAClD,2CAAmC;AAEnC,2CAKoB;AAEpB;;;;GAIG;AACH,SAAgB,kBAAkB,CAAC,WAAmB;IACpD,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,8BAAkB,CAAC,CAAA;IACpE,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oCAAwB,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,IAAA,eAAU,EAAC,gBAAgB,CAAC;QAC7C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,IAAA,eAAU,EAAC,iBAAiB,CAAC;YAC7B,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,CAAA;IAEV,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,IAAA,oBAAU,EAAC,YAAY,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,gCAAoB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAE3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,oBAAoB,8BAAkB,4CAA4C;gBAChF,MAAM,CAAC,KAAK,CAAC,MAAM;qBAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;qBACvD,IAAI,CAAC,IAAI,CAAC,CAChB,CACF,CAAA;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,4BAA4B,8BAAkB,4BAA4B,CAC3E,CACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,0BAA0B,8BAAkB,sBAAsB,CACnE,CACF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { CodebuffConfig } from './common/json-config/constants';
|
|
2
|
-
/**
|
|
3
|
-
* Loads and validates the configuration file from the project directory.
|
|
4
|
-
* @param projectPath - The root directory of the project
|
|
5
|
-
* @returns The parsed and validated configuration, or null if no valid config exists
|
|
6
|
-
*/
|
|
7
|
-
export declare function loadCodebuffConfig(): CodebuffConfig | null;
|
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.loadCodebuffConfig = loadCodebuffConfig;
|
|
7
|
-
const fs_1 = require("fs");
|
|
8
|
-
const path_1 = __importDefault(require("path"));
|
|
9
|
-
const jsonc_parser_1 = require("jsonc-parser");
|
|
10
|
-
const picocolors_1 = require("picocolors");
|
|
11
|
-
const constants_1 = require("./common/json-config/constants");
|
|
12
|
-
const project_files_1 = require("./project-files");
|
|
13
|
-
/**
|
|
14
|
-
* Loads and validates the configuration file from the project directory.
|
|
15
|
-
* @param projectPath - The root directory of the project
|
|
16
|
-
* @returns The parsed and validated configuration, or null if no valid config exists
|
|
17
|
-
*/
|
|
18
|
-
function loadCodebuffConfig() {
|
|
19
|
-
const projectPath = (0, project_files_1.getProjectRoot)();
|
|
20
|
-
const configPathPrimary = path_1.default.join(projectPath, constants_1.codebuffConfigFile);
|
|
21
|
-
const configPathBackup = path_1.default.join(projectPath, constants_1.codebuffConfigFileBackup);
|
|
22
|
-
const configPath = (0, fs_1.existsSync)(configPathBackup)
|
|
23
|
-
? configPathBackup
|
|
24
|
-
: (0, fs_1.existsSync)(configPathPrimary)
|
|
25
|
-
? configPathPrimary
|
|
26
|
-
: null;
|
|
27
|
-
if (configPath === null) {
|
|
28
|
-
return null;
|
|
29
|
-
}
|
|
30
|
-
try {
|
|
31
|
-
const jsoncContent = (0, fs_1.readFileSync)(configPath, 'utf-8');
|
|
32
|
-
const parsedConfig = (0, jsonc_parser_1.parse)(jsoncContent);
|
|
33
|
-
const result = constants_1.CodebuffConfigSchema.safeParse(parsedConfig);
|
|
34
|
-
if (!result.success) {
|
|
35
|
-
console.warn((0, picocolors_1.yellow)(`Warning: Invalid ${constants_1.codebuffConfigFile} configuration. Please check the schema:\n` +
|
|
36
|
-
result.error.errors
|
|
37
|
-
.map((err) => `- ${err.path.join('.')}: ${err.message}`)
|
|
38
|
-
.join('\n')));
|
|
39
|
-
return null;
|
|
40
|
-
}
|
|
41
|
-
return result.data;
|
|
42
|
-
}
|
|
43
|
-
catch (error) {
|
|
44
|
-
if (error instanceof SyntaxError) {
|
|
45
|
-
console.warn((0, picocolors_1.yellow)(`Warning: Invalid JSON in ${constants_1.codebuffConfigFile}. Please check the syntax.`));
|
|
46
|
-
}
|
|
47
|
-
else {
|
|
48
|
-
console.warn((0, picocolors_1.yellow)(`Warning: Error reading ${constants_1.codebuffConfigFile} configuration file.`));
|
|
49
|
-
}
|
|
50
|
-
return null;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
//# sourceMappingURL=json-config-parser.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"json-config-parser.js","sourceRoot":"","sources":["../src/json-config-parser.ts"],"names":[],"mappings":";;;;;AAmBA,gDAiDC;AApED,2BAA6C;AAC7C,gDAAuB;AAEvB,+CAAkD;AAClD,2CAAmC;AAEnC,4DAKqC;AACrC,mDAAgD;AAEhD;;;;GAIG;AACH,SAAgB,kBAAkB;IAChC,MAAM,WAAW,GAAG,IAAA,8BAAc,GAAE,CAAA;IACpC,MAAM,iBAAiB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,8BAAkB,CAAC,CAAA;IACpE,MAAM,gBAAgB,GAAG,cAAI,CAAC,IAAI,CAAC,WAAW,EAAE,oCAAwB,CAAC,CAAA;IACzE,MAAM,UAAU,GAAG,IAAA,eAAU,EAAC,gBAAgB,CAAC;QAC7C,CAAC,CAAC,gBAAgB;QAClB,CAAC,CAAC,IAAA,eAAU,EAAC,iBAAiB,CAAC;YAC7B,CAAC,CAAC,iBAAiB;YACnB,CAAC,CAAC,IAAI,CAAA;IAEV,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;QACxB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,IAAI,CAAC;QACH,MAAM,YAAY,GAAG,IAAA,iBAAY,EAAC,UAAU,EAAE,OAAO,CAAC,CAAA;QACtD,MAAM,YAAY,GAAG,IAAA,oBAAU,EAAC,YAAY,CAAC,CAAA;QAE7C,MAAM,MAAM,GAAG,gCAAoB,CAAC,SAAS,CAAC,YAAY,CAAC,CAAA;QAE3D,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACpB,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,oBAAoB,8BAAkB,4CAA4C;gBAChF,MAAM,CAAC,KAAK,CAAC,MAAM;qBAChB,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,OAAO,EAAE,CAAC;qBACvD,IAAI,CAAC,IAAI,CAAC,CAChB,CACF,CAAA;YACD,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,MAAM,CAAC,IAAI,CAAA;IACpB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,WAAW,EAAE,CAAC;YACjC,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,4BAA4B,8BAAkB,4BAA4B,CAC3E,CACF,CAAA;QACH,CAAC;aAAM,CAAC;YACN,OAAO,CAAC,IAAI,CACV,IAAA,mBAAM,EACJ,0BAA0B,8BAAkB,sBAAsB,CACnE,CACF,CAAA;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;AACH,CAAC"}
|