@config-bound/cli 0.1.0 → 0.2.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 (57) hide show
  1. package/CHANGELOG.md +16 -0
  2. package/package.json +6 -4
  3. package/scripts/generate-docs.ts +362 -0
  4. package/src/cli.module.ts +7 -1
  5. package/src/commands/generate-bind.command.ts +175 -0
  6. package/src/commands/generate.command.ts +13 -0
  7. package/src/services/bind-generator.service.ts +248 -0
  8. package/src/services/schema-export.service.spec.ts +3 -3
  9. package/tsconfig.json +7 -2
  10. package/.turbo/turbo-build.log +0 -4
  11. package/.turbo/turbo-format$colon$ci.log +0 -6
  12. package/.turbo/turbo-lint$colon$ci.log +0 -4
  13. package/.turbo/turbo-test.log +0 -19
  14. package/dist/cli.module.d.ts +0 -3
  15. package/dist/cli.module.d.ts.map +0 -1
  16. package/dist/cli.module.js +0 -29
  17. package/dist/cli.module.js.map +0 -1
  18. package/dist/commands/export.command.d.ts +0 -30
  19. package/dist/commands/export.command.d.ts.map +0 -1
  20. package/dist/commands/export.command.js +0 -226
  21. package/dist/commands/export.command.js.map +0 -1
  22. package/dist/commands/list.command.d.ts +0 -13
  23. package/dist/commands/list.command.d.ts.map +0 -1
  24. package/dist/commands/list.command.js +0 -93
  25. package/dist/commands/list.command.js.map +0 -1
  26. package/dist/main.d.ts +0 -3
  27. package/dist/main.d.ts.map +0 -1
  28. package/dist/main.js +0 -17
  29. package/dist/main.js.map +0 -1
  30. package/dist/services/config-discovery.service.d.ts +0 -15
  31. package/dist/services/config-discovery.service.d.ts.map +0 -1
  32. package/dist/services/config-discovery.service.js +0 -191
  33. package/dist/services/config-discovery.service.js.map +0 -1
  34. package/dist/services/config-discovery.service.spec.d.ts +0 -2
  35. package/dist/services/config-discovery.service.spec.d.ts.map +0 -1
  36. package/dist/services/config-discovery.service.spec.js +0 -137
  37. package/dist/services/config-discovery.service.spec.js.map +0 -1
  38. package/dist/services/config-loader.service.d.ts +0 -13
  39. package/dist/services/config-loader.service.d.ts.map +0 -1
  40. package/dist/services/config-loader.service.js +0 -241
  41. package/dist/services/config-loader.service.js.map +0 -1
  42. package/dist/services/file-writer.service.d.ts +0 -6
  43. package/dist/services/file-writer.service.d.ts.map +0 -1
  44. package/dist/services/file-writer.service.js +0 -38
  45. package/dist/services/file-writer.service.js.map +0 -1
  46. package/dist/services/file-writer.service.spec.d.ts +0 -2
  47. package/dist/services/file-writer.service.spec.d.ts.map +0 -1
  48. package/dist/services/file-writer.service.spec.js +0 -98
  49. package/dist/services/file-writer.service.spec.js.map +0 -1
  50. package/dist/services/schema-export.service.d.ts +0 -14
  51. package/dist/services/schema-export.service.d.ts.map +0 -1
  52. package/dist/services/schema-export.service.js +0 -58
  53. package/dist/services/schema-export.service.js.map +0 -1
  54. package/dist/services/schema-export.service.spec.d.ts +0 -2
  55. package/dist/services/schema-export.service.spec.d.ts.map +0 -1
  56. package/dist/services/schema-export.service.spec.js +0 -69
  57. package/dist/services/schema-export.service.spec.js.map +0 -1
@@ -1,93 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- var __metadata = (this && this.__metadata) || function (k, v) {
8
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
- };
10
- import { Command, CommandRunner, Option } from 'nest-commander';
11
- import { ConfigDiscoveryService } from '../services/config-discovery.service.js';
12
- import chalk from 'chalk';
13
- import * as path from 'path';
14
- let ListCommand = class ListCommand extends CommandRunner {
15
- discoveryService;
16
- constructor(discoveryService) {
17
- super();
18
- this.discoveryService = discoveryService;
19
- }
20
- async run(passedParams, options) {
21
- const searchPath = passedParams[0] || process.cwd();
22
- const recursive = options?.recursive !== false;
23
- try {
24
- console.log(chalk.blue(`Searching for ConfigBound configurations in: ${searchPath}`));
25
- console.log(chalk.gray(`Recursive: ${recursive ? 'yes' : 'no'}`));
26
- console.log();
27
- const configs = await this.discoveryService.discoverConfigs(searchPath, recursive);
28
- if (configs.length === 0) {
29
- console.log(chalk.yellow('No ConfigBound configurations found.'));
30
- return;
31
- }
32
- console.log(chalk.green(`Found ${configs.length} ConfigBound configuration${configs.length === 1 ? '' : 's'}:`));
33
- console.log();
34
- const groupedByFile = configs.reduce((acc, config) => {
35
- if (!acc[config.filePath]) {
36
- acc[config.filePath] = [];
37
- }
38
- acc[config.filePath].push(config);
39
- return acc;
40
- }, {});
41
- for (const [filePath, fileConfigs] of Object.entries(groupedByFile)) {
42
- const relativePath = path.relative(process.cwd(), filePath);
43
- console.log(chalk.cyan(`📄 ${relativePath}`));
44
- for (const config of fileConfigs) {
45
- const exportType = config.isDefault
46
- ? chalk.gray('(default)')
47
- : chalk.gray('(named)');
48
- const configNamePart = config.configName
49
- ? chalk.magenta(` - ${config.configName}`)
50
- : '';
51
- const linePart = chalk.gray(`:${config.lineNumber}`);
52
- console.log(` ${chalk.white(config.exportName)} ${exportType}${configNamePart}${linePart}`);
53
- }
54
- console.log();
55
- }
56
- console.log(chalk.gray('Tip: Use `configbound export --config <file> --name <export>` to export a specific configuration.'));
57
- }
58
- catch (error) {
59
- if (error instanceof Error) {
60
- console.error(chalk.red(`Error: ${error.message}`));
61
- }
62
- else {
63
- console.error(chalk.red(`Error: ${String(error)}`));
64
- }
65
- process.exit(1);
66
- }
67
- }
68
- parseRecursive(val) {
69
- return val !== 'false';
70
- }
71
- };
72
- __decorate([
73
- Option({
74
- flags: '-r, --recursive [boolean]',
75
- description: 'Search subdirectories (default: true)'
76
- }),
77
- __metadata("design:type", Function),
78
- __metadata("design:paramtypes", [String]),
79
- __metadata("design:returntype", Boolean)
80
- ], ListCommand.prototype, "parseRecursive", null);
81
- ListCommand = __decorate([
82
- Command({
83
- name: 'list',
84
- description: 'List all discovered ConfigBound configurations',
85
- arguments: '[path]',
86
- argsDescription: {
87
- path: 'Directory to search (default: current directory)'
88
- }
89
- }),
90
- __metadata("design:paramtypes", [ConfigDiscoveryService])
91
- ], ListCommand);
92
- export { ListCommand };
93
- //# sourceMappingURL=list.command.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"list.command.js","sourceRoot":"","sources":["../../src/commands/list.command.ts"],"names":[],"mappings":"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"}
package/dist/main.d.ts DELETED
@@ -1,3 +0,0 @@
1
- #!/usr/bin/env node
2
- export {};
3
- //# sourceMappingURL=main.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.d.ts","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":""}
package/dist/main.js DELETED
@@ -1,17 +0,0 @@
1
- #!/usr/bin/env node
2
- import { CommandFactory } from 'nest-commander';
3
- import { CliModule } from './cli.module.js';
4
- async function bootstrap() {
5
- await CommandFactory.run(CliModule, {
6
- logger: false,
7
- errorHandler: (err) => {
8
- if (err && typeof err === 'object' && 'code' in err && err.code === 'commander.help') {
9
- process.exit(0);
10
- }
11
- console.error('Unexpected error:', err);
12
- process.exit(1);
13
- }
14
- });
15
- }
16
- bootstrap();
17
- //# sourceMappingURL=main.js.map
package/dist/main.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAE5C,KAAK,UAAU,SAAS;IACtB,MAAM,cAAc,CAAC,GAAG,CAAC,SAAS,EAAE;QAClC,MAAM,EAAE,KAAK;QACb,YAAY,EAAE,CAAC,GAAG,EAAE,EAAE;YACpB,IAAI,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,gBAAgB,EAAE,CAAC;gBACrF,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YAClB,CAAC;YACD,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;YACxC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,EAAE,CAAC"}
@@ -1,15 +0,0 @@
1
- export interface DiscoveredConfig {
2
- filePath: string;
3
- exportName: string;
4
- isDefault: boolean;
5
- configName?: string;
6
- lineNumber: number;
7
- }
8
- export declare class ConfigDiscoveryService {
9
- discoverConfigs(searchPath: string, recursive?: boolean): Promise<DiscoveredConfig[]>;
10
- private extractConfigsFromFile;
11
- private isConfigBoundCreateConfig;
12
- private extractConfigName;
13
- private findTypeScriptFiles;
14
- }
15
- //# sourceMappingURL=config-discovery.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-discovery.service.d.ts","sourceRoot":"","sources":["../../src/services/config-discovery.service.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBACa,sBAAsB;IAC3B,eAAe,CACnB,UAAU,EAAE,MAAM,EAClB,SAAS,GAAE,OAAc,GACxB,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAsC9B,OAAO,CAAC,sBAAsB;IA4D9B,OAAO,CAAC,yBAAyB;IA6BjC,OAAO,CAAC,iBAAiB;IA2BzB,OAAO,CAAC,mBAAmB;CA+D5B"}
@@ -1,191 +0,0 @@
1
- var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
- var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
- if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
- else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
- return c > 3 && r && Object.defineProperty(target, key, r), r;
6
- };
7
- import { Injectable } from '@nestjs/common';
8
- import { Project, Node, SyntaxKind } from 'ts-morph';
9
- import * as path from 'path';
10
- import * as fs from 'fs';
11
- import { ensureError } from '@config-bound/config-bound/utilities';
12
- let ConfigDiscoveryService = class ConfigDiscoveryService {
13
- async discoverConfigs(searchPath, recursive = true) {
14
- const tsFiles = this.findTypeScriptFiles(searchPath, recursive);
15
- const discovered = [];
16
- const project = new Project({
17
- skipAddingFilesFromTsConfig: true,
18
- compilerOptions: {
19
- allowJs: false,
20
- skipLibCheck: true
21
- }
22
- });
23
- for (const filePath of tsFiles) {
24
- try {
25
- project.addSourceFileAtPath(filePath);
26
- }
27
- catch (error) {
28
- console.warn(`skipping ${filePath}: ${ensureError(error).message}`);
29
- continue;
30
- }
31
- }
32
- for (const sourceFile of project.getSourceFiles()) {
33
- try {
34
- const configs = this.extractConfigsFromFile(sourceFile);
35
- discovered.push(...configs);
36
- }
37
- catch (error) {
38
- console.warn(`skipping ${sourceFile}: ${ensureError(error).message}`);
39
- continue;
40
- }
41
- }
42
- return discovered;
43
- }
44
- extractConfigsFromFile(sourceFile) {
45
- const discovered = [];
46
- const filePath = sourceFile.getFilePath();
47
- const variableStatements = sourceFile.getVariableStatements();
48
- for (const statement of variableStatements) {
49
- const declarations = statement.getDeclarations();
50
- for (const declaration of declarations) {
51
- const initializer = declaration.getInitializer();
52
- if (!initializer)
53
- continue;
54
- if (this.isConfigBoundCreateConfig(initializer)) {
55
- const isExported = statement
56
- .getModifiers()
57
- .some((mod) => mod.getKind() === SyntaxKind.ExportKeyword);
58
- if (isExported) {
59
- const exportName = declaration.getName();
60
- const configName = this.extractConfigName(initializer);
61
- discovered.push({
62
- filePath,
63
- exportName,
64
- isDefault: false,
65
- configName,
66
- lineNumber: declaration.getStartLineNumber()
67
- });
68
- }
69
- }
70
- }
71
- }
72
- const defaultExport = sourceFile.getDefaultExportSymbol();
73
- if (defaultExport) {
74
- const declarations = defaultExport.getDeclarations();
75
- for (const declaration of declarations) {
76
- if (Node.isExportAssignment(declaration)) {
77
- const expression = declaration.getExpression();
78
- if (this.isConfigBoundCreateConfig(expression)) {
79
- const configName = this.extractConfigName(expression);
80
- discovered.push({
81
- filePath,
82
- exportName: 'default',
83
- isDefault: true,
84
- configName,
85
- lineNumber: declaration.getStartLineNumber()
86
- });
87
- }
88
- }
89
- }
90
- }
91
- return discovered;
92
- }
93
- isConfigBoundCreateConfig(node) {
94
- if (!Node.isCallExpression(node))
95
- return false;
96
- const expression = node.getExpression();
97
- if (Node.isPropertyAccessExpression(expression)) {
98
- const obj = expression.getExpression();
99
- const prop = expression.getName();
100
- if (Node.isIdentifier(obj) &&
101
- obj.getText() === 'ConfigBound' &&
102
- prop === 'createConfig') {
103
- return true;
104
- }
105
- }
106
- if (Node.isIdentifier(expression)) {
107
- if (expression.getText() === 'createConfig') {
108
- return true;
109
- }
110
- }
111
- return false;
112
- }
113
- extractConfigName(node) {
114
- if (!Node.isCallExpression(node))
115
- return undefined;
116
- const args = node.getArguments();
117
- if (args.length === 0)
118
- return undefined;
119
- const firstArg = args[0];
120
- if (Node.isObjectLiteralExpression(firstArg)) {
121
- const nameProperty = firstArg
122
- .getProperties()
123
- .find((prop) => Node.isPropertyAssignment(prop) && prop.getName() === 'name');
124
- if (nameProperty && Node.isPropertyAssignment(nameProperty)) {
125
- const initializer = nameProperty.getInitializer();
126
- if (initializer && Node.isStringLiteral(initializer)) {
127
- return initializer.getLiteralValue();
128
- }
129
- }
130
- }
131
- return undefined;
132
- }
133
- findTypeScriptFiles(searchPath, recursive) {
134
- const files = [];
135
- const excludedDirs = new Set([
136
- 'node_modules',
137
- 'dist',
138
- 'build',
139
- 'coverage',
140
- '.git',
141
- '.next',
142
- '.nuxt',
143
- 'out',
144
- 'public',
145
- 'static',
146
- '__pycache__',
147
- 'venv',
148
- 'env'
149
- ]);
150
- function traverse(dir) {
151
- let entries;
152
- try {
153
- entries = fs.readdirSync(dir, { withFileTypes: true });
154
- }
155
- catch {
156
- return;
157
- }
158
- for (const entry of entries) {
159
- const fullPath = path.join(dir, entry.name);
160
- if (entry.isDirectory()) {
161
- if (excludedDirs.has(entry.name) || entry.name.startsWith('.')) {
162
- continue;
163
- }
164
- if (recursive) {
165
- traverse(fullPath);
166
- }
167
- }
168
- else if (entry.isFile() && entry.name.endsWith('.ts')) {
169
- if (!entry.name.endsWith('.spec.ts') &&
170
- !entry.name.endsWith('.test.ts') &&
171
- !entry.name.endsWith('.d.ts')) {
172
- files.push(fullPath);
173
- }
174
- }
175
- }
176
- }
177
- const stats = fs.statSync(searchPath);
178
- if (stats.isDirectory()) {
179
- traverse(searchPath);
180
- }
181
- else if (stats.isFile() && searchPath.endsWith('.ts')) {
182
- files.push(searchPath);
183
- }
184
- return files;
185
- }
186
- };
187
- ConfigDiscoveryService = __decorate([
188
- Injectable()
189
- ], ConfigDiscoveryService);
190
- export { ConfigDiscoveryService };
191
- //# sourceMappingURL=config-discovery.service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-discovery.service.js","sourceRoot":"","sources":["../../src/services/config-discovery.service.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAc,MAAM,UAAU,CAAC;AACjE,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAC7B,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,WAAW,EAAE,MAAM,sCAAsC,CAAC;AAW5D,IAAM,sBAAsB,GAA5B,MAAM,sBAAsB;IACjC,KAAK,CAAC,eAAe,CACnB,UAAkB,EAClB,YAAqB,IAAI;QAEzB,MAAM,OAAO,GAAG,IAAI,CAAC,mBAAmB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;QAChE,MAAM,UAAU,GAAuB,EAAE,CAAC;QAG1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;YAC1B,2BAA2B,EAAE,IAAI;YACjC,eAAe,EAAE;gBACf,OAAO,EAAE,KAAK;gBACd,YAAY,EAAE,IAAI;aACnB;SACF,CAAC,CAAC;QAGH,KAAK,MAAM,QAAQ,IAAI,OAAO,EAAE,CAAC;YAC/B,IAAI,CAAC;gBACH,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC;YACxC,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,YAAY,QAAQ,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEpE,SAAS;YACX,CAAC;QACH,CAAC;QAGD,KAAK,MAAM,UAAU,IAAI,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC;YAClD,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,IAAI,CAAC,sBAAsB,CAAC,UAAU,CAAC,CAAC;gBACxD,UAAU,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,CAAC;YAC9B,CAAC;YAAC,OAAO,KAAc,EAAE,CAAC;gBACxB,OAAO,CAAC,IAAI,CAAC,YAAY,UAAU,KAAK,WAAW,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACtE,SAAS;YACX,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,sBAAsB,CAAC,UAAsB;QACnD,MAAM,UAAU,GAAuB,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC;QAG1C,MAAM,kBAAkB,GAAG,UAAU,CAAC,qBAAqB,EAAE,CAAC;QAE9D,KAAK,MAAM,SAAS,IAAI,kBAAkB,EAAE,CAAC;YAC3C,MAAM,YAAY,GAAG,SAAS,CAAC,eAAe,EAAE,CAAC;YAEjD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,MAAM,WAAW,GAAG,WAAW,CAAC,cAAc,EAAE,CAAC;gBACjD,IAAI,CAAC,WAAW;oBAAE,SAAS;gBAG3B,IAAI,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,EAAE,CAAC;oBAChD,MAAM,UAAU,GAAG,SAAS;yBACzB,YAAY,EAAE;yBACd,IAAI,CAAC,CAAC,GAAS,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,EAAE,KAAK,UAAU,CAAC,aAAa,CAAC,CAAC;oBAEnE,IAAI,UAAU,EAAE,CAAC;wBACf,MAAM,UAAU,GAAG,WAAW,CAAC,OAAO,EAAE,CAAC;wBACzC,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;wBAEvD,UAAU,CAAC,IAAI,CAAC;4BACd,QAAQ;4BACR,UAAU;4BACV,SAAS,EAAE,KAAK;4BAChB,UAAU;4BACV,UAAU,EAAE,WAAW,CAAC,kBAAkB,EAAE;yBAC7C,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAGD,MAAM,aAAa,GAAG,UAAU,CAAC,sBAAsB,EAAE,CAAC;QAC1D,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,YAAY,GAAG,aAAa,CAAC,eAAe,EAAE,CAAC;YACrD,KAAK,MAAM,WAAW,IAAI,YAAY,EAAE,CAAC;gBACvC,IAAI,IAAI,CAAC,kBAAkB,CAAC,WAAW,CAAC,EAAE,CAAC;oBACzC,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;oBAC/C,IAAI,IAAI,CAAC,yBAAyB,CAAC,UAAU,CAAC,EAAE,CAAC;wBAC/C,MAAM,UAAU,GAAG,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC;wBACtD,UAAU,CAAC,IAAI,CAAC;4BACd,QAAQ;4BACR,UAAU,EAAE,SAAS;4BACrB,SAAS,EAAE,IAAI;4BACf,UAAU;4BACV,UAAU,EAAE,WAAW,CAAC,kBAAkB,EAAE;yBAC7C,CAAC,CAAC;oBACL,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,UAAU,CAAC;IACpB,CAAC;IAEO,yBAAyB,CAAC,IAAU;QAC1C,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAE/C,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;QAGxC,IAAI,IAAI,CAAC,0BAA0B,CAAC,UAAU,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,UAAU,CAAC,aAAa,EAAE,CAAC;YACvC,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,EAAE,CAAC;YAElC,IACE,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;gBACtB,GAAG,CAAC,OAAO,EAAE,KAAK,aAAa;gBAC/B,IAAI,KAAK,cAAc,EACvB,CAAC;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAGD,IAAI,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,EAAE,CAAC;YAClC,IAAI,UAAU,CAAC,OAAO,EAAE,KAAK,cAAc,EAAE,CAAC;gBAC5C,OAAO,IAAI,CAAC;YACd,CAAC;QACH,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;IAEO,iBAAiB,CAAC,IAAU;QAClC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;YAAE,OAAO,SAAS,CAAC;QAEnD,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAExC,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;QAGzB,IAAI,IAAI,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7C,MAAM,YAAY,GAAG,QAAQ;iBAC1B,aAAa,EAAE;iBACf,IAAI,CACH,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,KAAK,MAAM,CACvE,CAAC;YAEJ,IAAI,YAAY,IAAI,IAAI,CAAC,oBAAoB,CAAC,YAAY,CAAC,EAAE,CAAC;gBAC5D,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,EAAE,CAAC;gBAClD,IAAI,WAAW,IAAI,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrD,OAAO,WAAW,CAAC,eAAe,EAAE,CAAC;gBACvC,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,mBAAmB,CACzB,UAAkB,EAClB,SAAkB;QAElB,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC;YAC3B,cAAc;YACd,MAAM;YACN,OAAO;YACP,UAAU;YACV,MAAM;YACN,OAAO;YACP,OAAO;YACP,KAAK;YACL,QAAQ;YACR,QAAQ;YACR,aAAa;YACb,MAAM;YACN,KAAK;SACN,CAAC,CAAC;QAEH,SAAS,QAAQ,CAAC,GAAW;YAC3B,IAAI,OAAO,CAAC;YACZ,IAAI,CAAC;gBACH,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;YACzD,CAAC;YAAC,MAAM,CAAC;gBAEP,OAAO;YACT,CAAC;YAED,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;gBAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;gBAG5C,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;oBACxB,IAAI,YAAY,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/D,SAAS;oBACX,CAAC;oBACD,IAAI,SAAS,EAAE,CAAC;wBACd,QAAQ,CAAC,QAAQ,CAAC,CAAC;oBACrB,CAAC;gBACH,CAAC;qBAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;oBAExD,IACE,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAChC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC;wBAChC,CAAC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,EAC7B,CAAC;wBACD,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;oBACvB,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAED,MAAM,KAAK,GAAG,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,KAAK,CAAC,WAAW,EAAE,EAAE,CAAC;YACxB,QAAQ,CAAC,UAAU,CAAC,CAAC;QACvB,CAAC;aAAM,IAAI,KAAK,CAAC,MAAM,EAAE,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACxD,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC;CACF,CAAA;AA7NY,sBAAsB;IADlC,UAAU,EAAE;GACA,sBAAsB,CA6NlC"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=config-discovery.service.spec.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-discovery.service.spec.d.ts","sourceRoot":"","sources":["../../src/services/config-discovery.service.spec.ts"],"names":[],"mappings":""}
@@ -1,137 +0,0 @@
1
- import { Test } from '@nestjs/testing';
2
- import { ConfigDiscoveryService } from './config-discovery.service.js';
3
- import { describe, beforeEach, afterEach, it, expect } from '@jest/globals';
4
- import * as fs from 'fs';
5
- import * as path from 'path';
6
- import * as os from 'os';
7
- describe('ConfigDiscoveryService', () => {
8
- let service;
9
- let tempDir;
10
- beforeEach(async () => {
11
- const module = await Test.createTestingModule({
12
- providers: [ConfigDiscoveryService]
13
- }).compile();
14
- service = module.get(ConfigDiscoveryService);
15
- tempDir = fs.mkdtempSync(path.join(os.tmpdir(), 'configbound-test-'));
16
- });
17
- afterEach(() => {
18
- if (fs.existsSync(tempDir)) {
19
- fs.rmSync(tempDir, { recursive: true, force: true });
20
- }
21
- });
22
- function createTempFile(relativePath, content) {
23
- const filePath = path.join(tempDir, relativePath);
24
- const dir = path.dirname(filePath);
25
- if (!fs.existsSync(dir)) {
26
- fs.mkdirSync(dir, { recursive: true });
27
- }
28
- fs.writeFileSync(filePath, content, 'utf8');
29
- return filePath;
30
- }
31
- it('should be defined', () => {
32
- expect(service).toBeDefined();
33
- });
34
- it('should discover named export with ConfigBound.createConfig', async () => {
35
- createTempFile('config.ts', `
36
- import { ConfigBound } from '@config-bound/config-bound';
37
-
38
- export const appConfig = ConfigBound.createConfig({
39
- name: 'MyApp',
40
- sections: {}
41
- });
42
- `);
43
- const configs = await service.discoverConfigs(tempDir, false);
44
- expect(configs).toHaveLength(1);
45
- expect(configs[0].exportName).toBe('appConfig');
46
- expect(configs[0].configName).toBe('MyApp');
47
- expect(configs[0].isDefault).toBe(false);
48
- });
49
- it('should discover named export with createConfig from named import', async () => {
50
- createTempFile('config.ts', `
51
- import { createConfig } from '@config-bound/config-bound';
52
-
53
- export const dbConfig = createConfig({
54
- name: 'Database',
55
- sections: {}
56
- });
57
- `);
58
- const configs = await service.discoverConfigs(tempDir, false);
59
- expect(configs).toHaveLength(1);
60
- expect(configs[0].exportName).toBe('dbConfig');
61
- expect(configs[0].configName).toBe('Database');
62
- });
63
- it('should discover default export', async () => {
64
- createTempFile('config.ts', `
65
- import { ConfigBound } from '@config-bound/config-bound';
66
-
67
- export default ConfigBound.createConfig({
68
- name: 'DefaultConfig',
69
- sections: {}
70
- });
71
- `);
72
- const configs = await service.discoverConfigs(tempDir, false);
73
- expect(configs).toHaveLength(1);
74
- expect(configs[0].exportName).toBe('default');
75
- expect(configs[0].isDefault).toBe(true);
76
- expect(configs[0].configName).toBe('DefaultConfig');
77
- });
78
- it('should discover multiple exports in same file', async () => {
79
- createTempFile('configs.ts', `
80
- import { createConfig } from '@config-bound/config-bound';
81
-
82
- export const config1 = createConfig({ name: 'Config1', sections: {} });
83
- export const config2 = createConfig({ name: 'Config2', sections: {} });
84
- `);
85
- const configs = await service.discoverConfigs(tempDir, false);
86
- expect(configs).toHaveLength(2);
87
- expect(configs.map((c) => c.exportName).sort()).toEqual(['config1', 'config2']);
88
- });
89
- it('should discover configs recursively', async () => {
90
- createTempFile('config1.ts', `
91
- import { createConfig } from '@config-bound/config-bound';
92
- export const config1 = createConfig({ name: 'Config1', sections: {} });
93
- `);
94
- createTempFile('subdir/config2.ts', `
95
- import { createConfig } from '@config-bound/config-bound';
96
- export const config2 = createConfig({ name: 'Config2', sections: {} });
97
- `);
98
- const configs = await service.discoverConfigs(tempDir, true);
99
- expect(configs).toHaveLength(2);
100
- });
101
- it('should not discover configs when recursive is false', async () => {
102
- createTempFile('config1.ts', `
103
- import { createConfig } from '@config-bound/config-bound';
104
- export const config1 = createConfig({ name: 'Config1', sections: {} });
105
- `);
106
- createTempFile('subdir/config2.ts', `
107
- import { createConfig } from '@config-bound/config-bound';
108
- export const config2 = createConfig({ name: 'Config2', sections: {} });
109
- `);
110
- const configs = await service.discoverConfigs(tempDir, false);
111
- expect(configs).toHaveLength(1);
112
- });
113
- it('should skip non-exported configs', async () => {
114
- createTempFile('config.ts', `
115
- import { createConfig } from '@config-bound/config-bound';
116
- const privateConfig = createConfig({ name: 'Private', sections: {} });
117
- `);
118
- const configs = await service.discoverConfigs(tempDir, false);
119
- expect(configs).toHaveLength(0);
120
- });
121
- it('should skip test files', async () => {
122
- createTempFile('config.spec.ts', `
123
- import { createConfig } from '@config-bound/config-bound';
124
- export const testConfig = createConfig({ name: 'Test', sections: {} });
125
- `);
126
- const configs = await service.discoverConfigs(tempDir, false);
127
- expect(configs).toHaveLength(0);
128
- });
129
- it('should handle files without configs', async () => {
130
- createTempFile('other.ts', `
131
- export const someValue = 42;
132
- `);
133
- const configs = await service.discoverConfigs(tempDir, false);
134
- expect(configs).toHaveLength(0);
135
- });
136
- });
137
- //# sourceMappingURL=config-discovery.service.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-discovery.service.spec.js","sourceRoot":"","sources":["../../src/services/config-discovery.service.spec.ts"],"names":[],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import { Section } from '@config-bound/config-bound/section';
2
- import { ConfigBound, TypedConfigBound, ConfigSchema } from '@config-bound/config-bound';
3
- export interface LoadedConfig {
4
- name: string;
5
- sections: Section[];
6
- instance: ConfigBound | TypedConfigBound<ConfigSchema>;
7
- }
8
- export declare class ConfigLoaderService {
9
- loadConfig(filePath: string, exportName?: string): Promise<LoadedConfig>;
10
- loadConfigs(filePath: string): Promise<Map<string, LoadedConfig>>;
11
- private isConfigBoundInstance;
12
- }
13
- //# sourceMappingURL=config-loader.service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config-loader.service.d.ts","sourceRoot":"","sources":["../../src/services/config-loader.service.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,OAAO,EAAE,MAAM,oCAAoC,CAAC;AAC7D,OAAO,EACL,WAAW,EACX,gBAAgB,EAChB,YAAY,EAUb,MAAM,4BAA4B,CAAC;AAEpC,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,QAAQ,EAAE,WAAW,GAAG,gBAAgB,CAAC,YAAY,CAAC,CAAC;CACxD;AAED,qBACa,mBAAmB;IACxB,UAAU,CACd,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,YAAY,CAAC;IAiNlB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;IA6HvE,OAAO,CAAC,qBAAqB;CAa9B"}