@chaim-tools/chaim 0.1.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.
- package/LICENSE +201 -0
- package/README.md +211 -0
- package/dist/commands/apps/link.d.ts +26 -0
- package/dist/commands/apps/link.d.ts.map +1 -0
- package/dist/commands/apps/link.js +49 -0
- package/dist/commands/apps/link.js.map +1 -0
- package/dist/commands/apps/list.d.ts +25 -0
- package/dist/commands/apps/list.d.ts.map +1 -0
- package/dist/commands/apps/list.js +46 -0
- package/dist/commands/apps/list.js.map +1 -0
- package/dist/commands/auth/login.d.ts +29 -0
- package/dist/commands/auth/login.d.ts.map +1 -0
- package/dist/commands/auth/login.js +51 -0
- package/dist/commands/auth/login.js.map +1 -0
- package/dist/commands/auth/logout.d.ts +26 -0
- package/dist/commands/auth/logout.d.ts.map +1 -0
- package/dist/commands/auth/logout.js +49 -0
- package/dist/commands/auth/logout.js.map +1 -0
- package/dist/commands/auth/refresh.d.ts +27 -0
- package/dist/commands/auth/refresh.d.ts.map +1 -0
- package/dist/commands/auth/refresh.js +47 -0
- package/dist/commands/auth/refresh.js.map +1 -0
- package/dist/commands/auth/whoami.d.ts +28 -0
- package/dist/commands/auth/whoami.d.ts.map +1 -0
- package/dist/commands/auth/whoami.js +48 -0
- package/dist/commands/auth/whoami.js.map +1 -0
- package/dist/commands/clean.d.ts +25 -0
- package/dist/commands/clean.d.ts.map +1 -0
- package/dist/commands/clean.js +345 -0
- package/dist/commands/clean.js.map +1 -0
- package/dist/commands/config/show.d.ts +25 -0
- package/dist/commands/config/show.d.ts.map +1 -0
- package/dist/commands/config/show.js +49 -0
- package/dist/commands/config/show.js.map +1 -0
- package/dist/commands/configure.d.ts +26 -0
- package/dist/commands/configure.d.ts.map +1 -0
- package/dist/commands/configure.js +53 -0
- package/dist/commands/configure.js.map +1 -0
- package/dist/commands/doctor.d.ts +2 -0
- package/dist/commands/doctor.d.ts.map +1 -0
- package/dist/commands/doctor.js +96 -0
- package/dist/commands/doctor.js.map +1 -0
- package/dist/commands/generate.d.ts +11 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +395 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/init.d.ts +8 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +302 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/validate.d.ts +2 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +58 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/config/types.d.ts +138 -0
- package/dist/config/types.d.ts.map +1 -0
- package/dist/config/types.js +48 -0
- package/dist/config/types.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +114 -0
- package/dist/index.js.map +1 -0
- package/dist/planned-commands.d.ts +51 -0
- package/dist/planned-commands.d.ts.map +1 -0
- package/dist/planned-commands.js +199 -0
- package/dist/planned-commands.js.map +1 -0
- package/dist/services/os-cache-paths.d.ts +15 -0
- package/dist/services/os-cache-paths.d.ts.map +1 -0
- package/dist/services/os-cache-paths.js +57 -0
- package/dist/services/os-cache-paths.js.map +1 -0
- package/dist/services/snapshot-discovery.d.ts +111 -0
- package/dist/services/snapshot-discovery.d.ts.map +1 -0
- package/dist/services/snapshot-discovery.js +249 -0
- package/dist/services/snapshot-discovery.js.map +1 -0
- package/dist/types/index.d.ts +8 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +9 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/snapshot-payload.d.ts +205 -0
- package/dist/types/snapshot-payload.d.ts.map +1 -0
- package/dist/types/snapshot-payload.js +9 -0
- package/dist/types/snapshot-payload.js.map +1 -0
- package/package.json +65 -0
- package/shared/scripts/setup.sh +47 -0
|
@@ -0,0 +1,395 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
26
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
27
|
+
};
|
|
28
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
29
|
+
exports.generateCommand = void 0;
|
|
30
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
31
|
+
const ora_1 = __importDefault(require("ora"));
|
|
32
|
+
const client_java_1 = require("@chaim-tools/client-java");
|
|
33
|
+
const doctor_1 = require("./doctor");
|
|
34
|
+
const snapshot_discovery_1 = require("../services/snapshot-discovery");
|
|
35
|
+
const os_cache_paths_1 = require("../services/os-cache-paths");
|
|
36
|
+
const types_1 = require("../config/types");
|
|
37
|
+
const path = __importStar(require("path"));
|
|
38
|
+
async function generateCommand(options) {
|
|
39
|
+
try {
|
|
40
|
+
// Validate required options
|
|
41
|
+
if (!options.package) {
|
|
42
|
+
console.error(chalk_1.default.red('Error: --package is required'));
|
|
43
|
+
console.error(chalk_1.default.gray(' Example: chaim generate --package com.mycompany.myapp.model'));
|
|
44
|
+
process.exit(1);
|
|
45
|
+
}
|
|
46
|
+
// Resolve and validate language (defaults to Java)
|
|
47
|
+
const language = resolveLanguage(options.language);
|
|
48
|
+
// Pre-generation checks (unless skipped)
|
|
49
|
+
if (!options.skipChecks) {
|
|
50
|
+
await runPreGenerationChecks();
|
|
51
|
+
}
|
|
52
|
+
// Use OS cache by default, or override if specified
|
|
53
|
+
const snapshotDir = options.snapshotDir
|
|
54
|
+
? (0, snapshot_discovery_1.getSnapshotDirPath)(options.snapshotDir)
|
|
55
|
+
: (0, os_cache_paths_1.getSnapshotBaseDir)();
|
|
56
|
+
// Build discovery options from CLI args (only --stack filter)
|
|
57
|
+
const discoveryOptions = {
|
|
58
|
+
stackName: options.stack,
|
|
59
|
+
};
|
|
60
|
+
// Resolve all matching snapshots
|
|
61
|
+
const resolvedSnapshots = (0, snapshot_discovery_1.resolveAllSnapshots)(snapshotDir, discoveryOptions);
|
|
62
|
+
if (resolvedSnapshots.length === 0) {
|
|
63
|
+
// No snapshots found - provide helpful error message
|
|
64
|
+
printSnapshotNotFoundError(snapshotDir, discoveryOptions);
|
|
65
|
+
process.exit(1);
|
|
66
|
+
}
|
|
67
|
+
// Generate from all matching snapshots
|
|
68
|
+
await generateFromSnapshots(resolvedSnapshots, options, language);
|
|
69
|
+
}
|
|
70
|
+
catch (error) {
|
|
71
|
+
console.error(chalk_1.default.red('✗ Generation failed:'), error instanceof Error ? error.message : error);
|
|
72
|
+
if (error instanceof Error && error.stack) {
|
|
73
|
+
console.error(error.stack);
|
|
74
|
+
}
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
exports.generateCommand = generateCommand;
|
|
79
|
+
/**
|
|
80
|
+
* Print a helpful error message when no snapshot is found.
|
|
81
|
+
*/
|
|
82
|
+
function printSnapshotNotFoundError(snapshotDir, options) {
|
|
83
|
+
console.error(chalk_1.default.red('\n✗ No snapshot found'));
|
|
84
|
+
console.error('');
|
|
85
|
+
console.error(chalk_1.default.yellow('Chaim requires a LOCAL snapshot from chaim-cdk.'));
|
|
86
|
+
console.error('');
|
|
87
|
+
console.error(chalk_1.default.white('To create a snapshot, run one of the following in your CDK project:'));
|
|
88
|
+
console.error('');
|
|
89
|
+
console.error(chalk_1.default.cyan(' # Synthesize (creates LOCAL snapshot in cache):'));
|
|
90
|
+
console.error(chalk_1.default.white(' cdk synth'));
|
|
91
|
+
console.error('');
|
|
92
|
+
console.error(chalk_1.default.cyan(' # Or deploy (also creates LOCAL snapshot):'));
|
|
93
|
+
console.error(chalk_1.default.white(' cdk deploy'));
|
|
94
|
+
console.error('');
|
|
95
|
+
console.error(chalk_1.default.white('Expected snapshot location (OS cache):'));
|
|
96
|
+
console.error(chalk_1.default.gray(` ${snapshotDir}/aws/{accountId}/{region}/{stackName}/{datastoreType}/{resourceId}.json`));
|
|
97
|
+
console.error('');
|
|
98
|
+
// Show applied filters
|
|
99
|
+
if (options.stackName) {
|
|
100
|
+
console.error(chalk_1.default.white('Stack filter applied:'), options.stackName);
|
|
101
|
+
console.error('');
|
|
102
|
+
}
|
|
103
|
+
// Show what snapshots DO exist (if any)
|
|
104
|
+
const existingSnapshots = (0, snapshot_discovery_1.listSnapshots)(snapshotDir);
|
|
105
|
+
if (existingSnapshots.length > 0) {
|
|
106
|
+
console.error(chalk_1.default.white('Found snapshots (but none matched your criteria):'));
|
|
107
|
+
// Group by account/region/stack for cleaner output
|
|
108
|
+
const grouped = new Map();
|
|
109
|
+
for (const snap of existingSnapshots) {
|
|
110
|
+
const key = `${snap.accountId}/${snap.region}/${snap.stackName}`;
|
|
111
|
+
if (!grouped.has(key)) {
|
|
112
|
+
grouped.set(key, []);
|
|
113
|
+
}
|
|
114
|
+
grouped.get(key).push(snap);
|
|
115
|
+
}
|
|
116
|
+
let shown = 0;
|
|
117
|
+
for (const [key, snaps] of grouped) {
|
|
118
|
+
if (shown >= 5) {
|
|
119
|
+
console.error(chalk_1.default.gray(` ... and ${grouped.size - 5} more locations`));
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
const [acct, reg, stack] = key.split('/');
|
|
123
|
+
console.error(chalk_1.default.gray(` Account: ${acct} / Region: ${reg} / Stack: ${stack}`));
|
|
124
|
+
for (const snap of snaps.slice(0, 3)) {
|
|
125
|
+
console.error(chalk_1.default.gray(` - ${snap.entityName} (${snap.resourceName})`));
|
|
126
|
+
}
|
|
127
|
+
if (snaps.length > 3) {
|
|
128
|
+
console.error(chalk_1.default.gray(` ... and ${snaps.length - 3} more entities`));
|
|
129
|
+
}
|
|
130
|
+
shown++;
|
|
131
|
+
}
|
|
132
|
+
console.error('');
|
|
133
|
+
console.error(chalk_1.default.white('Hint: Use --stack <stackName> to filter to a specific stack.'));
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
async function runPreGenerationChecks() {
|
|
137
|
+
const spinner = (0, ora_1.default)('Running pre-generation checks...').start();
|
|
138
|
+
try {
|
|
139
|
+
// Run environment checks (capture output to avoid duplicate messages)
|
|
140
|
+
const originalConsoleLog = console.log;
|
|
141
|
+
const originalConsoleError = console.error;
|
|
142
|
+
console.log = () => { }; // Suppress doctor output
|
|
143
|
+
console.error = () => { }; // Suppress doctor errors
|
|
144
|
+
await (0, doctor_1.doctorCommand)();
|
|
145
|
+
// Restore console
|
|
146
|
+
console.log = originalConsoleLog;
|
|
147
|
+
console.error = originalConsoleError;
|
|
148
|
+
spinner.succeed('Pre-generation checks passed');
|
|
149
|
+
}
|
|
150
|
+
catch (error) {
|
|
151
|
+
spinner.fail('Pre-generation checks failed');
|
|
152
|
+
throw new Error(`Environment validation failed: ${error instanceof Error ? error.message : error}`);
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Get a unique table identity for grouping entities.
|
|
157
|
+
* Prefers tableArn (globally unique), falls back to composite key.
|
|
158
|
+
*/
|
|
159
|
+
function getTableIdentity(snapshot) {
|
|
160
|
+
const snap = snapshot.snapshot;
|
|
161
|
+
// Support both v3.0 (resource) and legacy (dataStore) structure
|
|
162
|
+
const resource = snap.resource || snap.dataStore;
|
|
163
|
+
const accountId = snap.providerIdentity?.accountId || snap.accountId;
|
|
164
|
+
const region = snap.providerIdentity?.region || snap.region;
|
|
165
|
+
// Prefer ARN if it's resolved (not a CDK token)
|
|
166
|
+
const resourceId = resource.id || resource.tableArn || resource.arn;
|
|
167
|
+
if (resourceId && !resourceId.includes('${')) {
|
|
168
|
+
return resourceId;
|
|
169
|
+
}
|
|
170
|
+
// Fallback to composite key: {accountId}:{region}:{name}
|
|
171
|
+
const resourceName = resource.name || resource.tableName;
|
|
172
|
+
return `${accountId}:${region}:${resourceName}`;
|
|
173
|
+
}
|
|
174
|
+
/**
|
|
175
|
+
* Validate that all entities bound to the same table have matching PK/SK field names.
|
|
176
|
+
* This is required because DynamoDB tables have a single key schema that all items must use.
|
|
177
|
+
*
|
|
178
|
+
* @throws Error if entities have mismatched key definitions
|
|
179
|
+
*/
|
|
180
|
+
function validateTableKeyConsistency(tableSnapshots, tableName) {
|
|
181
|
+
if (tableSnapshots.length <= 1) {
|
|
182
|
+
return; // Single entity, no consistency check needed
|
|
183
|
+
}
|
|
184
|
+
const first = tableSnapshots[0];
|
|
185
|
+
// Check if first snapshot has valid schema (should not be null for UPSERT)
|
|
186
|
+
if (!first.snapshot.schema) {
|
|
187
|
+
throw new Error(`Cannot validate table key consistency: first snapshot has null schema (DELETE action)`);
|
|
188
|
+
}
|
|
189
|
+
const firstPk = first.snapshot.schema.primaryKey?.partitionKey;
|
|
190
|
+
const firstSk = first.snapshot.schema.primaryKey?.sortKey;
|
|
191
|
+
const firstEntity = first.entityName;
|
|
192
|
+
for (let i = 1; i < tableSnapshots.length; i++) {
|
|
193
|
+
const snap = tableSnapshots[i];
|
|
194
|
+
// Skip DELETE snapshots (null schema)
|
|
195
|
+
if (!snap.snapshot.schema) {
|
|
196
|
+
continue;
|
|
197
|
+
}
|
|
198
|
+
const pk = snap.snapshot.schema.primaryKey?.partitionKey;
|
|
199
|
+
const sk = snap.snapshot.schema.primaryKey?.sortKey;
|
|
200
|
+
const entity = snap.entityName;
|
|
201
|
+
// Check partition key matches
|
|
202
|
+
if (pk !== firstPk) {
|
|
203
|
+
throw new Error(`Entity '${entity}' has incompatible partition key for table '${tableName}'.\n` +
|
|
204
|
+
` Expected: partitionKey='${firstPk}' (from entity '${firstEntity}')\n` +
|
|
205
|
+
` Found: partitionKey='${pk}'\n\n` +
|
|
206
|
+
`All entities bound to the same table must have matching PK/SK field names.`);
|
|
207
|
+
}
|
|
208
|
+
// Check sort key matches (both defined or both undefined)
|
|
209
|
+
if (sk !== firstSk) {
|
|
210
|
+
const expectedSk = firstSk || '(none)';
|
|
211
|
+
const foundSk = sk || '(none)';
|
|
212
|
+
throw new Error(`Entity '${entity}' has incompatible sort key for table '${tableName}'.\n` +
|
|
213
|
+
` Expected: sortKey='${expectedSk}' (from entity '${firstEntity}')\n` +
|
|
214
|
+
` Found: sortKey='${foundSk}'\n\n` +
|
|
215
|
+
`All entities bound to the same table must have matching PK/SK field names.`);
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
}
|
|
219
|
+
/**
|
|
220
|
+
* Generate SDK from multiple resolved snapshots.
|
|
221
|
+
* Groups entities by physical table and generates shared infrastructure once per table.
|
|
222
|
+
*/
|
|
223
|
+
async function generateFromSnapshots(snapshots, options, language) {
|
|
224
|
+
console.log(chalk_1.default.blue(`\nGenerating ${language.toUpperCase()} code from ${snapshots.length} LOCAL snapshot(s)`));
|
|
225
|
+
console.log('');
|
|
226
|
+
// Filter out DELETE snapshots (those with null schema or action === 'DELETE')
|
|
227
|
+
// Code generation only works with UPSERT snapshots that have valid schemas
|
|
228
|
+
const upsertSnapshots = snapshots.filter(snap => {
|
|
229
|
+
const action = snap.snapshot.action || 'UPSERT'; // Default to UPSERT for backward compatibility
|
|
230
|
+
return action === 'UPSERT' && snap.snapshot.schema !== null;
|
|
231
|
+
});
|
|
232
|
+
if (upsertSnapshots.length === 0) {
|
|
233
|
+
console.error(chalk_1.default.yellow('\n⚠ No UPSERT snapshots found for code generation'));
|
|
234
|
+
console.error(chalk_1.default.gray('All snapshots appear to be DELETE actions or have null schemas.'));
|
|
235
|
+
console.error(chalk_1.default.gray('Code generation requires valid entity schemas.'));
|
|
236
|
+
process.exit(1);
|
|
237
|
+
}
|
|
238
|
+
if (upsertSnapshots.length < snapshots.length) {
|
|
239
|
+
const skippedCount = snapshots.length - upsertSnapshots.length;
|
|
240
|
+
console.log(chalk_1.default.gray(`\nSkipping ${skippedCount} DELETE snapshot(s) - code generation only processes UPSERT actions\n`));
|
|
241
|
+
}
|
|
242
|
+
// Group snapshots by table identity (ARN or composite key)
|
|
243
|
+
// This ensures multiple entities for the same physical table are generated together
|
|
244
|
+
const byTable = new Map();
|
|
245
|
+
for (const snap of upsertSnapshots) {
|
|
246
|
+
const tableId = getTableIdentity(snap);
|
|
247
|
+
if (!byTable.has(tableId)) {
|
|
248
|
+
byTable.set(tableId, []);
|
|
249
|
+
}
|
|
250
|
+
byTable.get(tableId).push(snap);
|
|
251
|
+
}
|
|
252
|
+
// Validate key consistency for multi-entity tables BEFORE generation
|
|
253
|
+
for (const [tableId, tableSnapshots] of byTable) {
|
|
254
|
+
const firstSnap = tableSnapshots[0].snapshot;
|
|
255
|
+
const resource = firstSnap.resource || firstSnap.dataStore;
|
|
256
|
+
const tableName = resource.name || resource.tableName;
|
|
257
|
+
validateTableKeyConsistency(tableSnapshots, tableName);
|
|
258
|
+
}
|
|
259
|
+
const results = [];
|
|
260
|
+
const spinner = (0, ora_1.default)('Generating SDK...').start();
|
|
261
|
+
try {
|
|
262
|
+
for (const [tableId, tableSnapshots] of byTable) {
|
|
263
|
+
const firstSnapshot = tableSnapshots[0];
|
|
264
|
+
const resource = firstSnapshot.snapshot.resource || firstSnapshot.snapshot.dataStore;
|
|
265
|
+
const tableName = resource.name || resource.tableName;
|
|
266
|
+
spinner.text = `Generating for table ${tableName} (${tableSnapshots.length} entities)...`;
|
|
267
|
+
// Collect all schemas for this table (filter out any nulls, though they should already be filtered)
|
|
268
|
+
const schemas = tableSnapshots
|
|
269
|
+
.map(s => s.snapshot.schema)
|
|
270
|
+
.filter((schema) => schema !== null);
|
|
271
|
+
if (schemas.length === 0) {
|
|
272
|
+
throw new Error(`No valid schemas found for table ${tableName} (all are DELETE actions)`);
|
|
273
|
+
}
|
|
274
|
+
const entityNames = tableSnapshots.map(s => s.entityName);
|
|
275
|
+
// Create table metadata from the first snapshot (all snapshots share the same table)
|
|
276
|
+
const tableMetadata = createTableMetadataFromSnapshot(firstSnapshot.snapshot);
|
|
277
|
+
try {
|
|
278
|
+
const javaGenerator = new client_java_1.JavaGenerator();
|
|
279
|
+
// Use the new generateForTable API that accepts multiple schemas
|
|
280
|
+
await javaGenerator.generateForTable(schemas, options.package, options.output, tableMetadata);
|
|
281
|
+
results.push({
|
|
282
|
+
tableId,
|
|
283
|
+
entities: entityNames,
|
|
284
|
+
success: true,
|
|
285
|
+
});
|
|
286
|
+
}
|
|
287
|
+
catch (error) {
|
|
288
|
+
results.push({
|
|
289
|
+
tableId,
|
|
290
|
+
entities: entityNames,
|
|
291
|
+
success: false,
|
|
292
|
+
error: error instanceof Error ? error.message : String(error),
|
|
293
|
+
});
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
spinner.stop();
|
|
297
|
+
// Print summary
|
|
298
|
+
console.log('');
|
|
299
|
+
let totalEntities = 0;
|
|
300
|
+
let failedTables = 0;
|
|
301
|
+
for (const result of results) {
|
|
302
|
+
const tableSnapshots = byTable.get(result.tableId);
|
|
303
|
+
const firstSnap = tableSnapshots[0];
|
|
304
|
+
const resource = firstSnap.snapshot.resource || firstSnap.snapshot.dataStore;
|
|
305
|
+
const tableName = resource.name || resource.tableName;
|
|
306
|
+
console.log(chalk_1.default.cyan(` Table: ${tableName}`));
|
|
307
|
+
console.log(chalk_1.default.gray(` Identity: ${result.tableId}`));
|
|
308
|
+
if (result.success) {
|
|
309
|
+
for (const entity of result.entities) {
|
|
310
|
+
console.log(chalk_1.default.green(` ✓ ${entity}.java`));
|
|
311
|
+
totalEntities++;
|
|
312
|
+
}
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
failedTables++;
|
|
316
|
+
for (const entity of result.entities) {
|
|
317
|
+
console.log(chalk_1.default.red(` ✗ ${entity}.java - ${result.error}`));
|
|
318
|
+
}
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
console.log('');
|
|
322
|
+
if (failedTables === 0) {
|
|
323
|
+
console.log(chalk_1.default.green(`✓ Generated ${totalEntities} entity/entities across ${results.length} table(s) successfully`));
|
|
324
|
+
}
|
|
325
|
+
else {
|
|
326
|
+
console.log(chalk_1.default.yellow(`Generated ${totalEntities} entities, ${failedTables} table(s) failed`));
|
|
327
|
+
}
|
|
328
|
+
console.log(chalk_1.default.green(' Language:'), language);
|
|
329
|
+
console.log(chalk_1.default.green(' Output directory:'), path.resolve(options.output));
|
|
330
|
+
console.log(chalk_1.default.green(' Package:'), options.package);
|
|
331
|
+
if (failedTables > 0) {
|
|
332
|
+
process.exit(1);
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
catch (error) {
|
|
336
|
+
spinner.fail('Failed to generate SDK');
|
|
337
|
+
throw error;
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
/**
|
|
341
|
+
* Resolve and validate the target language for code generation.
|
|
342
|
+
*
|
|
343
|
+
* Priority: CLI flag > default (Java)
|
|
344
|
+
* Currently only Java is supported. Returns error for unsupported languages.
|
|
345
|
+
*/
|
|
346
|
+
function resolveLanguage(cliLanguage) {
|
|
347
|
+
const language = cliLanguage || types_1.DEFAULT_LANGUAGE;
|
|
348
|
+
if (!types_1.SUPPORTED_LANGUAGES.includes(language)) {
|
|
349
|
+
console.error(chalk_1.default.red(`Error: Language '${language}' is not yet supported.`));
|
|
350
|
+
console.error(chalk_1.default.gray(`Currently supported: ${types_1.SUPPORTED_LANGUAGES.join(', ')}`));
|
|
351
|
+
process.exit(1);
|
|
352
|
+
}
|
|
353
|
+
return language;
|
|
354
|
+
}
|
|
355
|
+
/**
|
|
356
|
+
* Resolve region value, handling 'unknown' from CDK tokens.
|
|
357
|
+
*
|
|
358
|
+
* When CDK synthesizes with unresolved tokens (e.g., environment-agnostic stacks),
|
|
359
|
+
* it writes 'unknown' to the snapshot. This function resolves to actual region
|
|
360
|
+
* from environment variables or falls back to a sensible default.
|
|
361
|
+
*/
|
|
362
|
+
function resolveRegion(snapshotRegion) {
|
|
363
|
+
if (snapshotRegion && snapshotRegion !== 'unknown') {
|
|
364
|
+
return snapshotRegion;
|
|
365
|
+
}
|
|
366
|
+
// Try AWS environment variables
|
|
367
|
+
return process.env.AWS_REGION
|
|
368
|
+
|| process.env.AWS_DEFAULT_REGION
|
|
369
|
+
|| 'us-east-1';
|
|
370
|
+
}
|
|
371
|
+
/**
|
|
372
|
+
* Create a table metadata object compatible with the Java generator from snapshot data.
|
|
373
|
+
*
|
|
374
|
+
* IMPORTANT: This returns a plain object with properties, NOT getter functions.
|
|
375
|
+
* The JavaGenerator serializes this to JSON via JSON.stringify(), and arrow functions
|
|
376
|
+
* are not JSON-serializable (they get stripped). Plain properties work correctly.
|
|
377
|
+
*
|
|
378
|
+
* Handles 'unknown' values from CDK tokens by resolving from environment.
|
|
379
|
+
*/
|
|
380
|
+
function createTableMetadataFromSnapshot(snapshot) {
|
|
381
|
+
// Support both v3.0 (resource) and legacy (dataStore) structure
|
|
382
|
+
const resource = snapshot.resource || snapshot.dataStore;
|
|
383
|
+
const providerIdentity = snapshot.providerIdentity;
|
|
384
|
+
const region = providerIdentity?.region || snapshot.region || resource.region;
|
|
385
|
+
return {
|
|
386
|
+
tableName: resource.name || resource.tableName,
|
|
387
|
+
tableArn: resource.id || resource.tableArn || resource.arn,
|
|
388
|
+
region: resolveRegion(region),
|
|
389
|
+
partitionKey: resource.partitionKey,
|
|
390
|
+
sortKey: resource.sortKey,
|
|
391
|
+
globalSecondaryIndexes: resource.globalSecondaryIndexes,
|
|
392
|
+
localSecondaryIndexes: resource.localSecondaryIndexes,
|
|
393
|
+
};
|
|
394
|
+
}
|
|
395
|
+
//# sourceMappingURL=generate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generate.js","sourceRoot":"","sources":["../../src/commands/generate.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAMA,UAAU,WAAW;IACnB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,wBAAsB,WAAW,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CAwCrE"}
|