@common-stack/rollup-vite-utils 8.2.4-alpha.1 → 8.2.4-alpha.14
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/lib/index.cjs +1 -1
- package/lib/index.js +1 -1
- package/lib/tools/codegen/generate-resolutions-cli.d.ts +23 -0
- package/lib/tools/codegen/generateResolutions.cjs +342 -0
- package/lib/tools/codegen/generateResolutions.cjs.map +1 -0
- package/lib/tools/codegen/generateResolutions.d.ts +92 -0
- package/lib/tools/codegen/generateResolutions.js +342 -0
- package/lib/tools/codegen/generateResolutions.js.map +1 -0
- package/lib/tools/codegen/generateResolutions.test.d.ts +1 -0
- package/lib/tools/codegen/index.cjs +2 -2
- package/lib/tools/codegen/index.cjs.map +1 -1
- package/lib/tools/codegen/index.d.ts +1 -0
- package/lib/tools/codegen/index.js +1 -1
- package/lib/tools/codegen/index.js.map +1 -1
- package/lib/utils/utils.cjs +32 -9
- package/lib/utils/utils.cjs.map +1 -1
- package/lib/utils/utils.d.ts +4 -4
- package/lib/utils/utils.js +32 -9
- package/lib/utils/utils.js.map +1 -1
- package/package.json +4 -4
- package/schemas/server-config.schema.json +4 -9
|
@@ -0,0 +1,342 @@
|
|
|
1
|
+
import fs__default from'fs';import path__default from'path';import {createRequire}from'module';import {getPackageName,resolvePackageJson}from'../../utils/packageUtils.js';/**
|
|
2
|
+
* Generate resolutions for server package.json based on config.json modules
|
|
3
|
+
*
|
|
4
|
+
* This utility reads the config.json file, analyzes dependencies from each module's
|
|
5
|
+
* package.json, and generates the required resolutions to avoid version conflicts
|
|
6
|
+
* in monorepo setups.
|
|
7
|
+
*
|
|
8
|
+
* Can also read from cdecode-config.json to process multiple servers at once.
|
|
9
|
+
*/
|
|
10
|
+
const esmRequire = createRequire(import.meta.url);
|
|
11
|
+
/**
|
|
12
|
+
* Packages that commonly cause version conflicts in monorepos
|
|
13
|
+
* and should be resolved to a single version.
|
|
14
|
+
*
|
|
15
|
+
* Note: react/react-dom are excluded as they are frontend concerns
|
|
16
|
+
* and should be managed at the app level, not in server resolutions.
|
|
17
|
+
*/
|
|
18
|
+
const CONFLICT_PRONE_PACKAGES = [
|
|
19
|
+
'@aws-sdk/client-s3',
|
|
20
|
+
'@aws-sdk/client-sts',
|
|
21
|
+
'@aws-sdk/client-cloudwatch',
|
|
22
|
+
'@aws-sdk/s3-request-presigner',
|
|
23
|
+
'@aws-sdk/client-iam',
|
|
24
|
+
'graphql',
|
|
25
|
+
'inversify',
|
|
26
|
+
'mongoose',
|
|
27
|
+
'moleculer',
|
|
28
|
+
'express',
|
|
29
|
+
'@apollo/server',
|
|
30
|
+
'@apollo/client',
|
|
31
|
+
// Note: react/react-dom intentionally excluded - managed at app level
|
|
32
|
+
];
|
|
33
|
+
/**
|
|
34
|
+
* Extracts the package name from a module path in config.json
|
|
35
|
+
* E.g., "@adminide-stack/s3-admin-server" from "@adminide-stack/s3-admin-server/lib/module.js"
|
|
36
|
+
*/
|
|
37
|
+
function extractPackageFromConfigModule(modulePath) {
|
|
38
|
+
return getPackageName(modulePath);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Reads and parses the config.json file
|
|
42
|
+
*/
|
|
43
|
+
function readServerConfig(configPath) {
|
|
44
|
+
const configContent = fs__default.readFileSync(configPath, 'utf-8');
|
|
45
|
+
return JSON.parse(configContent);
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Resolves a module from config.json to its package.json path
|
|
49
|
+
*/
|
|
50
|
+
function resolveModulePackageJson(moduleName, serverDir, repoRoot) {
|
|
51
|
+
const packageName = extractPackageFromConfigModule(moduleName);
|
|
52
|
+
if (!packageName)
|
|
53
|
+
return null;
|
|
54
|
+
// Try to resolve from the server's node_modules first
|
|
55
|
+
const serverNodeModules = path__default.join(serverDir, 'node_modules', packageName, 'package.json');
|
|
56
|
+
if (fs__default.existsSync(serverNodeModules)) {
|
|
57
|
+
return serverNodeModules;
|
|
58
|
+
}
|
|
59
|
+
// Try from repo root node_modules
|
|
60
|
+
const rootNodeModules = path__default.join(repoRoot, 'node_modules', packageName, 'package.json');
|
|
61
|
+
if (fs__default.existsSync(rootNodeModules)) {
|
|
62
|
+
return rootNodeModules;
|
|
63
|
+
}
|
|
64
|
+
// Try using resolvePackageJson utility
|
|
65
|
+
return resolvePackageJson(packageName, esmRequire, {
|
|
66
|
+
cwd: serverDir,
|
|
67
|
+
repoRoot,
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Collects all dependencies from a package.json
|
|
72
|
+
*/
|
|
73
|
+
function collectDependencies(packageJsonPath) {
|
|
74
|
+
try {
|
|
75
|
+
const content = fs__default.readFileSync(packageJsonPath, 'utf-8');
|
|
76
|
+
const pkg = JSON.parse(content);
|
|
77
|
+
return {
|
|
78
|
+
dependencies: pkg.dependencies || {},
|
|
79
|
+
devDependencies: pkg.devDependencies || {},
|
|
80
|
+
peerDependencies: pkg.peerDependencies || {},
|
|
81
|
+
};
|
|
82
|
+
}
|
|
83
|
+
catch (error) {
|
|
84
|
+
console.warn(`Failed to read package.json at ${packageJsonPath}:`, error);
|
|
85
|
+
return {};
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Analyzes all modules from config.json and collects potential conflicts
|
|
90
|
+
*/
|
|
91
|
+
function analyzeModuleDependencies(configPath, serverDir, repoRoot, additionalConflictPackages = []) {
|
|
92
|
+
const config = readServerConfig(configPath);
|
|
93
|
+
const allModules = [...(config.modules || []), ...(config.devModules || []), ...(config.externalModules || [])];
|
|
94
|
+
const conflictPackages = new Set([...CONFLICT_PRONE_PACKAGES, ...additionalConflictPackages]);
|
|
95
|
+
const packageVersions = new Map(); // package -> (module -> version)
|
|
96
|
+
// Collect dependencies from each module
|
|
97
|
+
for (const modulePath of allModules) {
|
|
98
|
+
const packageJsonPath = resolveModulePackageJson(modulePath, serverDir, repoRoot);
|
|
99
|
+
if (!packageJsonPath) {
|
|
100
|
+
console.warn(`Could not resolve package.json for module: ${modulePath}`);
|
|
101
|
+
continue;
|
|
102
|
+
}
|
|
103
|
+
const moduleName = extractPackageFromConfigModule(modulePath) || modulePath;
|
|
104
|
+
const deps = collectDependencies(packageJsonPath);
|
|
105
|
+
const allDeps = {
|
|
106
|
+
...deps.dependencies,
|
|
107
|
+
...deps.peerDependencies,
|
|
108
|
+
};
|
|
109
|
+
// Check each dependency for potential conflicts
|
|
110
|
+
for (const [depName, version] of Object.entries(allDeps)) {
|
|
111
|
+
if (conflictPackages.has(depName) || depName.startsWith('@aws-sdk/')) {
|
|
112
|
+
if (!packageVersions.has(depName)) {
|
|
113
|
+
packageVersions.set(depName, new Map());
|
|
114
|
+
}
|
|
115
|
+
packageVersions.get(depName).set(moduleName, version);
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Generate resolutions and identify conflicts
|
|
120
|
+
const resolutions = {};
|
|
121
|
+
const conflicts = [];
|
|
122
|
+
for (const [packageName, moduleVersions] of packageVersions) {
|
|
123
|
+
const versions = Array.from(moduleVersions.entries()).map(([module, version]) => ({
|
|
124
|
+
module,
|
|
125
|
+
version,
|
|
126
|
+
}));
|
|
127
|
+
// Check if there are version conflicts
|
|
128
|
+
const uniqueVersions = new Set(versions.map((v) => v.version));
|
|
129
|
+
if (uniqueVersions.size > 1) {
|
|
130
|
+
conflicts.push({ package: packageName, versions });
|
|
131
|
+
}
|
|
132
|
+
// Pick the highest version as the resolution
|
|
133
|
+
const highestVersion = pickHighestVersion(versions.map((v) => v.version));
|
|
134
|
+
resolutions[packageName] = highestVersion;
|
|
135
|
+
}
|
|
136
|
+
return { resolutions, conflicts };
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Picks the highest semver version from an array of versions
|
|
140
|
+
*/
|
|
141
|
+
function pickHighestVersion(versions) {
|
|
142
|
+
// Clean version strings by removing range prefixes
|
|
143
|
+
const cleaned = versions.map((v) => v.replace(/^[\^~>=<]+/, '').replace(/\s.*$/, ''));
|
|
144
|
+
// Sort in descending order (highest first)
|
|
145
|
+
cleaned.sort((a, b) => {
|
|
146
|
+
const partsA = a.split('.').map((n) => parseInt(n, 10) || 0);
|
|
147
|
+
const partsB = b.split('.').map((n) => parseInt(n, 10) || 0);
|
|
148
|
+
// Compare major, minor, patch in order
|
|
149
|
+
for (let i = 0; i < Math.max(partsA.length, partsB.length); i++) {
|
|
150
|
+
const numA = partsA[i] || 0;
|
|
151
|
+
const numB = partsB[i] || 0;
|
|
152
|
+
if (numB !== numA) {
|
|
153
|
+
return numB - numA; // Descending order (higher version first)
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
return 0;
|
|
157
|
+
});
|
|
158
|
+
// Return with caret prefix for flexibility
|
|
159
|
+
return `^${cleaned[0]}`;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Updates the server's package.json with the generated resolutions
|
|
163
|
+
*/
|
|
164
|
+
function updateServerPackageJson(serverPackageJsonPath, newResolutions, options = {}) {
|
|
165
|
+
const { dryRun = false, merge = true } = options;
|
|
166
|
+
const content = fs__default.readFileSync(serverPackageJsonPath, 'utf-8');
|
|
167
|
+
const pkg = JSON.parse(content);
|
|
168
|
+
if (merge) {
|
|
169
|
+
pkg.resolutions = {
|
|
170
|
+
...pkg.resolutions,
|
|
171
|
+
...newResolutions,
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
pkg.resolutions = newResolutions;
|
|
176
|
+
}
|
|
177
|
+
// Sort resolutions alphabetically
|
|
178
|
+
pkg.resolutions = Object.fromEntries(Object.entries(pkg.resolutions).sort(([a], [b]) => a.localeCompare(b)));
|
|
179
|
+
if (dryRun) {
|
|
180
|
+
console.log('Dry run - would update resolutions to:');
|
|
181
|
+
console.log(JSON.stringify(pkg.resolutions, null, 2));
|
|
182
|
+
}
|
|
183
|
+
else {
|
|
184
|
+
fs__default.writeFileSync(serverPackageJsonPath, JSON.stringify(pkg, null, 4) + '\n');
|
|
185
|
+
console.log(`Updated resolutions in ${serverPackageJsonPath}`);
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
/**
|
|
189
|
+
* Main function to generate and apply resolutions for a server
|
|
190
|
+
*/
|
|
191
|
+
function generateServerResolutions(serverDir, repoRoot, options = {}) {
|
|
192
|
+
const { configFileName = 'config.json', dryRun = false, additionalConflictPackages = [] } = options;
|
|
193
|
+
const configPath = path__default.join(serverDir, configFileName);
|
|
194
|
+
const packageJsonPath = path__default.join(serverDir, 'package.json');
|
|
195
|
+
if (!fs__default.existsSync(configPath)) {
|
|
196
|
+
throw new Error(`Config file not found: ${configPath}`);
|
|
197
|
+
}
|
|
198
|
+
if (!fs__default.existsSync(packageJsonPath)) {
|
|
199
|
+
throw new Error(`Package.json not found: ${packageJsonPath}`);
|
|
200
|
+
}
|
|
201
|
+
const result = analyzeModuleDependencies(configPath, serverDir, repoRoot, additionalConflictPackages);
|
|
202
|
+
if (result.conflicts.length > 0) {
|
|
203
|
+
console.log('\n⚠️ Version conflicts detected:');
|
|
204
|
+
for (const conflict of result.conflicts) {
|
|
205
|
+
console.log(`\n ${conflict.package}:`);
|
|
206
|
+
for (const { module, version } of conflict.versions) {
|
|
207
|
+
console.log(` - ${module}: ${version}`);
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
console.log('\n📦 Generated resolutions:');
|
|
212
|
+
console.log(JSON.stringify(result.resolutions, null, 2));
|
|
213
|
+
updateServerPackageJson(packageJsonPath, result.resolutions, { dryRun });
|
|
214
|
+
return result;
|
|
215
|
+
}
|
|
216
|
+
/**
|
|
217
|
+
* Reads cdecode-config.json and returns the configuration
|
|
218
|
+
*/
|
|
219
|
+
function readCDecodeConfig(repoRoot) {
|
|
220
|
+
const configPath = path__default.join(repoRoot, 'cdecode-config.json');
|
|
221
|
+
if (!fs__default.existsSync(configPath)) {
|
|
222
|
+
throw new Error(`cdecode-config.json not found at ${configPath}`);
|
|
223
|
+
}
|
|
224
|
+
const content = fs__default.readFileSync(configPath, 'utf-8');
|
|
225
|
+
return JSON.parse(content);
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Gets server directories from cdecode-config.json
|
|
229
|
+
* Returns both the config.json paths (from servers array) and package.json paths (from updateDependencies)
|
|
230
|
+
*/
|
|
231
|
+
function getServersFromCDecodeConfig(repoRoot, category = 'backend') {
|
|
232
|
+
const cdecodeConfig = readCDecodeConfig(repoRoot);
|
|
233
|
+
const servers = [];
|
|
234
|
+
// Get package paths from updateDependencies
|
|
235
|
+
const packagePaths = cdecodeConfig.updateDependencies?.packagePaths;
|
|
236
|
+
if (packagePaths) {
|
|
237
|
+
const categories = category === 'all' ? ['backend', 'frontend', 'mobile'] : [category];
|
|
238
|
+
for (const cat of categories) {
|
|
239
|
+
const paths = packagePaths[cat] || [];
|
|
240
|
+
for (const pkgPath of paths) {
|
|
241
|
+
const fullPkgPath = path__default.join(repoRoot, pkgPath);
|
|
242
|
+
const serverDir = path__default.dirname(fullPkgPath);
|
|
243
|
+
const configJsonPath = path__default.join(serverDir, 'config.json');
|
|
244
|
+
servers.push({
|
|
245
|
+
serverDir,
|
|
246
|
+
packageJsonPath: fullPkgPath,
|
|
247
|
+
configJsonPath: fs__default.existsSync(configJsonPath) ? configJsonPath : undefined,
|
|
248
|
+
});
|
|
249
|
+
}
|
|
250
|
+
}
|
|
251
|
+
}
|
|
252
|
+
return servers;
|
|
253
|
+
}
|
|
254
|
+
/**
|
|
255
|
+
* Generates resolutions for all servers listed in cdecode-config.json
|
|
256
|
+
* Collects dependencies from all modules across all servers and applies
|
|
257
|
+
* consistent resolutions to each server's package.json
|
|
258
|
+
*/
|
|
259
|
+
function generateResolutionsFromCDecodeConfig(repoRoot, options = {}) {
|
|
260
|
+
const { category = 'backend', dryRun = false, additionalConflictPackages = [] } = options;
|
|
261
|
+
const servers = getServersFromCDecodeConfig(repoRoot, category);
|
|
262
|
+
const results = new Map();
|
|
263
|
+
if (servers.length === 0) {
|
|
264
|
+
console.log(`No servers found for category: ${category}`);
|
|
265
|
+
return results;
|
|
266
|
+
}
|
|
267
|
+
console.log(`\n🔍 Found ${servers.length} server(s) to process:\n`);
|
|
268
|
+
servers.forEach((s) => console.log(` - ${path__default.relative(repoRoot, s.serverDir)}`));
|
|
269
|
+
// First pass: collect all dependencies from all servers' modules
|
|
270
|
+
const conflictPackages = new Set([...CONFLICT_PRONE_PACKAGES, ...additionalConflictPackages]);
|
|
271
|
+
const globalPackageVersions = new Map();
|
|
272
|
+
for (const server of servers) {
|
|
273
|
+
if (!server.configJsonPath) {
|
|
274
|
+
console.log(`\n⚠️ Skipping ${path__default.relative(repoRoot, server.serverDir)} - no config.json found`);
|
|
275
|
+
continue;
|
|
276
|
+
}
|
|
277
|
+
console.log(`\n📂 Analyzing ${path__default.relative(repoRoot, server.serverDir)}...`);
|
|
278
|
+
const config = readServerConfig(server.configJsonPath);
|
|
279
|
+
const allModules = [...(config.modules || []), ...(config.devModules || []), ...(config.externalModules || [])];
|
|
280
|
+
for (const modulePath of allModules) {
|
|
281
|
+
const packageJsonPath = resolveModulePackageJson(modulePath, server.serverDir, repoRoot);
|
|
282
|
+
if (!packageJsonPath)
|
|
283
|
+
continue;
|
|
284
|
+
const moduleName = extractPackageFromConfigModule(modulePath) || modulePath;
|
|
285
|
+
const deps = collectDependencies(packageJsonPath);
|
|
286
|
+
const allDeps = { ...deps.dependencies, ...deps.peerDependencies };
|
|
287
|
+
for (const [depName, version] of Object.entries(allDeps)) {
|
|
288
|
+
if (conflictPackages.has(depName) || depName.startsWith('@aws-sdk/')) {
|
|
289
|
+
if (!globalPackageVersions.has(depName)) {
|
|
290
|
+
globalPackageVersions.set(depName, new Map());
|
|
291
|
+
}
|
|
292
|
+
globalPackageVersions.get(depName).set(moduleName, version);
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
// Generate unified resolutions
|
|
298
|
+
const unifiedResolutions = {};
|
|
299
|
+
const allConflicts = [];
|
|
300
|
+
for (const [packageName, moduleVersions] of globalPackageVersions) {
|
|
301
|
+
const versions = Array.from(moduleVersions.entries()).map(([module, version]) => ({
|
|
302
|
+
module,
|
|
303
|
+
version,
|
|
304
|
+
}));
|
|
305
|
+
const uniqueVersions = new Set(versions.map((v) => v.version));
|
|
306
|
+
if (uniqueVersions.size > 1) {
|
|
307
|
+
allConflicts.push({ package: packageName, versions });
|
|
308
|
+
}
|
|
309
|
+
const highestVersion = pickHighestVersion(versions.map((v) => v.version));
|
|
310
|
+
unifiedResolutions[packageName] = highestVersion;
|
|
311
|
+
}
|
|
312
|
+
// Report conflicts
|
|
313
|
+
if (allConflicts.length > 0) {
|
|
314
|
+
console.log('\n⚠️ Version conflicts detected across all servers:');
|
|
315
|
+
for (const conflict of allConflicts) {
|
|
316
|
+
console.log(`\n ${conflict.package}:`);
|
|
317
|
+
for (const { module, version } of conflict.versions) {
|
|
318
|
+
console.log(` - ${module}: ${version}`);
|
|
319
|
+
}
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
console.log('\n📦 Unified resolutions to apply:');
|
|
323
|
+
console.log(JSON.stringify(unifiedResolutions, null, 2));
|
|
324
|
+
// Apply to all servers
|
|
325
|
+
for (const server of servers) {
|
|
326
|
+
if (!fs__default.existsSync(server.packageJsonPath)) {
|
|
327
|
+
console.log(`\n⚠️ Skipping ${server.packageJsonPath} - file not found`);
|
|
328
|
+
continue;
|
|
329
|
+
}
|
|
330
|
+
console.log(`\n✏️ Updating ${path__default.relative(repoRoot, server.packageJsonPath)}...`);
|
|
331
|
+
updateServerPackageJson(server.packageJsonPath, unifiedResolutions, { dryRun });
|
|
332
|
+
results.set(server.serverDir, {
|
|
333
|
+
resolutions: unifiedResolutions,
|
|
334
|
+
conflicts: allConflicts,
|
|
335
|
+
});
|
|
336
|
+
}
|
|
337
|
+
if (!dryRun) {
|
|
338
|
+
console.log('\n✅ All servers updated successfully!');
|
|
339
|
+
console.log(' Run `yarn install` to apply the changes.\n');
|
|
340
|
+
}
|
|
341
|
+
return results;
|
|
342
|
+
}export{analyzeModuleDependencies,generateServerResolutions as default,generateResolutionsFromCDecodeConfig,generateServerResolutions,getServersFromCDecodeConfig,readCDecodeConfig,readServerConfig,updateServerPackageJson};//# sourceMappingURL=generateResolutions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"generateResolutions.js","sources":["../../../src/tools/codegen/generateResolutions.ts"],"sourcesContent":[null],"names":["fs","path"],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'use strict';var setupCommonPackage=require('./setupCommonPackage.cjs'),readModules=require('./readModules.cjs'),performCopyOperations=require('./performCopyOperations.cjs'),generateCodegenConfig=require('./generateCodegenConfig.cjs');/**
|
|
1
|
+
'use strict';var setupCommonPackage=require('./setupCommonPackage.cjs'),readModules=require('./readModules.cjs'),performCopyOperations=require('./performCopyOperations.cjs'),generateCodegenConfig=require('./generateCodegenConfig.cjs'),generateResolutions=require('./generateResolutions.cjs');/**
|
|
2
2
|
* Orchestrates the codegen tasks, reading from your cdecodeConfig object.
|
|
3
3
|
* Example usage: runCodegenTasks(cdecodeConfig).
|
|
4
4
|
*/
|
|
@@ -11,4 +11,4 @@ async function runCodegenTasks(cdecodeConfig) {
|
|
|
11
11
|
performCopyOperations.performCopyOperations(allModules, cdecodeConfig.projectPaths);
|
|
12
12
|
// 4) Generate the codegen config
|
|
13
13
|
generateCodegenConfig.generateCodegenConfig(allModules, cdecodeConfig.codegen, cdecodeConfig.projectPaths);
|
|
14
|
-
}exports.runCodegenTasks=runCodegenTasks;//# sourceMappingURL=index.cjs.map
|
|
14
|
+
}exports.analyzeModuleDependencies=generateResolutions.analyzeModuleDependencies;exports.generateResolutionsFromCDecodeConfig=generateResolutions.generateResolutionsFromCDecodeConfig;exports.generateServerResolutions=generateResolutions.generateServerResolutions;exports.getServersFromCDecodeConfig=generateResolutions.getServersFromCDecodeConfig;exports.readCDecodeConfig=generateResolutions.readCDecodeConfig;exports.updateServerPackageJson=generateResolutions.updateServerPackageJson;exports.runCodegenTasks=runCodegenTasks;//# sourceMappingURL=index.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.cjs","sources":["../../../src/tools/codegen/index.ts"],"sourcesContent":[null],"names":["setupCommonPackage","readModules","performCopyOperations","generateCodegenConfig"],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.cjs","sources":["../../../src/tools/codegen/index.ts"],"sourcesContent":[null],"names":["setupCommonPackage","readModules","performCopyOperations","generateCodegenConfig"],"mappings":"oSAgBA;;;AAGG;AACI,eAAe,eAAe,CAAC,aAAa,EAAA;;AAE/C,IAAAA,qCAAkB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;;IAG/C,MAAM,UAAU,GAAGC,uBAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;;AAGtD,IAAAC,2CAAqB,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;;IAG9DC,2CAAqB,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AACzF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export { generateServerResolutions, generateResolutionsFromCDecodeConfig, analyzeModuleDependencies, updateServerPackageJson, readCDecodeConfig, getServersFromCDecodeConfig, type ResolutionResult, type ServerConfig, type CDecodeConfig, } from './generateResolutions.js';
|
|
1
2
|
/**
|
|
2
3
|
* Orchestrates the codegen tasks, reading from your cdecodeConfig object.
|
|
3
4
|
* Example usage: runCodegenTasks(cdecodeConfig).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {setupCommonPackage}from'./setupCommonPackage.js';import {readModules}from'./readModules.js';import {performCopyOperations}from'./performCopyOperations.js';import {generateCodegenConfig}from'./generateCodegenConfig.js';/**
|
|
1
|
+
import {setupCommonPackage}from'./setupCommonPackage.js';import {readModules}from'./readModules.js';import {performCopyOperations}from'./performCopyOperations.js';import {generateCodegenConfig}from'./generateCodegenConfig.js';export{analyzeModuleDependencies,generateResolutionsFromCDecodeConfig,generateServerResolutions,getServersFromCDecodeConfig,readCDecodeConfig,updateServerPackageJson}from'./generateResolutions.js';/**
|
|
2
2
|
* Orchestrates the codegen tasks, reading from your cdecodeConfig object.
|
|
3
3
|
* Example usage: runCodegenTasks(cdecodeConfig).
|
|
4
4
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/tools/codegen/index.ts"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/tools/codegen/index.ts"],"sourcesContent":[null],"names":[],"mappings":"uaAgBA;;;AAGG;AACI,eAAe,eAAe,CAAC,aAAa,EAAA;;AAE/C,IAAA,kBAAkB,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;;IAG/C,MAAM,UAAU,GAAG,WAAW,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;;AAGtD,IAAA,qBAAqB,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;;IAG9D,qBAAqB,CAAC,UAAU,EAAE,aAAa,CAAC,OAAO,EAAE,aAAa,CAAC,YAAY,CAAC,CAAC;AACzF"}
|
package/lib/utils/utils.cjs
CHANGED
|
@@ -107,7 +107,6 @@ function generateBackendModulesFile(config) {
|
|
|
107
107
|
? 'ContainerModule, interfaces, injectable, inject'
|
|
108
108
|
: 'ContainerModule, interfaces';
|
|
109
109
|
const commonStackCoreImports = additionalProxyServices.length > 0 ? 'TaggedType, CommonType' : 'TaggedType';
|
|
110
|
-
const serverCoreImports = additionalProxyServices.length > 0 ? 'Feature, generateProxyMethods' : 'Feature';
|
|
111
110
|
const commonServerImports = [];
|
|
112
111
|
if (enableServiceSchemas) {
|
|
113
112
|
commonServerImports.push('AllServiceSchemas');
|
|
@@ -117,8 +116,12 @@ function generateBackendModulesFile(config) {
|
|
|
117
116
|
}
|
|
118
117
|
let imports = `import { ${inversifyImports} } from 'inversify';
|
|
119
118
|
import { ${commonStackCoreImports} } from '@common-stack/core';
|
|
120
|
-
import {
|
|
119
|
+
import { Feature } from '@common-stack/server-core';
|
|
121
120
|
`;
|
|
121
|
+
// Add generateProxyMethods from codegen-zod if needed
|
|
122
|
+
if (additionalProxyServices.length > 0) {
|
|
123
|
+
imports += `import { generateProxyMethods } from '@common-stack/codegen-zod';\n`;
|
|
124
|
+
}
|
|
122
125
|
// Add common/server imports
|
|
123
126
|
if (commonServerImports.length > 0) {
|
|
124
127
|
imports += `import { ${commonServerImports.join(', ')} } from '${serviceSchemasPath}';\n`;
|
|
@@ -152,6 +155,8 @@ import { ${serverCoreImports} } from '@common-stack/server-core';
|
|
|
152
155
|
.map(({ type, schema }) => {
|
|
153
156
|
// Create class name from type (e.g., IAuthProviderService -> AuthProviderServiceProxy)
|
|
154
157
|
const className = type.replace(/^I/, '') + 'Proxy';
|
|
158
|
+
// Schema defaults to type (AllServiceSchemas is keyed by interface name)
|
|
159
|
+
const schemaKey = schema || type;
|
|
155
160
|
return `
|
|
156
161
|
// Auto-generated proxy class for ${type}
|
|
157
162
|
@injectable()
|
|
@@ -160,18 +165,34 @@ class ${className} {
|
|
|
160
165
|
@inject(CommonType.MOLECULER_BROKER) broker: ServiceBroker,
|
|
161
166
|
@inject('Logger') logger: CdmLogger.ILogger,
|
|
162
167
|
) {
|
|
168
|
+
// Validate schema exists
|
|
169
|
+
const schema = AllServiceSchemas['${schemaKey}'];
|
|
170
|
+
if (!schema) {
|
|
171
|
+
throw new Error(
|
|
172
|
+
\`[additionalProxyServices] Schema '${schemaKey}' not found in AllServiceSchemas. \\n\` +
|
|
173
|
+
\`Available schemas: \${Object.keys(AllServiceSchemas).slice(0, 10).join(', ')}... \\n\` +
|
|
174
|
+
\`Please check your config.json additionalProxyServices configuration.\`
|
|
175
|
+
);
|
|
176
|
+
}
|
|
163
177
|
// Auto-generate proxy methods from schema
|
|
164
|
-
generateProxyMethods(this,
|
|
178
|
+
generateProxyMethods(this, schema, broker, logger);
|
|
165
179
|
}
|
|
166
180
|
}`;
|
|
167
181
|
})
|
|
168
182
|
.join('\n');
|
|
169
183
|
proxyClassesCode = proxyClasses;
|
|
170
|
-
// Generate container bindings
|
|
184
|
+
// Generate container bindings with validation
|
|
171
185
|
const proxyBindings = additionalProxyServices
|
|
172
186
|
.map(({ type, schema }) => {
|
|
173
187
|
const className = type.replace(/^I/, '') + 'Proxy';
|
|
174
|
-
|
|
188
|
+
const schemaKey = schema || type;
|
|
189
|
+
return ` // Bind ${type} -> ${className} (schema: ${schemaKey})
|
|
190
|
+
if (!SERVER_TYPES.${type}) {
|
|
191
|
+
throw new Error(
|
|
192
|
+
\`[additionalProxyServices] SERVER_TYPES.${type} is not defined. \\n\` +
|
|
193
|
+
\`Please ensure '${type}' is exported from SERVER_TYPES in your common/server module.\`
|
|
194
|
+
);
|
|
195
|
+
}
|
|
175
196
|
bind(SERVER_TYPES.${type}).to(${className}).inSingletonScope();`;
|
|
176
197
|
})
|
|
177
198
|
.join('\n');
|
|
@@ -220,20 +241,22 @@ const defaultModule = () =>
|
|
|
220
241
|
|
|
221
242
|
const DefaultFeature = new Feature({
|
|
222
243
|
createContainerFunc: [defaultModule${additionalProxyServices.length > 0 ? ', additionalProxyServicesModule' : ''}],
|
|
223
|
-
createMicroServiceContainerFunc: [defaultModule],${serviceSchemasLine}
|
|
244
|
+
createMicroServiceContainerFunc: [defaultModule${additionalProxyServices.length > 0 ? ', additionalProxyServicesModule' : ''}],${serviceSchemasLine}
|
|
224
245
|
});
|
|
225
246
|
|
|
226
247
|
export const ExternalModules = new Feature(${exModules ? exModules.trim().slice(0, -1) : '{}'});
|
|
227
248
|
|
|
228
249
|
`;
|
|
229
|
-
if (
|
|
250
|
+
if (devPackages.length > 0) {
|
|
251
|
+
featureSetup += `let DevModules: Feature;\n`;
|
|
252
|
+
featureSetup += `if(process.env.NODE_ENV === 'development') {\n`;
|
|
230
253
|
devPackages.forEach((pkg, index) => {
|
|
231
254
|
const moduleName = `DevModule${index + 1}`;
|
|
232
255
|
featureSetup += `const ${moduleName} = require('${pkg}');\n`;
|
|
233
256
|
devModules += `${moduleName}.default, `;
|
|
234
257
|
});
|
|
235
|
-
featureSetup += `
|
|
236
|
-
|
|
258
|
+
featureSetup += `DevModules = new Feature(${devModules.trim().slice(0, -1)});
|
|
259
|
+
}else{\n DevModules = new Feature();\n}\n
|
|
237
260
|
const features = new Feature(
|
|
238
261
|
DefaultFeature,
|
|
239
262
|
${modules.trim()}
|
package/lib/utils/utils.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.cjs","sources":["../../src/utils/utils.ts"],"sourcesContent":[null],"names":["SYNC_META_JSON","MODULES_JS","MODULES_TS"],"mappings":"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
|
|
1
|
+
{"version":3,"file":"utils.cjs","sources":["../../src/utils/utils.ts"],"sourcesContent":[null],"names":["SYNC_META_JSON","MODULES_JS","MODULES_TS"],"mappings":"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"}
|
package/lib/utils/utils.d.ts
CHANGED
|
@@ -30,17 +30,17 @@ interface ModuleConfig {
|
|
|
30
30
|
* ```json
|
|
31
31
|
* {
|
|
32
32
|
* "additionalProxyServices": [
|
|
33
|
-
* { "type": "IAuthProviderService"
|
|
33
|
+
* { "type": "IAuthProviderService" }
|
|
34
34
|
* ]
|
|
35
35
|
* }
|
|
36
36
|
* ```
|
|
37
37
|
*
|
|
38
|
-
* - `type`: The key in SERVER_TYPES (e.g., "IAuthProviderService"
|
|
39
|
-
* - `schema`:
|
|
38
|
+
* - `type`: The key in SERVER_TYPES and AllServiceSchemas (e.g., "IAuthProviderService")
|
|
39
|
+
* - `schema`: (Optional) Override key in AllServiceSchemas if different from type
|
|
40
40
|
*/
|
|
41
41
|
additionalProxyServices?: Array<{
|
|
42
42
|
type: string;
|
|
43
|
-
schema
|
|
43
|
+
schema?: string;
|
|
44
44
|
}>;
|
|
45
45
|
[key: string]: any;
|
|
46
46
|
}
|