@common-stack/common-tools 8.2.4-alpha.7

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 (50) hide show
  1. package/LICENSE +34 -0
  2. package/README.md +186 -0
  3. package/bin/common-tools.js +26 -0
  4. package/bin/generate-resolutions.js +22 -0
  5. package/bin/sort-package-json.js +23 -0
  6. package/bin/update-dependencies.js +23 -0
  7. package/bin/update-dependency-version.js +22 -0
  8. package/lib/cli/generateResolutions.d.ts +25 -0
  9. package/lib/cli/generateResolutions.d.ts.map +1 -0
  10. package/lib/cli/generateResolutions.js +75 -0
  11. package/lib/cli/generateResolutions.js.map +1 -0
  12. package/lib/cli/sortPackageJson.d.ts +42 -0
  13. package/lib/cli/sortPackageJson.d.ts.map +1 -0
  14. package/lib/cli/sortPackageJson.js +163 -0
  15. package/lib/cli/sortPackageJson.js.map +1 -0
  16. package/lib/cli/updateDependencies.d.ts +27 -0
  17. package/lib/cli/updateDependencies.d.ts.map +1 -0
  18. package/lib/cli/updateDependencies.js +85 -0
  19. package/lib/cli/updateDependencies.js.map +1 -0
  20. package/lib/cli/updateDependencyVersion.d.ts +39 -0
  21. package/lib/cli/updateDependencyVersion.d.ts.map +1 -0
  22. package/lib/cli/updateDependencyVersion.js +170 -0
  23. package/lib/cli/updateDependencyVersion.js.map +1 -0
  24. package/lib/config/index.d.ts +6 -0
  25. package/lib/config/index.d.ts.map +1 -0
  26. package/lib/config/loader.d.ts +30 -0
  27. package/lib/config/loader.d.ts.map +1 -0
  28. package/lib/config/loader.js +109 -0
  29. package/lib/config/loader.js.map +1 -0
  30. package/lib/config/types.d.ts +82 -0
  31. package/lib/config/types.d.ts.map +1 -0
  32. package/lib/config/types.js +43 -0
  33. package/lib/config/types.js.map +1 -0
  34. package/lib/index.d.ts +376 -0
  35. package/lib/index.d.ts.map +1 -0
  36. package/lib/index.js +11 -0
  37. package/lib/index.js.map +1 -0
  38. package/lib/utils/dependencies.d.ts +47 -0
  39. package/lib/utils/dependencies.d.ts.map +1 -0
  40. package/lib/utils/dependencies.js +96 -0
  41. package/lib/utils/dependencies.js.map +1 -0
  42. package/lib/utils/monorepo.d.ts +29 -0
  43. package/lib/utils/monorepo.d.ts.map +1 -0
  44. package/lib/utils/monorepo.js +104 -0
  45. package/lib/utils/monorepo.js.map +1 -0
  46. package/lib/utils/packageJson.d.ts +53 -0
  47. package/lib/utils/packageJson.d.ts.map +1 -0
  48. package/lib/utils/packageJson.js +76 -0
  49. package/lib/utils/packageJson.js.map +1 -0
  50. package/package.json +69 -0
@@ -0,0 +1,27 @@
1
+ /**
2
+ * CLI for updating dependencies from @common-stack packages
3
+ *
4
+ * Reads configuration from cdecode-config.json:
5
+ * - updateDependencies.packagesToCheck: Packages to check for updates
6
+ * - updateDependencies.packagePaths: Server package.json paths by category
7
+ */
8
+ import { Command } from 'commander';
9
+ import { type DependencyUpdateConfig } from '../utils/dependencies.js';
10
+ export interface UpdateDependenciesOptions {
11
+ packages?: string[];
12
+ skipNcu?: boolean;
13
+ skipYarn?: boolean;
14
+ }
15
+ /**
16
+ * Creates the update-dependencies command
17
+ */
18
+ export declare function createUpdateDependenciesCommand(): Command;
19
+ /**
20
+ * Runs the update dependencies CLI action
21
+ */
22
+ export declare function runUpdateDependenciesCLIAction(rootDir: string, options: UpdateDependenciesOptions, configPackagePaths?: DependencyUpdateConfig['packagePaths']): Promise<void>;
23
+ /**
24
+ * Standalone CLI entry point
25
+ */
26
+ export declare function runUpdateDependenciesCLI(args?: string[]): Promise<void>;
27
+ //# sourceMappingURL=updateDependencies.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateDependencies.d.ts","sourceRoot":"","sources":["../../src/cli/updateDependencies.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEpC,OAAO,EAGH,KAAK,sBAAsB,EAC9B,MAAM,0BAA0B,CAAC;AAGlC,MAAM,WAAW,yBAAyB;IACtC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,wBAAgB,+BAA+B,IAAI,OAAO,CAuCzD;AAED;;GAEG;AACH,wBAAsB,8BAA8B,CAChD,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,yBAAyB,EAClC,kBAAkB,CAAC,EAAE,sBAAsB,CAAC,cAAc,CAAC,GAC5D,OAAO,CAAC,IAAI,CAAC,CAyBf;AAED;;GAEG;AACH,wBAAsB,wBAAwB,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAG3F"}
@@ -0,0 +1,85 @@
1
+ import { Command } from 'commander';
2
+ import path from 'path';
3
+ import { DEFAULT_COMMON_STACK_PACKAGES, runUpdateDependenciesWorkflow } from '../utils/dependencies.js';
4
+ import { loadConfigWithDefaults, resolveConfigPaths } from '../config/loader.js';
5
+
6
+ /**
7
+ * CLI for updating dependencies from @common-stack packages
8
+ *
9
+ * Reads configuration from cdecode-config.json:
10
+ * - updateDependencies.packagesToCheck: Packages to check for updates
11
+ * - updateDependencies.packagePaths: Server package.json paths by category
12
+ */
13
+ /**
14
+ * Creates the update-dependencies command
15
+ */
16
+ function createUpdateDependenciesCommand() {
17
+ const command = new Command('update-dependencies')
18
+ .description('Update dependencies from @common-stack packages (reads from cdecode-config.json)')
19
+ .option('-r, --root <path>', 'Repository root path (auto-detected from cdecode-config.json)')
20
+ .option('-p, --packages <list>', 'Packages to check (comma-separated, overrides cdecode-config.json)', (val) => val.split(',').map((p) => p.trim()))
21
+ .option('--skip-ncu', 'Skip npm-check-updates step', false)
22
+ .option('--skip-yarn', 'Skip yarn install step', false)
23
+ .action(async (options) => {
24
+ // Load config from cdecode-config.json
25
+ let repoRoot = options.root;
26
+ let configPackages;
27
+ let configPackagePaths;
28
+ try {
29
+ const { config, repoRoot: detectedRoot } = loadConfigWithDefaults(options.root);
30
+ const resolvedConfig = resolveConfigPaths(config, detectedRoot);
31
+ repoRoot = detectedRoot;
32
+ configPackages = resolvedConfig.updateDependencies?.packagesToCheck;
33
+ configPackagePaths = resolvedConfig.updateDependencies?.packagePaths;
34
+ console.log(`📄 Loaded configuration from cdecode-config.json`);
35
+ }
36
+ catch (error) {
37
+ if (!options.root) {
38
+ console.warn('⚠️ Could not find cdecode-config.json, using defaults');
39
+ repoRoot = process.cwd();
40
+ }
41
+ }
42
+ await runUpdateDependenciesCLIAction(repoRoot, {
43
+ packages: options.packages || configPackages,
44
+ skipNcu: options.skipNcu,
45
+ skipYarn: options.skipYarn,
46
+ }, configPackagePaths);
47
+ });
48
+ return command;
49
+ }
50
+ /**
51
+ * Runs the update dependencies CLI action
52
+ */
53
+ async function runUpdateDependenciesCLIAction(rootDir, options, configPackagePaths) {
54
+ console.log(`\n📁 Repo root: ${rootDir}`);
55
+ console.log('🔄 Starting dependency update process...\n');
56
+ const packagePaths = configPackagePaths || {
57
+ backend: [path.resolve(rootDir, 'servers/backend-server/package.json')],
58
+ frontend: [path.resolve(rootDir, 'servers/frontend-server/package.json')],
59
+ mobile: [path.resolve(rootDir, 'portable-devices/mobile/package.json')],
60
+ };
61
+ const packagesToCheck = options.packages || DEFAULT_COMMON_STACK_PACKAGES;
62
+ const config = {
63
+ rootDir,
64
+ packagePaths,
65
+ packagesToCheck,
66
+ };
67
+ try {
68
+ await runUpdateDependenciesWorkflow(config);
69
+ console.log('\n✅ Dependency update completed successfully!');
70
+ }
71
+ catch (error) {
72
+ console.error('❌ Error:', error.message);
73
+ process.exit(1);
74
+ }
75
+ }
76
+ /**
77
+ * Standalone CLI entry point
78
+ */
79
+ async function runUpdateDependenciesCLI(args = process.argv) {
80
+ const program = createUpdateDependenciesCommand();
81
+ await program.parseAsync(args);
82
+ }
83
+
84
+ export { createUpdateDependenciesCommand, runUpdateDependenciesCLI, runUpdateDependenciesCLIAction };
85
+ //# sourceMappingURL=updateDependencies.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateDependencies.js","sources":["../../src/cli/updateDependencies.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * CLI for updating dependency versions across monorepo packages
3
+ *
4
+ * Reads configuration from cdecode-config.json:
5
+ * - updateDependencyVersion.roots: Root directories to scan
6
+ * - updateDependencyVersion.ignorePattern: Pattern to ignore
7
+ * - updateDependencyVersion.jsonSpacing: JSON indentation
8
+ * - updateDependencyVersion.addEndNewLine: Add newline at end
9
+ * - updateDependencyVersion.commitMessage: Git commit message
10
+ *
11
+ * This tool updates all package.json files to use consistent versions
12
+ * for internal monorepo packages and replaces link: references with actual versions.
13
+ */
14
+ import { Command } from 'commander';
15
+ import { type UpdateDependencyVersionConfig } from '../config/index.js';
16
+ export interface UpdateDependencyVersionOptions {
17
+ commit?: boolean;
18
+ dryRun?: boolean;
19
+ }
20
+ /**
21
+ * Creates the update-dependency-version command
22
+ */
23
+ export declare function createUpdateDependencyVersionCommand(): Command;
24
+ /**
25
+ * Updates all package.json files in the monorepo
26
+ */
27
+ export declare function updateDependencyVersions(monorepoRoot: string, options?: {
28
+ dryRun?: boolean;
29
+ config?: UpdateDependencyVersionConfig;
30
+ }): Promise<string[]>;
31
+ /**
32
+ * Runs the update dependency version process
33
+ */
34
+ export declare function runUpdateDependencyVersion(rootDir: string, options: UpdateDependencyVersionOptions, config?: UpdateDependencyVersionConfig): Promise<void>;
35
+ /**
36
+ * Standalone CLI entry point
37
+ */
38
+ export declare function runUpdateDependencyVersionCLI(args?: string[]): Promise<void>;
39
+ //# sourceMappingURL=updateDependencyVersion.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateDependencyVersion.d.ts","sourceRoot":"","sources":["../../src/cli/updateDependencyVersion.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,OAAO,EAA8C,KAAK,6BAA6B,EAAE,MAAM,oBAAoB,CAAC;AAEpH,MAAM,WAAW,8BAA8B;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,OAAO,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,oCAAoC,IAAI,OAAO,CA8B9D;AA4DD;;GAEG;AACH,wBAAsB,wBAAwB,CAC1C,YAAY,EAAE,MAAM,EACpB,OAAO,GAAE;IAAE,MAAM,CAAC,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,6BAA6B,CAAA;CAAO,GAC3E,OAAO,CAAC,MAAM,EAAE,CAAC,CAgCnB;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC5C,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,8BAA8B,EACvC,MAAM,CAAC,EAAE,6BAA6B,GACvC,OAAO,CAAC,IAAI,CAAC,CA8Bf;AAED;;GAEG;AACH,wBAAsB,6BAA6B,CAAC,IAAI,GAAE,MAAM,EAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhG"}
@@ -0,0 +1,170 @@
1
+ import { Command } from 'commander';
2
+ import path from 'path';
3
+ import { glob } from 'glob';
4
+ import { readPackageJsonSync, writePackageJsonSync } from '../utils/packageJson.js';
5
+ import { buildPackageMap } from '../utils/monorepo.js';
6
+ import { loadConfigWithDefaults } from '../config/loader.js';
7
+
8
+ /**
9
+ * CLI for updating dependency versions across monorepo packages
10
+ *
11
+ * Reads configuration from cdecode-config.json:
12
+ * - updateDependencyVersion.roots: Root directories to scan
13
+ * - updateDependencyVersion.ignorePattern: Pattern to ignore
14
+ * - updateDependencyVersion.jsonSpacing: JSON indentation
15
+ * - updateDependencyVersion.addEndNewLine: Add newline at end
16
+ * - updateDependencyVersion.commitMessage: Git commit message
17
+ *
18
+ * This tool updates all package.json files to use consistent versions
19
+ * for internal monorepo packages and replaces link: references with actual versions.
20
+ */
21
+ /**
22
+ * Creates the update-dependency-version command
23
+ */
24
+ function createUpdateDependencyVersionCommand() {
25
+ const command = new Command('update-dependency-version')
26
+ .description('Update dependency versions across monorepo packages (reads from cdecode-config.json)')
27
+ .option('-r, --root <path>', 'Repository root path (auto-detected from cdecode-config.json)')
28
+ .option('--commit', 'Commit changes after updating', false)
29
+ .option('--dry-run', 'Preview changes without writing', false)
30
+ .action(async (options) => {
31
+ // Load config from cdecode-config.json
32
+ let repoRoot = options.root;
33
+ let versionConfig;
34
+ try {
35
+ const { config, repoRoot: detectedRoot } = loadConfigWithDefaults(options.root);
36
+ repoRoot = detectedRoot;
37
+ versionConfig = config.updateDependencyVersion;
38
+ console.log(`📄 Loaded configuration from cdecode-config.json`);
39
+ }
40
+ catch (error) {
41
+ if (!options.root) {
42
+ console.warn('⚠️ Could not find cdecode-config.json, using defaults');
43
+ repoRoot = process.cwd();
44
+ }
45
+ }
46
+ await runUpdateDependencyVersion(repoRoot, {
47
+ commit: options.commit,
48
+ dryRun: options.dryRun,
49
+ }, versionConfig);
50
+ });
51
+ return command;
52
+ }
53
+ /**
54
+ * Finds all package.json files in the monorepo based on config
55
+ */
56
+ async function findPackageJsonFiles(monorepoRoot, config) {
57
+ const roots = config?.roots || ['servers', 'portable-devices', 'packages', 'packages-modules'];
58
+ const ignorePattern = config?.ignorePattern || '**/node_modules/**';
59
+ const pattern = `${monorepoRoot}/+(${roots.join('|')})/**/package.json`;
60
+ return glob(pattern, {
61
+ ignore: [ignorePattern],
62
+ });
63
+ }
64
+ /**
65
+ * Updates dependencies in a package.json to use correct versions
66
+ */
67
+ function searchAndUpdate(dependencies, filePath, packageJson, packageMap) {
68
+ if (!dependencies)
69
+ return false;
70
+ let modified = false;
71
+ for (const key in dependencies) {
72
+ if (dependencies[key].startsWith('link:')) {
73
+ // Handle link: references
74
+ const relativeDepFolder = dependencies[key].split('link:')[1];
75
+ const dependencyFolder = path.join(path.dirname(filePath), relativeDepFolder);
76
+ try {
77
+ const packageJsonPath = path.join(dependencyFolder, 'package.json');
78
+ const depPackageJson = readPackageJsonSync(packageJsonPath);
79
+ if (depPackageJson.version && dependencies[key] !== depPackageJson.version) {
80
+ dependencies[key] = depPackageJson.version;
81
+ modified = true;
82
+ }
83
+ }
84
+ catch (err) {
85
+ console.error(`Error updating ${key} in ${filePath}: ${err.message}`);
86
+ }
87
+ }
88
+ else if (packageMap.has(key)) {
89
+ // Handle internal monorepo packages
90
+ const version = packageMap.get(key).version;
91
+ if (dependencies[key] !== version) {
92
+ dependencies[key] = version;
93
+ modified = true;
94
+ }
95
+ }
96
+ }
97
+ return modified;
98
+ }
99
+ /**
100
+ * Updates all package.json files in the monorepo
101
+ */
102
+ async function updateDependencyVersions(monorepoRoot, options = {}) {
103
+ const { dryRun = false, config } = options;
104
+ const packageMap = await buildPackageMap(monorepoRoot);
105
+ const packageJsonFiles = await findPackageJsonFiles(monorepoRoot, config);
106
+ const modifiedFiles = [];
107
+ for (const file of packageJsonFiles) {
108
+ if (file.includes('node_modules'))
109
+ continue;
110
+ try {
111
+ const packageJson = readPackageJsonSync(file);
112
+ let modified = false;
113
+ modified = searchAndUpdate(packageJson.dependencies, file, packageJson, packageMap) || modified;
114
+ modified = searchAndUpdate(packageJson.peerDependencies, file, packageJson, packageMap) || modified;
115
+ modified = searchAndUpdate(packageJson.devDependencies, file, packageJson, packageMap) || modified;
116
+ if (modified) {
117
+ if (!dryRun) {
118
+ writePackageJsonSync(file, packageJson, {
119
+ spacing: config?.jsonSpacing,
120
+ endNewline: config?.addEndNewLine,
121
+ });
122
+ }
123
+ modifiedFiles.push(file);
124
+ }
125
+ }
126
+ catch (err) {
127
+ console.error(`Unable to read file ${file}: ${err.message}`);
128
+ }
129
+ }
130
+ return modifiedFiles;
131
+ }
132
+ /**
133
+ * Runs the update dependency version process
134
+ */
135
+ async function runUpdateDependencyVersion(rootDir, options, config) {
136
+ const { dryRun = false, commit = false } = options;
137
+ const commitMessage = config?.commitMessage || 'Updated packages to use correct versions';
138
+ console.log(`\n📁 Repo root: ${rootDir}`);
139
+ if (dryRun) {
140
+ console.log('🔍 Dry run mode - no files will be modified\n');
141
+ }
142
+ try {
143
+ const modifiedFiles = await updateDependencyVersions(rootDir, { dryRun, config });
144
+ if (modifiedFiles.length === 0) {
145
+ console.log('\n✅ All package versions are already up to date!');
146
+ return;
147
+ }
148
+ console.log(`\n📝 ${dryRun ? 'Would update' : 'Updated'} ${modifiedFiles.length} file(s):`);
149
+ modifiedFiles.forEach((f) => console.log(` - ${path.relative(rootDir, f)}`));
150
+ if (commit && !dryRun) {
151
+ console.log('\n📦 Use git to stage and commit the changes.');
152
+ console.log(` git add -A && git commit -m "${commitMessage}"`);
153
+ }
154
+ console.log('');
155
+ }
156
+ catch (error) {
157
+ console.error('❌ Error:', error.message);
158
+ process.exit(1);
159
+ }
160
+ }
161
+ /**
162
+ * Standalone CLI entry point
163
+ */
164
+ async function runUpdateDependencyVersionCLI(args = process.argv) {
165
+ const program = createUpdateDependencyVersionCommand();
166
+ await program.parseAsync(args);
167
+ }
168
+
169
+ export { createUpdateDependencyVersionCommand, runUpdateDependencyVersion, runUpdateDependencyVersionCLI, updateDependencyVersions };
170
+ //# sourceMappingURL=updateDependencyVersion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"updateDependencyVersion.js","sources":["../../src/cli/updateDependencyVersion.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Configuration module exports
3
+ */
4
+ export * from './types.js';
5
+ export * from './loader.js';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC"}
@@ -0,0 +1,30 @@
1
+ /**
2
+ * Configuration loader for cdecode-config.json
3
+ */
4
+ import { type CDecodeConfig } from './types.js';
5
+ /**
6
+ * Finds the cdecode-config.json file by walking up the directory tree
7
+ */
8
+ export declare function findConfigFile(startDir?: string): string | null;
9
+ /**
10
+ * Loads and parses the cdecode-config.json file
11
+ */
12
+ export declare function loadConfig(rootDir?: string): {
13
+ config: CDecodeConfig;
14
+ configPath: string;
15
+ repoRoot: string;
16
+ };
17
+ /**
18
+ * Loads config with defaults merged in
19
+ */
20
+ export declare function loadConfigWithDefaults(rootDir?: string): {
21
+ config: CDecodeConfig;
22
+ configPath: string;
23
+ repoRoot: string;
24
+ };
25
+ /**
26
+ * Resolves relative paths in config to absolute paths
27
+ */
28
+ export declare function resolveConfigPaths(config: CDecodeConfig, repoRoot: string): CDecodeConfig;
29
+ export { type CDecodeConfig } from './types.js';
30
+ //# sourceMappingURL=loader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../../src/config/loader.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,YAAY,CAAC;AAIhE;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAY9E;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAoB5G;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG;IAAE,MAAM,EAAE,aAAa,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CA8BxH;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,GAAG,aAAa,CAgCzF;AAED,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC"}
@@ -0,0 +1,109 @@
1
+ import fs from 'fs';
2
+ import path from 'path';
3
+ import { DEFAULT_CONFIG } from './types.js';
4
+
5
+ /**
6
+ * Configuration loader for cdecode-config.json
7
+ */
8
+ const CONFIG_FILENAME = 'cdecode-config.json';
9
+ /**
10
+ * Finds the cdecode-config.json file by walking up the directory tree
11
+ */
12
+ function findConfigFile(startDir = process.cwd()) {
13
+ let currentDir = startDir;
14
+ while (currentDir !== path.dirname(currentDir)) {
15
+ const configPath = path.join(currentDir, CONFIG_FILENAME);
16
+ if (fs.existsSync(configPath)) {
17
+ return configPath;
18
+ }
19
+ currentDir = path.dirname(currentDir);
20
+ }
21
+ return null;
22
+ }
23
+ /**
24
+ * Loads and parses the cdecode-config.json file
25
+ */
26
+ function loadConfig(rootDir) {
27
+ let configPath;
28
+ if (rootDir) {
29
+ configPath = path.join(rootDir, CONFIG_FILENAME);
30
+ if (!fs.existsSync(configPath)) {
31
+ throw new Error(`Configuration file not found at ${configPath}`);
32
+ }
33
+ }
34
+ else {
35
+ configPath = findConfigFile();
36
+ if (!configPath) {
37
+ throw new Error(`Could not find ${CONFIG_FILENAME} in current directory or any parent directory`);
38
+ }
39
+ }
40
+ const repoRoot = path.dirname(configPath);
41
+ const content = fs.readFileSync(configPath, 'utf-8');
42
+ const config = JSON.parse(content);
43
+ return { config, configPath, repoRoot };
44
+ }
45
+ /**
46
+ * Loads config with defaults merged in
47
+ */
48
+ function loadConfigWithDefaults(rootDir) {
49
+ const { config, configPath, repoRoot } = loadConfig(rootDir);
50
+ // Deep merge with defaults
51
+ const mergedConfig = {
52
+ ...DEFAULT_CONFIG,
53
+ ...config,
54
+ updateDependencies: {
55
+ ...DEFAULT_CONFIG.updateDependencies,
56
+ ...config.updateDependencies,
57
+ packagePaths: {
58
+ ...DEFAULT_CONFIG.updateDependencies?.packagePaths,
59
+ ...config.updateDependencies?.packagePaths,
60
+ },
61
+ },
62
+ updateDependencyVersion: {
63
+ ...DEFAULT_CONFIG.updateDependencyVersion,
64
+ ...config.updateDependencyVersion,
65
+ },
66
+ sortPackageJson: {
67
+ ...DEFAULT_CONFIG.sortPackageJson,
68
+ ...config.sortPackageJson,
69
+ },
70
+ projectPaths: {
71
+ ...DEFAULT_CONFIG.projectPaths,
72
+ ...config.projectPaths,
73
+ },
74
+ };
75
+ return { config: mergedConfig, configPath, repoRoot };
76
+ }
77
+ /**
78
+ * Resolves relative paths in config to absolute paths
79
+ */
80
+ function resolveConfigPaths(config, repoRoot) {
81
+ const resolved = { ...config };
82
+ // Resolve updateDependencies.packagePaths
83
+ if (resolved.updateDependencies?.packagePaths) {
84
+ const paths = resolved.updateDependencies.packagePaths;
85
+ resolved.updateDependencies = {
86
+ ...resolved.updateDependencies,
87
+ packagePaths: {
88
+ backend: paths.backend?.map(p => path.resolve(repoRoot, p)),
89
+ frontend: paths.frontend?.map(p => path.resolve(repoRoot, p)),
90
+ mobile: paths.mobile?.map(p => path.resolve(repoRoot, p)),
91
+ },
92
+ };
93
+ }
94
+ // Resolve sortPackageJson.directories
95
+ if (resolved.sortPackageJson?.directories) {
96
+ resolved.sortPackageJson = {
97
+ ...resolved.sortPackageJson,
98
+ directories: resolved.sortPackageJson.directories.map(d => d === '.' ? repoRoot : path.resolve(repoRoot, d)),
99
+ };
100
+ }
101
+ // Resolve servers paths
102
+ if (resolved.servers) {
103
+ resolved.servers = resolved.servers.map(s => path.resolve(repoRoot, s));
104
+ }
105
+ return resolved;
106
+ }
107
+
108
+ export { findConfigFile, loadConfig, loadConfigWithDefaults, resolveConfigPaths };
109
+ //# sourceMappingURL=loader.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"loader.js","sources":["../../src/config/loader.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
@@ -0,0 +1,82 @@
1
+ /**
2
+ * Central configuration types for cdecode-config.json
3
+ *
4
+ * This file defines the structure of the cdecode-config.json configuration file
5
+ * that drives all the common-tools utilities.
6
+ */
7
+ export interface CDecodeConfig {
8
+ /** Server config.json paths for codegen */
9
+ servers?: string[];
10
+ /** Codegen configuration */
11
+ codegen?: CodegenConfig;
12
+ /** Update dependencies configuration */
13
+ updateDependencies?: UpdateDependenciesConfig;
14
+ /** Update dependency version configuration */
15
+ updateDependencyVersion?: UpdateDependencyVersionConfig;
16
+ /** Sort package.json configuration */
17
+ sortPackageJson?: SortPackageJsonConfig;
18
+ /** Deploy version update configuration */
19
+ deployVersionUpdate?: DeployVersionUpdateConfig;
20
+ /** Project paths configuration */
21
+ projectPaths?: ProjectPathsConfig;
22
+ /** Service schemas configuration */
23
+ serviceSchemas?: ServiceSchemasConfig;
24
+ }
25
+ export interface CodegenConfig {
26
+ outputFile?: string;
27
+ rootSchema?: string;
28
+ fullConfig?: Record<string, unknown>;
29
+ }
30
+ export interface UpdateDependenciesConfig {
31
+ /** Packages to check for updates */
32
+ packagesToCheck?: string[];
33
+ /** Package paths by category */
34
+ packagePaths?: {
35
+ backend?: string[];
36
+ frontend?: string[];
37
+ mobile?: string[];
38
+ };
39
+ }
40
+ export interface UpdateDependencyVersionConfig {
41
+ /** Root directories to scan */
42
+ roots?: string[];
43
+ /** Pattern to ignore */
44
+ ignorePattern?: string;
45
+ /** JSON indentation spacing */
46
+ jsonSpacing?: number;
47
+ /** Add newline at end of files */
48
+ addEndNewLine?: boolean;
49
+ /** Git commit message */
50
+ commitMessage?: string;
51
+ }
52
+ export interface SortPackageJsonConfig {
53
+ /** Directories to process */
54
+ directories?: string[];
55
+ /** Skip node_modules directories */
56
+ skipNodeModules?: boolean;
57
+ }
58
+ export interface DeployVersionUpdateConfig {
59
+ lernaJsonPath?: string;
60
+ jenkinsfilePath?: string;
61
+ valuesDevYamlPath?: string;
62
+ valuesProdYamlPath?: string;
63
+ }
64
+ export interface ProjectPathsConfig {
65
+ packages?: string;
66
+ packagesModules?: string;
67
+ servers?: string;
68
+ portableDevices?: string;
69
+ }
70
+ export interface ServiceSchemasConfig {
71
+ servicesDir?: string;
72
+ outputFile?: string;
73
+ skipServices?: string[];
74
+ knownEnums?: string[];
75
+ constEnumSchemas?: string[];
76
+ graphqlSchemasPath?: string;
77
+ }
78
+ /**
79
+ * Default configuration values
80
+ */
81
+ export declare const DEFAULT_CONFIG: Partial<CDecodeConfig>;
82
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/config/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,aAAa;IAC1B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;IAEnB,4BAA4B;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IAExB,wCAAwC;IACxC,kBAAkB,CAAC,EAAE,wBAAwB,CAAC;IAE9C,8CAA8C;IAC9C,uBAAuB,CAAC,EAAE,6BAA6B,CAAC;IAExD,sCAAsC;IACtC,eAAe,CAAC,EAAE,qBAAqB,CAAC;IAExC,0CAA0C;IAC1C,mBAAmB,CAAC,EAAE,yBAAyB,CAAC;IAEhD,kCAAkC;IAClC,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC,oCAAoC;IACpC,cAAc,CAAC,EAAE,oBAAoB,CAAC;CACzC;AAED,MAAM,WAAW,aAAa;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,wBAAwB;IACrC,oCAAoC;IACpC,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAC3B,gCAAgC;IAChC,YAAY,CAAC,EAAE;QACX,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;QACnB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACL;AAED,MAAM,WAAW,6BAA6B;IAC1C,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,wBAAwB;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+BAA+B;IAC/B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kCAAkC;IAClC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yBAAyB;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qBAAqB;IAClC,6BAA6B;IAC7B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,oCAAoC;IACpC,eAAe,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED,MAAM,WAAW,yBAAyB;IACtC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAoB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,OAAO,CAAC,aAAa,CA8BjD,CAAC"}
@@ -0,0 +1,43 @@
1
+ /**
2
+ * Central configuration types for cdecode-config.json
3
+ *
4
+ * This file defines the structure of the cdecode-config.json configuration file
5
+ * that drives all the common-tools utilities.
6
+ */
7
+ /**
8
+ * Default configuration values
9
+ */
10
+ const DEFAULT_CONFIG = {
11
+ updateDependencies: {
12
+ packagesToCheck: [
13
+ '@common-stack/server-stack',
14
+ '@common-stack/frontend-stack-react',
15
+ '@common-stack/mobile-stack-react',
16
+ ],
17
+ packagePaths: {
18
+ backend: ['servers/backend-server/package.json'],
19
+ frontend: ['servers/frontend-server/package.json'],
20
+ mobile: ['portable-devices/mobile/package.json'],
21
+ },
22
+ },
23
+ updateDependencyVersion: {
24
+ roots: ['servers', 'portable-devices', 'packages', 'packages-modules'],
25
+ ignorePattern: '**/node_modules/**',
26
+ jsonSpacing: 4,
27
+ addEndNewLine: true,
28
+ commitMessage: 'Updated packages to use correct versions',
29
+ },
30
+ sortPackageJson: {
31
+ directories: ['.', 'packages', 'packages-modules', 'servers', 'portable-devices'],
32
+ skipNodeModules: true,
33
+ },
34
+ projectPaths: {
35
+ packages: 'packages',
36
+ packagesModules: 'packages-modules',
37
+ servers: 'servers',
38
+ portableDevices: 'portable-devices',
39
+ },
40
+ };
41
+
42
+ export { DEFAULT_CONFIG };
43
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sources":["../../src/config/types.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA;;;;;AAKG;AAwFH;;AAEG;AACI,MAAM,cAAc,GAA2B;AAClD,IAAA,kBAAkB,EAAE;AAChB,QAAA,eAAe,EAAE;YACb,4BAA4B;YAC5B,oCAAoC;YACpC,kCAAkC;AACrC,SAAA;AACD,QAAA,YAAY,EAAE;YACV,OAAO,EAAE,CAAC,qCAAqC,CAAC;YAChD,QAAQ,EAAE,CAAC,sCAAsC,CAAC;YAClD,MAAM,EAAE,CAAC,sCAAsC,CAAC;AACnD,SAAA;AACJ,KAAA;AACD,IAAA,uBAAuB,EAAE;QACrB,KAAK,EAAE,CAAC,SAAS,EAAE,kBAAkB,EAAE,UAAU,EAAE,kBAAkB,CAAC;AACtE,QAAA,aAAa,EAAE,oBAAoB;AACnC,QAAA,WAAW,EAAE,CAAC;AACd,QAAA,aAAa,EAAE,IAAI;AACnB,QAAA,aAAa,EAAE,0CAA0C;AAC5D,KAAA;AACD,IAAA,eAAe,EAAE;QACb,WAAW,EAAE,CAAC,GAAG,EAAE,UAAU,EAAE,kBAAkB,EAAE,SAAS,EAAE,kBAAkB,CAAC;AACjF,QAAA,eAAe,EAAE,IAAI;AACxB,KAAA;AACD,IAAA,YAAY,EAAE;AACV,QAAA,QAAQ,EAAE,UAAU;AACpB,QAAA,eAAe,EAAE,kBAAkB;AACnC,QAAA,OAAO,EAAE,SAAS;AAClB,QAAA,eAAe,EAAE,kBAAkB;AACtC,KAAA;;;;;"}