codingbuddy 0.0.0-dev.20251217102458.7a3c302 → 0.0.0-dev.20251218084041.e5f3ffe

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.
@@ -0,0 +1,235 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const config_schema_1 = require("./config.schema");
5
+ (0, vitest_1.describe)('CodingBuddyConfigSchema', () => {
6
+ (0, vitest_1.describe)('validateConfig', () => {
7
+ (0, vitest_1.it)('should accept empty config (all fields optional)', () => {
8
+ const result = (0, config_schema_1.validateConfig)({});
9
+ (0, vitest_1.expect)(result.success).toBe(true);
10
+ (0, vitest_1.expect)(result.data).toEqual({});
11
+ });
12
+ (0, vitest_1.it)('should accept minimal config with basic fields', () => {
13
+ const config = {
14
+ language: 'ko',
15
+ projectName: 'my-app',
16
+ };
17
+ const result = (0, config_schema_1.validateConfig)(config);
18
+ (0, vitest_1.expect)(result.success).toBe(true);
19
+ (0, vitest_1.expect)(result.data).toEqual(config);
20
+ });
21
+ (0, vitest_1.it)('should accept config with valid repository URL', () => {
22
+ const config = {
23
+ repository: 'https://github.com/example/app',
24
+ };
25
+ const result = (0, config_schema_1.validateConfig)(config);
26
+ (0, vitest_1.expect)(result.success).toBe(true);
27
+ (0, vitest_1.expect)(result.data?.repository).toBe('https://github.com/example/app');
28
+ });
29
+ (0, vitest_1.it)('should reject config with invalid repository URL', () => {
30
+ const config = {
31
+ repository: 'not-a-valid-url',
32
+ };
33
+ const result = (0, config_schema_1.validateConfig)(config);
34
+ (0, vitest_1.expect)(result.success).toBe(false);
35
+ (0, vitest_1.expect)(result.errors).toBeDefined();
36
+ (0, vitest_1.expect)(result.errors[0].path).toBe('repository');
37
+ });
38
+ (0, vitest_1.it)('should accept full config with all nested fields', () => {
39
+ const config = {
40
+ language: 'en',
41
+ projectName: 'full-app',
42
+ description: 'A full featured app',
43
+ repository: 'https://github.com/example/app',
44
+ techStack: {
45
+ languages: ['TypeScript', 'Python'],
46
+ frontend: ['React', 'Next.js'],
47
+ backend: ['NestJS'],
48
+ database: ['PostgreSQL'],
49
+ infrastructure: ['Docker', 'AWS'],
50
+ tools: ['ESLint'],
51
+ },
52
+ architecture: {
53
+ pattern: 'feature-sliced',
54
+ structure: ['src/', 'features/'],
55
+ componentStyle: 'feature-based',
56
+ },
57
+ conventions: {
58
+ style: 'airbnb',
59
+ naming: {
60
+ files: 'kebab-case',
61
+ components: 'PascalCase',
62
+ },
63
+ quotes: 'single',
64
+ semicolons: true,
65
+ },
66
+ testStrategy: {
67
+ approach: 'tdd',
68
+ frameworks: ['vitest'],
69
+ coverage: 80,
70
+ },
71
+ keyFiles: ['src/types.ts'],
72
+ avoid: ['legacy-api'],
73
+ };
74
+ const result = (0, config_schema_1.validateConfig)(config);
75
+ (0, vitest_1.expect)(result.success).toBe(true);
76
+ (0, vitest_1.expect)(result.data).toEqual(config);
77
+ });
78
+ (0, vitest_1.it)('should accept config with deep optional fields', () => {
79
+ const config = {
80
+ techStack: {
81
+ frontend: ['React'],
82
+ details: {
83
+ React: {
84
+ version: '18.x',
85
+ notes: 'Using concurrent features',
86
+ },
87
+ },
88
+ },
89
+ architecture: {
90
+ pattern: 'layered',
91
+ layers: [
92
+ { name: 'domain', path: 'src/domain', description: 'Business logic' },
93
+ { name: 'infra', path: 'src/infra', dependencies: ['domain'] },
94
+ ],
95
+ },
96
+ };
97
+ const result = (0, config_schema_1.validateConfig)(config);
98
+ (0, vitest_1.expect)(result.success).toBe(true);
99
+ });
100
+ (0, vitest_1.it)('should reject invalid naming convention enum', () => {
101
+ const config = {
102
+ conventions: {
103
+ naming: {
104
+ files: 'invalid-case',
105
+ },
106
+ },
107
+ };
108
+ const result = (0, config_schema_1.validateConfig)(config);
109
+ (0, vitest_1.expect)(result.success).toBe(false);
110
+ (0, vitest_1.expect)(result.errors).toBeDefined();
111
+ (0, vitest_1.expect)(result.errors.length).toBeGreaterThan(0);
112
+ });
113
+ (0, vitest_1.it)('should reject invalid coverage value (over 100)', () => {
114
+ const config = {
115
+ testStrategy: {
116
+ coverage: 150,
117
+ },
118
+ };
119
+ const result = (0, config_schema_1.validateConfig)(config);
120
+ (0, vitest_1.expect)(result.success).toBe(false);
121
+ (0, vitest_1.expect)(result.errors).toBeDefined();
122
+ });
123
+ (0, vitest_1.it)('should reject invalid coverage value (negative)', () => {
124
+ const config = {
125
+ testStrategy: {
126
+ coverage: -10,
127
+ },
128
+ };
129
+ const result = (0, config_schema_1.validateConfig)(config);
130
+ (0, vitest_1.expect)(result.success).toBe(false);
131
+ });
132
+ (0, vitest_1.it)('should reject non-object config', () => {
133
+ (0, vitest_1.expect)((0, config_schema_1.validateConfig)(null).success).toBe(false);
134
+ (0, vitest_1.expect)((0, config_schema_1.validateConfig)('string').success).toBe(false);
135
+ (0, vitest_1.expect)((0, config_schema_1.validateConfig)(123).success).toBe(false);
136
+ (0, vitest_1.expect)((0, config_schema_1.validateConfig)([]).success).toBe(false);
137
+ });
138
+ (0, vitest_1.it)('should provide error path for nested validation errors', () => {
139
+ const config = {
140
+ conventions: {
141
+ naming: {
142
+ files: 'invalid',
143
+ },
144
+ },
145
+ };
146
+ const result = (0, config_schema_1.validateConfig)(config);
147
+ (0, vitest_1.expect)(result.success).toBe(false);
148
+ (0, vitest_1.expect)(result.errors[0].path).toContain('conventions');
149
+ });
150
+ });
151
+ (0, vitest_1.describe)('parseConfig', () => {
152
+ (0, vitest_1.it)('should return parsed config for valid input', () => {
153
+ const config = { language: 'ko' };
154
+ const result = (0, config_schema_1.parseConfig)(config);
155
+ (0, vitest_1.expect)(result).toEqual(config);
156
+ });
157
+ (0, vitest_1.it)('should throw for invalid input', () => {
158
+ (0, vitest_1.expect)(() => (0, config_schema_1.parseConfig)({ testStrategy: { coverage: 200 } })).toThrow();
159
+ });
160
+ });
161
+ (0, vitest_1.describe)('isCodingBuddyConfig', () => {
162
+ (0, vitest_1.it)('should return true for valid config', () => {
163
+ (0, vitest_1.expect)((0, config_schema_1.isCodingBuddyConfig)({})).toBe(true);
164
+ (0, vitest_1.expect)((0, config_schema_1.isCodingBuddyConfig)({ language: 'ko' })).toBe(true);
165
+ (0, vitest_1.expect)((0, config_schema_1.isCodingBuddyConfig)({ techStack: { frontend: ['React'] } })).toBe(true);
166
+ });
167
+ (0, vitest_1.it)('should return false for invalid config', () => {
168
+ (0, vitest_1.expect)((0, config_schema_1.isCodingBuddyConfig)(null)).toBe(false);
169
+ (0, vitest_1.expect)((0, config_schema_1.isCodingBuddyConfig)('string')).toBe(false);
170
+ (0, vitest_1.expect)((0, config_schema_1.isCodingBuddyConfig)({ testStrategy: { coverage: 200 } })).toBe(false);
171
+ (0, vitest_1.expect)((0, config_schema_1.isCodingBuddyConfig)({ conventions: { naming: { files: 'invalid' } } })).toBe(false);
172
+ });
173
+ (0, vitest_1.it)('should reject invalid repository URL', () => {
174
+ (0, vitest_1.expect)((0, config_schema_1.isCodingBuddyConfig)({ repository: 'not-a-url' })).toBe(false);
175
+ });
176
+ });
177
+ (0, vitest_1.describe)('getDefaultConfig', () => {
178
+ (0, vitest_1.it)('should return empty object as default', () => {
179
+ const defaults = (0, config_schema_1.getDefaultConfig)();
180
+ (0, vitest_1.expect)(defaults).toEqual({});
181
+ });
182
+ });
183
+ (0, vitest_1.describe)('mergeWithDefaults', () => {
184
+ (0, vitest_1.it)('should merge user config with defaults', () => {
185
+ const userConfig = {
186
+ language: 'ko',
187
+ projectName: 'my-app',
188
+ };
189
+ const result = (0, config_schema_1.mergeWithDefaults)(userConfig);
190
+ (0, vitest_1.expect)(result.language).toBe('ko');
191
+ (0, vitest_1.expect)(result.projectName).toBe('my-app');
192
+ });
193
+ (0, vitest_1.it)('should preserve user config values', () => {
194
+ const userConfig = {
195
+ techStack: {
196
+ frontend: ['React'],
197
+ },
198
+ };
199
+ const result = (0, config_schema_1.mergeWithDefaults)(userConfig);
200
+ (0, vitest_1.expect)(result.techStack?.frontend).toEqual(['React']);
201
+ });
202
+ (0, vitest_1.it)('should deep merge nested objects', () => {
203
+ const userConfig = {
204
+ techStack: {
205
+ frontend: ['React'],
206
+ backend: ['NestJS'],
207
+ },
208
+ conventions: {
209
+ style: 'airbnb',
210
+ naming: {
211
+ files: 'kebab-case',
212
+ },
213
+ },
214
+ };
215
+ const result = (0, config_schema_1.mergeWithDefaults)(userConfig);
216
+ (0, vitest_1.expect)(result.techStack?.frontend).toEqual(['React']);
217
+ (0, vitest_1.expect)(result.techStack?.backend).toEqual(['NestJS']);
218
+ (0, vitest_1.expect)(result.conventions?.style).toBe('airbnb');
219
+ (0, vitest_1.expect)(result.conventions?.naming?.files).toBe('kebab-case');
220
+ });
221
+ });
222
+ (0, vitest_1.describe)('schema type inference', () => {
223
+ (0, vitest_1.it)('should correctly infer types from schema', () => {
224
+ const config = config_schema_1.CodingBuddyConfigSchema.parse({
225
+ language: 'en',
226
+ techStack: {
227
+ frontend: ['React'],
228
+ },
229
+ });
230
+ (0, vitest_1.expect)(typeof config.language).toBe('string');
231
+ (0, vitest_1.expect)(Array.isArray(config.techStack?.frontend)).toBe(true);
232
+ });
233
+ });
234
+ });
235
+ //# sourceMappingURL=config.schema.spec.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.schema.spec.js","sourceRoot":"","sources":["../../../src/config/config.schema.spec.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export type { CodingBuddyConfig, TechStackConfig, ArchitectureConfig, ConventionsConfig, TestStrategyConfig, TechDetail, ArchitectureLayer, NamingConvention, } from './config.schema';
2
+ export { isCodingBuddyConfig } from './config.schema';
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCodingBuddyConfig = void 0;
4
+ var config_schema_1 = require("./config.schema");
5
+ Object.defineProperty(exports, "isCodingBuddyConfig", { enumerable: true, get: function () { return config_schema_1.isCodingBuddyConfig; } });
6
+ //# sourceMappingURL=config.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.types.js","sourceRoot":"","sources":["../../../src/config/config.types.ts"],"names":[],"mappings":";;;AA0CA,iDAAsD;AAA7C,oHAAA,mBAAmB,OAAA"}
@@ -0,0 +1,4 @@
1
+ export type { CodingBuddyConfig, TechStackConfig, ArchitectureConfig, ConventionsConfig, TestStrategyConfig, TechDetail, ArchitectureLayer, NamingConvention, } from './config.schema';
2
+ export { CodingBuddyConfigSchema, TechStackConfigSchema, ArchitectureConfigSchema, ConventionsConfigSchema, TestStrategyConfigSchema, TechDetailSchema, ArchitectureLayerSchema, NamingConventionSchema, } from './config.schema';
3
+ export type { ValidationResult, ValidationError } from './config.schema';
4
+ export { validateConfig, parseConfig, getDefaultConfig, mergeWithDefaults, isCodingBuddyConfig, } from './config.schema';
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isCodingBuddyConfig = exports.mergeWithDefaults = exports.getDefaultConfig = exports.parseConfig = exports.validateConfig = exports.NamingConventionSchema = exports.ArchitectureLayerSchema = exports.TechDetailSchema = exports.TestStrategyConfigSchema = exports.ConventionsConfigSchema = exports.ArchitectureConfigSchema = exports.TechStackConfigSchema = exports.CodingBuddyConfigSchema = void 0;
4
+ var config_schema_1 = require("./config.schema");
5
+ Object.defineProperty(exports, "CodingBuddyConfigSchema", { enumerable: true, get: function () { return config_schema_1.CodingBuddyConfigSchema; } });
6
+ Object.defineProperty(exports, "TechStackConfigSchema", { enumerable: true, get: function () { return config_schema_1.TechStackConfigSchema; } });
7
+ Object.defineProperty(exports, "ArchitectureConfigSchema", { enumerable: true, get: function () { return config_schema_1.ArchitectureConfigSchema; } });
8
+ Object.defineProperty(exports, "ConventionsConfigSchema", { enumerable: true, get: function () { return config_schema_1.ConventionsConfigSchema; } });
9
+ Object.defineProperty(exports, "TestStrategyConfigSchema", { enumerable: true, get: function () { return config_schema_1.TestStrategyConfigSchema; } });
10
+ Object.defineProperty(exports, "TechDetailSchema", { enumerable: true, get: function () { return config_schema_1.TechDetailSchema; } });
11
+ Object.defineProperty(exports, "ArchitectureLayerSchema", { enumerable: true, get: function () { return config_schema_1.ArchitectureLayerSchema; } });
12
+ Object.defineProperty(exports, "NamingConventionSchema", { enumerable: true, get: function () { return config_schema_1.NamingConventionSchema; } });
13
+ var config_schema_2 = require("./config.schema");
14
+ Object.defineProperty(exports, "validateConfig", { enumerable: true, get: function () { return config_schema_2.validateConfig; } });
15
+ Object.defineProperty(exports, "parseConfig", { enumerable: true, get: function () { return config_schema_2.parseConfig; } });
16
+ Object.defineProperty(exports, "getDefaultConfig", { enumerable: true, get: function () { return config_schema_2.getDefaultConfig; } });
17
+ Object.defineProperty(exports, "mergeWithDefaults", { enumerable: true, get: function () { return config_schema_2.mergeWithDefaults; } });
18
+ Object.defineProperty(exports, "isCodingBuddyConfig", { enumerable: true, get: function () { return config_schema_2.isCodingBuddyConfig; } });
19
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/config/index.ts"],"names":[],"mappings":";;;AAaA,iDASyB;AARvB,wHAAA,uBAAuB,OAAA;AACvB,sHAAA,qBAAqB,OAAA;AACrB,yHAAA,wBAAwB,OAAA;AACxB,wHAAA,uBAAuB,OAAA;AACvB,yHAAA,wBAAwB,OAAA;AACxB,iHAAA,gBAAgB,OAAA;AAChB,wHAAA,uBAAuB,OAAA;AACvB,uHAAA,sBAAsB,OAAA;AAMxB,iDAMyB;AALvB,+GAAA,cAAc,OAAA;AACd,4GAAA,WAAW,OAAA;AACX,iHAAA,gBAAgB,OAAA;AAChB,kHAAA,iBAAiB,OAAA;AACjB,oHAAA,mBAAmB,OAAA"}