@@ -57,6 +57,11 @@ class DependencyResolver {
|
||||
const { name, version } = spec;
|
||||
const key = `${name}@${version}`;
|
||||
|
||||
// Check if registry is configured
|
||||
if (!this.registry) {
|
||||
throw new Error('Registry not configured. Please set up the dependency resolver properly.');
|
||||
}
|
||||
|
||||
// Check if already resolved
|
||||
if (this.resolved.has(key)) {
|
||||
return [this.resolved.get(key)];
|
||||
|
||||
@@ -26,8 +26,24 @@ class PackageManager {
|
||||
this.config = new ConfigManager();
|
||||
this.logger = new Logger();
|
||||
|
||||
// Configure resolver dependencies
|
||||
this.resolver.setRegistry(this.registry);
|
||||
this.resolver.setLockManager(this.lock);
|
||||
|
||||
this.projectRoot = this.findProjectRoot();
|
||||
this.globalRoot = path.join(require('os').homedir(), '.alepm');
|
||||
|
||||
this.initialized = false;
|
||||
}
|
||||
|
||||
async init() {
|
||||
if (this.initialized) return;
|
||||
|
||||
await this.config.init();
|
||||
await this.cache.init();
|
||||
await this.storage.init();
|
||||
|
||||
this.initialized = true;
|
||||
}
|
||||
|
||||
findProjectRoot() {
|
||||
@@ -43,7 +59,16 @@ class PackageManager {
|
||||
return process.cwd();
|
||||
}
|
||||
|
||||
async ensureInitialized() {
|
||||
if (!this.initialized) {
|
||||
await this.init();
|
||||
}
|
||||
}
|
||||
|
||||
async install(packages = [], options = {}) {
|
||||
// Ensure initialization
|
||||
await this.ensureInitialized();
|
||||
|
||||
const spinner = ora('Analyzing dependencies...').start();
|
||||
|
||||
try {
|
||||
@@ -160,6 +185,8 @@ class PackageManager {
|
||||
}
|
||||
|
||||
async uninstall(packages, options = {}) {
|
||||
await this.ensureInitialized();
|
||||
|
||||
const spinner = ora('Uninstalling packages...').start();
|
||||
|
||||
try {
|
||||
@@ -196,6 +223,8 @@ class PackageManager {
|
||||
}
|
||||
|
||||
async update(packages = [], options = {}) {
|
||||
await this.ensureInitialized();
|
||||
|
||||
const spinner = ora('Checking for updates...').start();
|
||||
|
||||
try {
|
||||
@@ -253,6 +282,8 @@ class PackageManager {
|
||||
}
|
||||
|
||||
async search(query, options = {}) {
|
||||
await this.ensureInitialized();
|
||||
|
||||
const spinner = ora(`Searching for "${query}"...`).start();
|
||||
|
||||
try {
|
||||
@@ -282,6 +313,8 @@ class PackageManager {
|
||||
}
|
||||
|
||||
async info(packageName) {
|
||||
await this.ensureInitialized();
|
||||
|
||||
const spinner = ora(`Getting info for ${packageName}...`).start();
|
||||
|
||||
try {
|
||||
|
||||
Referencia en una nueva incidencia
Block a user