@slingr/cli 0.0.1

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 (144) hide show
  1. package/README.md +320 -0
  2. package/bin/dev.cmd +3 -0
  3. package/bin/dev.js +5 -0
  4. package/bin/run.cmd +3 -0
  5. package/bin/run.js +5 -0
  6. package/dist/commands/cli-build.d.ts +9 -0
  7. package/dist/commands/cli-build.d.ts.map +1 -0
  8. package/dist/commands/cli-build.js +36 -0
  9. package/dist/commands/cli-build.js.map +1 -0
  10. package/dist/commands/create-app.d.ts +20 -0
  11. package/dist/commands/create-app.d.ts.map +1 -0
  12. package/dist/commands/create-app.js +246 -0
  13. package/dist/commands/create-app.js.map +1 -0
  14. package/dist/commands/ds.d.ts +28 -0
  15. package/dist/commands/ds.d.ts.map +1 -0
  16. package/dist/commands/ds.js +529 -0
  17. package/dist/commands/ds.js.map +1 -0
  18. package/dist/commands/gql.d.ts +22 -0
  19. package/dist/commands/gql.d.ts.map +1 -0
  20. package/dist/commands/gql.js +340 -0
  21. package/dist/commands/gql.js.map +1 -0
  22. package/dist/commands/infra/down.d.ts +13 -0
  23. package/dist/commands/infra/down.d.ts.map +1 -0
  24. package/dist/commands/infra/down.js +80 -0
  25. package/dist/commands/infra/down.js.map +1 -0
  26. package/dist/commands/infra/up.d.ts +13 -0
  27. package/dist/commands/infra/up.d.ts.map +1 -0
  28. package/dist/commands/infra/up.js +69 -0
  29. package/dist/commands/infra/up.js.map +1 -0
  30. package/dist/commands/infra/update.d.ts +14 -0
  31. package/dist/commands/infra/update.d.ts.map +1 -0
  32. package/dist/commands/infra/update.js +321 -0
  33. package/dist/commands/infra/update.js.map +1 -0
  34. package/dist/commands/run.d.ts +19 -0
  35. package/dist/commands/run.d.ts.map +1 -0
  36. package/dist/commands/run.js +315 -0
  37. package/dist/commands/run.js.map +1 -0
  38. package/dist/commands/setup.d.ts +18 -0
  39. package/dist/commands/setup.d.ts.map +1 -0
  40. package/dist/commands/setup.js +189 -0
  41. package/dist/commands/setup.js.map +1 -0
  42. package/dist/index.d.ts +2 -0
  43. package/dist/index.d.ts.map +1 -0
  44. package/dist/index.js +8 -0
  45. package/dist/index.js.map +1 -0
  46. package/dist/projectStructure.d.ts +10 -0
  47. package/dist/projectStructure.d.ts.map +1 -0
  48. package/dist/projectStructure.js +153 -0
  49. package/dist/projectStructure.js.map +1 -0
  50. package/dist/scripts/generate-schema.d.ts +10 -0
  51. package/dist/scripts/generate-schema.d.ts.map +1 -0
  52. package/dist/scripts/generate-schema.js +130 -0
  53. package/dist/scripts/generate-schema.js.map +1 -0
  54. package/dist/scripts/generate-schema.ts +143 -0
  55. package/dist/templates/.github/copilot-instructions.md.template +17 -0
  56. package/dist/templates/config/datasource.ts.template +9 -0
  57. package/dist/templates/config/jest.config.ts +30 -0
  58. package/dist/templates/config/jest.setup.ts +1 -0
  59. package/dist/templates/config/tsconfig.json.template +30 -0
  60. package/dist/templates/dataSources/mysql.ts.template +13 -0
  61. package/dist/templates/dataSources/postgres.ts.template +13 -0
  62. package/dist/templates/dataset-generator-script.ts.template +140 -0
  63. package/dist/templates/datasets/mysql-default/Address.jsonl.template +4 -0
  64. package/dist/templates/datasets/mysql-default/App.jsonl.template +5 -0
  65. package/dist/templates/datasets/mysql-default/Company.jsonl.template +4 -0
  66. package/dist/templates/datasets/mysql-default/Person.jsonl.template +3 -0
  67. package/dist/templates/datasets/postgres-default/Address.jsonl.template +4 -0
  68. package/dist/templates/datasets/postgres-default/App.jsonl.template +5 -0
  69. package/dist/templates/datasets/postgres-default/Company.jsonl.template +4 -0
  70. package/dist/templates/datasets/postgres-default/Person.jsonl.template +3 -0
  71. package/dist/templates/docs/app-description.md.template +34 -0
  72. package/dist/templates/gql/codegen.yml.template +25 -0
  73. package/dist/templates/gql/index.ts.template +24 -0
  74. package/dist/templates/gql/operations.graphql.template +30 -0
  75. package/dist/templates/package.json.template +38 -0
  76. package/dist/templates/prompt-analysis.md.template +111 -0
  77. package/dist/templates/prompt-script-generation.md.template +259 -0
  78. package/dist/templates/src/Address.ts.template +31 -0
  79. package/dist/templates/src/App.ts.template +61 -0
  80. package/dist/templates/src/Company.ts.template +48 -0
  81. package/dist/templates/src/Models.test.ts.template +655 -0
  82. package/dist/templates/src/Person.test.ts.template +289 -0
  83. package/dist/templates/src/Person.ts.template +105 -0
  84. package/dist/templates/src/actions/index.ts.template +12 -0
  85. package/dist/templates/src/index.ts +66 -0
  86. package/dist/templates/src/types/gql.d.ts.template +18 -0
  87. package/dist/templates/vscode/extensions.json +3 -0
  88. package/dist/templates/vscode/settings.json +11 -0
  89. package/dist/utils/datasourceParser.d.ts +12 -0
  90. package/dist/utils/datasourceParser.d.ts.map +1 -0
  91. package/dist/utils/datasourceParser.js +91 -0
  92. package/dist/utils/datasourceParser.js.map +1 -0
  93. package/dist/utils/jsonlLoader.d.ts +140 -0
  94. package/dist/utils/jsonlLoader.d.ts.map +1 -0
  95. package/dist/utils/jsonlLoader.js +583 -0
  96. package/dist/utils/jsonlLoader.js.map +1 -0
  97. package/dist/utils/model-analyzer.d.ts +86 -0
  98. package/dist/utils/model-analyzer.d.ts.map +1 -0
  99. package/dist/utils/model-analyzer.js +458 -0
  100. package/dist/utils/model-analyzer.js.map +1 -0
  101. package/dist/utils/portChecker.d.ts +36 -0
  102. package/dist/utils/portChecker.d.ts.map +1 -0
  103. package/dist/utils/portChecker.js +308 -0
  104. package/dist/utils/portChecker.js.map +1 -0
  105. package/dist/utils/synthetic-data-generator.d.ts +74 -0
  106. package/dist/utils/synthetic-data-generator.d.ts.map +1 -0
  107. package/dist/utils/synthetic-data-generator.js +443 -0
  108. package/dist/utils/synthetic-data-generator.js.map +1 -0
  109. package/oclif.manifest.json +435 -0
  110. package/package.json +118 -0
  111. package/src/templates/.github/copilot-instructions.md.template +17 -0
  112. package/src/templates/config/datasource.ts.template +9 -0
  113. package/src/templates/config/jest.config.ts +30 -0
  114. package/src/templates/config/jest.setup.ts +1 -0
  115. package/src/templates/config/tsconfig.json.template +30 -0
  116. package/src/templates/dataSources/mysql.ts.template +13 -0
  117. package/src/templates/dataSources/postgres.ts.template +13 -0
  118. package/src/templates/dataset-generator-script.ts.template +140 -0
  119. package/src/templates/datasets/mysql-default/Address.jsonl.template +4 -0
  120. package/src/templates/datasets/mysql-default/App.jsonl.template +5 -0
  121. package/src/templates/datasets/mysql-default/Company.jsonl.template +4 -0
  122. package/src/templates/datasets/mysql-default/Person.jsonl.template +3 -0
  123. package/src/templates/datasets/postgres-default/Address.jsonl.template +4 -0
  124. package/src/templates/datasets/postgres-default/App.jsonl.template +5 -0
  125. package/src/templates/datasets/postgres-default/Company.jsonl.template +4 -0
  126. package/src/templates/datasets/postgres-default/Person.jsonl.template +3 -0
  127. package/src/templates/docs/app-description.md.template +34 -0
  128. package/src/templates/gql/codegen.yml.template +25 -0
  129. package/src/templates/gql/index.ts.template +24 -0
  130. package/src/templates/gql/operations.graphql.template +30 -0
  131. package/src/templates/package.json.template +38 -0
  132. package/src/templates/prompt-analysis.md.template +111 -0
  133. package/src/templates/prompt-script-generation.md.template +259 -0
  134. package/src/templates/src/Address.ts.template +31 -0
  135. package/src/templates/src/App.ts.template +61 -0
  136. package/src/templates/src/Company.ts.template +48 -0
  137. package/src/templates/src/Models.test.ts.template +655 -0
  138. package/src/templates/src/Person.test.ts.template +289 -0
  139. package/src/templates/src/Person.ts.template +105 -0
  140. package/src/templates/src/actions/index.ts.template +12 -0
  141. package/src/templates/src/index.ts +66 -0
  142. package/src/templates/src/types/gql.d.ts.template +18 -0
  143. package/src/templates/vscode/extensions.json +3 -0
  144. package/src/templates/vscode/settings.json +11 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create-app.js","sourceRoot":"","sources":["../../src/commands/create-app.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Ds extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ datasource: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ action: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
8
+ dataset: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
9
+ };
10
+ run(): Promise<void>;
11
+ private generateCode;
12
+ private ensureDatabaseDependencies;
13
+ private prepareEnvironment;
14
+ private loadDataset;
15
+ private resetDatasource;
16
+ private ensureDockerIsRunning;
17
+ private getComposeCommand;
18
+ private listComposeServices;
19
+ private collectComposeContainerIds;
20
+ private resolveDeclaredVolumes;
21
+ private deriveComposeProjectName;
22
+ private runComposeCommand;
23
+ /**
24
+ * Validate that Docker is running and PostgreSQL container is available
25
+ */
26
+ private validateDockerInfrastructure;
27
+ }
28
+ //# sourceMappingURL=ds.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds.d.ts","sourceRoot":"","sources":["../../src/commands/ds.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAE,MAAM,aAAa,CAAC;AAQ5C,MAAM,CAAC,OAAO,OAAO,EAAG,SAAQ,OAAO;IACrC,MAAM,CAAC,WAAW,SAAqC;IAEvD,MAAM,CAAC,QAAQ,WAKb;IAEF,MAAM,CAAC,IAAI;;;;MAeT;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAkCZ,YAAY;YAMZ,0BAA0B;YA2D1B,kBAAkB;YAyBlB,WAAW;YAyKX,eAAe;IAiF7B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,iBAAiB;IAgBzB,OAAO,CAAC,mBAAmB;IAmB3B,OAAO,CAAC,0BAA0B;YAyBpB,sBAAsB;IAwCpC,OAAO,CAAC,wBAAwB;IAShC,OAAO,CAAC,iBAAiB;IAazB;;OAEG;YACW,4BAA4B;CAiD3C"}
@@ -0,0 +1,529 @@
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 () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ const core_1 = require("@oclif/core");
40
+ const fs_extra_1 = __importDefault(require("fs-extra"));
41
+ const node_path_1 = __importDefault(require("node:path"));
42
+ const child_process_1 = require("child_process");
43
+ const yaml = __importStar(require("js-yaml"));
44
+ const jsonlLoader_js_1 = require("../utils/jsonlLoader.js");
45
+ class Ds extends core_1.Command {
46
+ static description = 'Manage datasets for datasources';
47
+ static examples = [
48
+ 'slingr ds postgres load',
49
+ 'slingr ds postgres load custom-dataset',
50
+ 'slingr ds mysql load default',
51
+ 'slingr ds postgres reset',
52
+ ];
53
+ static args = {
54
+ datasource: core_1.Args.string({
55
+ description: 'Name of the datasource to manage',
56
+ required: true,
57
+ }),
58
+ action: core_1.Args.string({
59
+ description: 'Action to perform (load or reset)',
60
+ options: ['load', 'reset'],
61
+ required: true,
62
+ }),
63
+ dataset: core_1.Args.string({
64
+ description: 'Name of the dataset to load (defaults to "default")',
65
+ required: false,
66
+ default: 'default',
67
+ }),
68
+ };
69
+ async run() {
70
+ const { args } = await this.parse(Ds);
71
+ const { datasource, action, dataset } = args;
72
+ // Verify we're in a Slingr app directory
73
+ const pkgPath = node_path_1.default.join(process.cwd(), 'package.json');
74
+ if (!(await fs_extra_1.default.pathExists(pkgPath))) {
75
+ this.error("Not in a Slingr application directory. Please run this command from your app's root directory.");
76
+ }
77
+ // Check if the datasource exists
78
+ const dsPath = node_path_1.default.join(process.cwd(), 'src', 'dataSources', `${datasource}.ts`);
79
+ if (!(await fs_extra_1.default.pathExists(dsPath))) {
80
+ this.error(`Datasource ${datasource} not found. Expected file at: ${dsPath}`);
81
+ }
82
+ try {
83
+ switch (action) {
84
+ case 'load':
85
+ // Prepare the environment before loading
86
+ await this.prepareEnvironment();
87
+ await this.loadDataset(datasource, dataset);
88
+ break;
89
+ case 'reset':
90
+ await this.resetDatasource(datasource);
91
+ break;
92
+ default:
93
+ this.error(`Unknown action: ${action}`);
94
+ }
95
+ }
96
+ catch (error) {
97
+ this.error(`Failed to ${action} dataset: ${error.message}`);
98
+ }
99
+ }
100
+ async generateCode() {
101
+ // Compile TypeScript code
102
+ this.log('Compiling TypeScript code...');
103
+ (0, child_process_1.execSync)('npm run build', { stdio: 'inherit' });
104
+ }
105
+ async ensureDatabaseDependencies(datasource) {
106
+ // Get the datasource type by reading the datasource file
107
+ const dsPath = node_path_1.default.join(process.cwd(), 'src', 'dataSources', `${datasource}.ts`);
108
+ const content = await fs_extra_1.default.readFile(dsPath, 'utf-8');
109
+ // Extract database type from the configuration
110
+ const typeMatch = content.match(/type:\s*['"]([^'"]+)['"]/);
111
+ if (!typeMatch) {
112
+ this.log('Could not determine database type from datasource configuration');
113
+ return;
114
+ }
115
+ let dbType = typeMatch[1].toLowerCase();
116
+ if (dbType === 'postgresql') {
117
+ dbType = 'postgres';
118
+ }
119
+ // Check package.json for required dependencies
120
+ const packageJsonPath = node_path_1.default.join(process.cwd(), 'package.json');
121
+ const packageJson = await fs_extra_1.default.readJSON(packageJsonPath);
122
+ const dependencies = {
123
+ ...packageJson.dependencies,
124
+ ...packageJson.devDependencies,
125
+ };
126
+ let packageToInstall = null;
127
+ // Determine which package is needed based on database type
128
+ switch (dbType) {
129
+ case 'mysql':
130
+ if (!dependencies['mysql2'] && !dependencies['mysql']) {
131
+ packageToInstall = 'mysql2';
132
+ }
133
+ break;
134
+ case 'postgres':
135
+ if (!dependencies['pg']) {
136
+ packageToInstall = 'pg';
137
+ }
138
+ break;
139
+ }
140
+ // Install the required package if missing
141
+ if (packageToInstall) {
142
+ this.log(`Installing required database driver: ${packageToInstall}`);
143
+ try {
144
+ (0, child_process_1.execSync)(`npm install ${packageToInstall}`, {
145
+ stdio: 'inherit',
146
+ cwd: process.cwd(),
147
+ });
148
+ this.log(`Successfully installed ${packageToInstall}`);
149
+ }
150
+ catch (error) {
151
+ this.error(`Failed to install ${packageToInstall}: ${error.message}`);
152
+ }
153
+ }
154
+ else {
155
+ this.log(`Database driver for ${dbType} is already installed`);
156
+ }
157
+ }
158
+ async prepareEnvironment() {
159
+ // Check if we have package.json with slingr-framework dependency
160
+ const packageJsonPath = node_path_1.default.join(process.cwd(), 'package.json');
161
+ const packageJson = await fs_extra_1.default.readJSON(packageJsonPath);
162
+ if (!packageJson.dependencies?.['slingr-framework']) {
163
+ this.error('This directory does not contain a Slingr application.');
164
+ }
165
+ // Check if node_modules exists, if not tell user to install dependencies
166
+ const nodeModulesPath = node_path_1.default.join(process.cwd(), 'node_modules');
167
+ if (!(await fs_extra_1.default.pathExists(nodeModulesPath))) {
168
+ this.error('Dependencies not found. Please run "npm install" first to install the required dependencies.');
169
+ }
170
+ // Check if slingr-framework is specifically installed
171
+ const frameworkPath = node_path_1.default.join(nodeModulesPath, 'slingr-framework');
172
+ if (!(await fs_extra_1.default.pathExists(frameworkPath))) {
173
+ this.error('slingr-framework not found in node_modules. Please run "npm install" to install dependencies.');
174
+ }
175
+ // Generate code
176
+ await this.generateCode();
177
+ }
178
+ async loadDataset(datasource, dataset) {
179
+ this.log(`Loading dataset '${dataset}' into datasource '${datasource}'...`);
180
+ // Check if the dataset directory exists using the convention: dataSourceName-datasetName
181
+ const datasetPath = node_path_1.default.join(process.cwd(), 'src', 'datasets', `${datasource}-${dataset}`);
182
+ if (!(await fs_extra_1.default.pathExists(datasetPath))) {
183
+ this.error(`Dataset not found at: ${datasetPath}`);
184
+ }
185
+ // Initialize the JSONL loader
186
+ const loader = new jsonlLoader_js_1.JsonlDatasetLoader();
187
+ // Path to the compiled JavaScript files
188
+ const distPath = node_path_1.default.join(process.cwd(), 'dist');
189
+ // Auto-discover models from compiled JS files
190
+ const modelMap = await (0, jsonlLoader_js_1.discoverModels)(distPath);
191
+ if (Object.keys(modelMap).length === 0) {
192
+ this.error('No models found. Please ensure your models are compiled (run npm run build) and extend BaseModel.');
193
+ }
194
+ this.log(`Discovered ${Object.keys(modelMap).length} models:`, Object.keys(modelMap));
195
+ // Load dataset using the new JSONL loader
196
+ const loadResults = await loader.loadDataset({
197
+ datasetPath,
198
+ modelMap,
199
+ validateRecords: true,
200
+ verbose: true,
201
+ });
202
+ if (loadResults.length === 0) {
203
+ this.error('No compatible JSONL files found or no models matched the file names.');
204
+ }
205
+ // Import the datasource module from compiled JS
206
+ const dsModulePath = node_path_1.default.join(process.cwd(), 'dist', 'dataSources', `${datasource}.js`);
207
+ const dsModule = require(dsModulePath);
208
+ // Try different possible export names
209
+ let dsConfig = dsModule[`${datasource}`];
210
+ if (!dsConfig) {
211
+ dsConfig = dsModule[`mainDs`];
212
+ }
213
+ if (!dsConfig) {
214
+ const availableExports = Object.keys(dsModule);
215
+ this.error(`Could not find datasource instance. Tried: '${datasource}', '${datasource}DataSource'. Available exports: ${availableExports.join(', ')} in ${dsModulePath}`);
216
+ }
217
+ // Validate Docker is running and PostgreSQL container is available
218
+ await this.validateDockerInfrastructure(datasource);
219
+ // Ensure the required database dependencies are installed
220
+ await this.ensureDatabaseDependencies(datasource);
221
+ // Initialize the datasource with its configuration
222
+ try {
223
+ this.log(`Attempting to connect to database: ${JSON.stringify(dsConfig.getOptions(), null, 2)}`);
224
+ await dsConfig.initialize();
225
+ }
226
+ catch (error) {
227
+ const errorMessage = error.message;
228
+ this.log(`Connection failed with error: ${errorMessage}`);
229
+ // Check if docker-compose.yml exists
230
+ const dockerComposePath = node_path_1.default.join(process.cwd(), 'docker-compose.yml');
231
+ const hasDockerCompose = await fs_extra_1.default.pathExists(dockerComposePath);
232
+ // Helper function to check if error contains connection refused
233
+ const isConnectionRefused = (err) => {
234
+ // Check the main error
235
+ if (err.code === 'ECONNREFUSED') {
236
+ return true;
237
+ }
238
+ if (err.message?.includes('ECONNREFUSED')) {
239
+ return true;
240
+ }
241
+ if (err.message?.includes('connection refused')) {
242
+ return true;
243
+ }
244
+ // Check nested errors in AggregateError
245
+ if (err.errors && Array.isArray(err.errors)) {
246
+ return err.errors.some((nestedErr) => isConnectionRefused(nestedErr));
247
+ }
248
+ // Check cause property
249
+ if (err.cause) {
250
+ return isConnectionRefused(err.cause);
251
+ }
252
+ return false;
253
+ };
254
+ // Check for TypeORM initialization failures (usually connection issues)
255
+ if (errorMessage.includes('Failed to initialize TypeORM DataSource')) {
256
+ if (hasDockerCompose) {
257
+ this.error(`Cannot connect to database server. The database infrastructure exists but is not running.\n\nTo fix this, run one of the following commands:\n - slingr run (to start the full application with infrastructure)\n - docker-compose up -d (to start just the infrastructure services)`);
258
+ }
259
+ else {
260
+ this.error(`Cannot connect to database server. The database infrastructure has not been set up yet.\n\nTo fix this, you have two options:\n\n1. Simple option:\n - slingr run (automatically generates infrastructure and starts the application)\n\n2. Step-by-step option:\n - slingr infra:update --all (to generate docker-compose.yml and infrastructure files)\n - Then run: slingr run OR docker-compose up -d`);
261
+ }
262
+ }
263
+ // Check for connection refused errors
264
+ if (isConnectionRefused(error)) {
265
+ if (hasDockerCompose) {
266
+ this.error(`Cannot connect to database server. The database infrastructure exists but is not running.\n\nTo fix this, run one of the following commands:\n - slingr run (to start the full application with infrastructure)\n - docker-compose up -d (to start just the infrastructure services)`);
267
+ }
268
+ else {
269
+ this.error(`Cannot connect to database server. The database infrastructure has not been set up yet.\n\nTo fix this, you have two options:\n\n1. Simple option:\n - slingr run (automatically generates infrastructure and starts the application)\n\n2. Step-by-step option:\n - slingr infra:update --all (to generate docker-compose.yml and infrastructure files)\n - Then run: slingr run OR docker-compose up -d`);
270
+ }
271
+ }
272
+ // Check for database not found errors
273
+ if (errorMessage.includes('database') && errorMessage.includes('does not exist')) {
274
+ this.error(`Database infrastructure not found. The database server is not running or the database does not exist.\n\nTo fix this, run the following command:\n - slingr run (to start the full application with infrastructure)`);
275
+ }
276
+ // Re-throw other errors
277
+ throw error;
278
+ }
279
+ const dataSource = dsConfig.getTypeOrmDataSource();
280
+ if (!dataSource || !dataSource.isInitialized) {
281
+ this.error('DataSource failed to initialize');
282
+ }
283
+ this.log('DataSource initialized successfully');
284
+ // Process each load result using TypeORM repositories (database-agnostic)
285
+ try {
286
+ // Use the new generic loader method
287
+ await loader.loadDatasetToDatabase(loadResults, dsConfig, true);
288
+ // Print summary
289
+ const totalSuccess = loadResults.reduce((sum, r) => sum + r.successCount, 0);
290
+ const totalErrors = loadResults.reduce((sum, r) => sum + r.errorCount, 0);
291
+ this.log(`
292
+ 🎉 Successfully loaded dataset '${dataset}' into datasource '${datasource}'`);
293
+ this.log(`📈 Summary: ${totalSuccess} records loaded, ${totalErrors} errors`);
294
+ }
295
+ catch (error) {
296
+ this.error(`Failed to load dataset: ${error.message}`);
297
+ }
298
+ finally {
299
+ // Clean up by closing the datasource connection
300
+ if (dataSource.isInitialized) {
301
+ // Add delay to ensure all operations complete
302
+ this.log('⏳ Finalizing database operations...');
303
+ await new Promise(resolve => setTimeout(resolve, 2000));
304
+ await dataSource.destroy();
305
+ this.log('🔌 Database connection closed');
306
+ }
307
+ }
308
+ }
309
+ async resetDatasource(datasource) {
310
+ this.log(`Resetting datasource '${datasource}' infrastructure...`);
311
+ this.ensureDockerIsRunning();
312
+ const composeFile = node_path_1.default.join(process.cwd(), 'docker-compose.yml');
313
+ if (!(await fs_extra_1.default.pathExists(composeFile))) {
314
+ this.error(`Docker infrastructure not found. Missing docker-compose.yml file.\n\nTo fix this, run one of the following commands:\n - slingr infra:update --all (to generate infrastructure files)\n - slingr run (to automatically generate and start infrastructure)`);
315
+ }
316
+ const composeCommand = this.getComposeCommand();
317
+ const serviceName = `${datasource}-db`;
318
+ const cwd = process.cwd();
319
+ const services = this.listComposeServices(composeCommand, cwd);
320
+ if (!services.includes(serviceName)) {
321
+ this.error(`Service '${serviceName}' was not found in docker-compose.yml. Please ensure the datasource infrastructure has been generated.`);
322
+ }
323
+ let projectName;
324
+ const discoveredVolumes = new Set();
325
+ const containerIds = this.collectComposeContainerIds(composeCommand, serviceName, cwd);
326
+ for (const id of containerIds) {
327
+ try {
328
+ const inspectRaw = (0, child_process_1.execSync)(`docker inspect ${id}`, { encoding: 'utf8', stdio: 'pipe' });
329
+ const [inspectData] = JSON.parse(inspectRaw);
330
+ const containerProject = inspectData?.Config?.Labels?.['com.docker.compose.project'];
331
+ if (containerProject && !projectName) {
332
+ projectName = containerProject;
333
+ }
334
+ if (Array.isArray(inspectData?.Mounts)) {
335
+ for (const mount of inspectData.Mounts) {
336
+ if (mount?.Type === 'volume' && mount?.Name) {
337
+ discoveredVolumes.add(mount.Name);
338
+ }
339
+ }
340
+ }
341
+ }
342
+ catch (error) {
343
+ this.warn(`Could not inspect container ${id}: ${error.message}`);
344
+ }
345
+ }
346
+ const declaredVolumes = await this.resolveDeclaredVolumes(composeFile, serviceName, projectName);
347
+ for (const vol of declaredVolumes) {
348
+ discoveredVolumes.add(vol);
349
+ }
350
+ this.log(`Stopping service '${serviceName}'...`);
351
+ this.runComposeCommand(composeCommand, `stop ${serviceName}`, cwd, true);
352
+ this.log(`Removing containers for '${serviceName}'...`);
353
+ this.runComposeCommand(composeCommand, `rm -f ${serviceName}`, cwd, true);
354
+ if (discoveredVolumes.size > 0) {
355
+ this.log('Removing associated volumes...');
356
+ for (const volumeName of discoveredVolumes) {
357
+ try {
358
+ (0, child_process_1.execSync)(`docker volume rm ${volumeName}`, { stdio: 'inherit' });
359
+ }
360
+ catch (error) {
361
+ this.warn(`Could not remove volume ${volumeName}: ${error.message}`);
362
+ }
363
+ }
364
+ }
365
+ else {
366
+ this.log('No named volumes detected for this datasource. Skipping volume removal.');
367
+ }
368
+ this.log(`Starting service '${serviceName}'...`);
369
+ this.runComposeCommand(composeCommand, `up -d ${serviceName}`, cwd);
370
+ await this.validateDockerInfrastructure(datasource);
371
+ this.log(`✅ Datasource '${datasource}' has been reset successfully.`);
372
+ }
373
+ ensureDockerIsRunning() {
374
+ try {
375
+ (0, child_process_1.execSync)('docker info', { stdio: 'pipe' });
376
+ }
377
+ catch (error) {
378
+ this.error(`Docker is not running. Please start Docker Desktop before running dataset commands.\n\nThe dataset command requires Docker to run the PostgreSQL infrastructure.`);
379
+ }
380
+ }
381
+ getComposeCommand() {
382
+ try {
383
+ (0, child_process_1.execSync)('docker compose version', { stdio: 'pipe' });
384
+ return 'docker compose';
385
+ }
386
+ catch {
387
+ try {
388
+ (0, child_process_1.execSync)('docker-compose --version', { stdio: 'pipe' });
389
+ return 'docker-compose';
390
+ }
391
+ catch {
392
+ this.error('Docker Compose is not installed. Please install Docker Compose to manage infrastructure services.');
393
+ }
394
+ }
395
+ return 'docker compose';
396
+ }
397
+ listComposeServices(composeCommand, cwd) {
398
+ try {
399
+ const output = (0, child_process_1.execSync)(`${composeCommand} config --services`, {
400
+ cwd,
401
+ encoding: 'utf8',
402
+ stdio: 'pipe',
403
+ });
404
+ return output
405
+ .split(/\r?\n/)
406
+ .map(line => line.trim())
407
+ .filter(line => line.length > 0);
408
+ }
409
+ catch (error) {
410
+ this.error(`Could not read docker-compose services. Ensure Docker Compose is installed correctly.\n${error.message}`);
411
+ }
412
+ }
413
+ collectComposeContainerIds(composeCommand, serviceName, cwd) {
414
+ const ids = new Set();
415
+ const attempts = [`${composeCommand} ps -q ${serviceName}`, `${composeCommand} ps -a -q ${serviceName}`];
416
+ for (const command of attempts) {
417
+ try {
418
+ const result = (0, child_process_1.execSync)(command, {
419
+ cwd,
420
+ encoding: 'utf8',
421
+ stdio: 'pipe',
422
+ });
423
+ for (const id of result.split(/\r?\n/).map(line => line.trim())) {
424
+ if (id) {
425
+ ids.add(id);
426
+ }
427
+ }
428
+ }
429
+ catch {
430
+ // Ignore failures in ps commands; service may not have containers yet
431
+ }
432
+ }
433
+ return Array.from(ids);
434
+ }
435
+ async resolveDeclaredVolumes(composeFile, serviceName, projectName) {
436
+ try {
437
+ const composeContent = await fs_extra_1.default.readFile(composeFile, 'utf8');
438
+ const composeSpec = yaml.load(composeContent);
439
+ const serviceSpec = composeSpec?.services?.[serviceName];
440
+ if (!serviceSpec || !Array.isArray(serviceSpec.volumes)) {
441
+ return [];
442
+ }
443
+ const declaredVolumeNames = new Set();
444
+ for (const entry of serviceSpec.volumes) {
445
+ if (typeof entry === 'string') {
446
+ const source = entry.split(':')[0]?.trim();
447
+ if (source && !source.startsWith('./') && !source.includes('/') && !source.includes('\\')) {
448
+ declaredVolumeNames.add(source);
449
+ }
450
+ }
451
+ else if (entry && typeof entry === 'object' && entry.source) {
452
+ declaredVolumeNames.add(String(entry.source));
453
+ }
454
+ }
455
+ if (declaredVolumeNames.size === 0) {
456
+ return [];
457
+ }
458
+ const resolvedProject = projectName ?? this.deriveComposeProjectName();
459
+ return Array.from(declaredVolumeNames).map(name => `${resolvedProject}_${name}`);
460
+ }
461
+ catch (error) {
462
+ this.warn(`Could not parse docker-compose.yml for volume information: ${error.message}`);
463
+ return [];
464
+ }
465
+ }
466
+ deriveComposeProjectName() {
467
+ const baseName = node_path_1.default.basename(process.cwd()).trim();
468
+ const sanitized = baseName
469
+ .toLowerCase()
470
+ .replace(/[^0-9a-z_.-]+/g, '-')
471
+ .replace(/^-+|-+$/g, '');
472
+ return sanitized || 'default';
473
+ }
474
+ runComposeCommand(composeCommand, args, cwd, allowFailure = false) {
475
+ try {
476
+ (0, child_process_1.execSync)(`${composeCommand} ${args}`, {
477
+ cwd,
478
+ stdio: 'inherit',
479
+ });
480
+ }
481
+ catch (error) {
482
+ if (!allowFailure) {
483
+ throw error;
484
+ }
485
+ }
486
+ }
487
+ /**
488
+ * Validate that Docker is running and PostgreSQL container is available
489
+ */
490
+ async validateDockerInfrastructure(datasource) {
491
+ // Check if Docker is running
492
+ try {
493
+ (0, child_process_1.execSync)('docker info', { stdio: 'pipe' });
494
+ }
495
+ catch (error) {
496
+ this.error(`Docker is not running. Please start Docker Desktop before running dataset commands.\n\nThe dataset command requires Docker to run the PostgreSQL infrastructure.`);
497
+ }
498
+ // Check if docker-compose.yml exists
499
+ const dockerComposePath = node_path_1.default.join(process.cwd(), 'docker-compose.yml');
500
+ if (!(await fs_extra_1.default.pathExists(dockerComposePath))) {
501
+ this.error(`Docker infrastructure not found. Missing docker-compose.yml file.\n\nTo fix this, run one of the following commands:\n - slingr infra:update --all (to generate infrastructure files)\n - slingr run (to automatically generate and start infrastructure)`);
502
+ }
503
+ // Check if PostgreSQL container is running
504
+ const serviceName = `${datasource}-db`; // Docker service name format
505
+ try {
506
+ const result = (0, child_process_1.execSync)(`docker-compose ps -q ${serviceName}`, {
507
+ stdio: 'pipe',
508
+ encoding: 'utf8',
509
+ });
510
+ if (!result.trim()) {
511
+ this.error(`PostgreSQL container '${serviceName}' is not running.\n\nTo fix this, run one of the following commands:\n - slingr run (to start the full application with infrastructure)\n - docker-compose up -d ${serviceName} (to start just the PostgreSQL service)`);
512
+ }
513
+ // Verify the container is actually running (not just exists)
514
+ const statusResult = (0, child_process_1.execSync)(`docker-compose ps ${serviceName}`, {
515
+ stdio: 'pipe',
516
+ encoding: 'utf8',
517
+ });
518
+ if (!statusResult.includes('Up')) {
519
+ this.error(`PostgreSQL container '${serviceName}' exists but is not running.\n\nTo fix this, run one of the following commands:\n - slingr run (to start the full application with infrastructure)\n - docker-compose up -d ${serviceName} (to start just the PostgreSQL service)`);
520
+ }
521
+ this.log(`✅ Docker infrastructure validated: PostgreSQL container '${serviceName}' is running`);
522
+ }
523
+ catch (error) {
524
+ this.error(`Could not verify PostgreSQL container status.\n\nTo fix this, run one of the following commands:\n - slingr run (to start the full application with infrastructure)\n - docker-compose up -d (to start all infrastructure services)`);
525
+ }
526
+ }
527
+ }
528
+ exports.default = Ds;
529
+ //# sourceMappingURL=ds.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ds.js","sourceRoot":"","sources":["../../src/commands/ds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ import { Command } from '@oclif/core';
2
+ export default class Gql extends Command {
3
+ static description: string;
4
+ static examples: string[];
5
+ static args: {
6
+ action: import("@oclif/core/interfaces").Arg<string, Record<string, unknown>>;
7
+ };
8
+ static flags: {
9
+ 'no-exit': import("@oclif/core/interfaces").BooleanFlag<boolean>;
10
+ };
11
+ run(): Promise<void>;
12
+ private prepareEnvironment;
13
+ private compileForSchemaGeneration;
14
+ private generateSchema;
15
+ private generateSDK;
16
+ private ensureCodegenDependencies;
17
+ private createCodegenConfig;
18
+ private createBarrelExport;
19
+ private setupModuleAlias;
20
+ private removeTemporaryTypeDeclaration;
21
+ }
22
+ //# sourceMappingURL=gql.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gql.d.ts","sourceRoot":"","sources":["../../src/commands/gql.ts"],"names":[],"mappings":"AAAA,OAAO,EAAQ,OAAO,EAAS,MAAM,aAAa,CAAC;AAKnD,MAAM,CAAC,OAAO,OAAO,GAAI,SAAQ,OAAO;IACtC,MAAM,CAAC,WAAW,SAAiE;IAEnF,MAAM,CAAC,QAAQ,WAAqG;IAEpH,MAAM,CAAC,IAAI;;MAMT;IAEF,MAAM,CAAC,KAAK;;MAKV;IAEI,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YAgCZ,kBAAkB;YAoBlB,0BAA0B;YAqE1B,cAAc;YAqCd,WAAW;YAgDX,yBAAyB;YAgCzB,mBAAmB;YAsBnB,kBAAkB;YAgClB,gBAAgB;YA+ChB,8BAA8B;CAoB7C"}