feat: add install catalog and project config autodetection

This commit is contained in:
Affaan Mustafa
2026-03-24 03:53:45 -07:00
parent cc60bf6b65
commit b4296c7095
11 changed files with 496 additions and 6 deletions

View File

@@ -8,6 +8,7 @@ const os = require('os');
const path = require('path');
const {
findDefaultInstallConfigPath,
loadInstallConfig,
resolveInstallConfigPath,
} = require('../../scripts/lib/install/config');
@@ -49,6 +50,32 @@ function runTests() {
assert.strictEqual(resolved, path.join(cwd, 'configs', 'ecc-install.json'));
})) passed++; else failed++;
if (test('finds the default project install config in the provided cwd', () => {
const cwd = createTempDir('install-config-');
try {
const configPath = path.join(cwd, 'ecc-install.json');
writeJson(configPath, {
version: 1,
profile: 'core',
});
assert.strictEqual(findDefaultInstallConfigPath({ cwd }), configPath);
} finally {
cleanup(cwd);
}
})) passed++; else failed++;
if (test('returns null when no default project install config exists', () => {
const cwd = createTempDir('install-config-');
try {
assert.strictEqual(findDefaultInstallConfigPath({ cwd }), null);
} finally {
cleanup(cwd);
}
})) passed++; else failed++;
if (test('loads and normalizes a valid install config', () => {
const cwd = createTempDir('install-config-');