@entro314labs/at3-toolkit
Version:
Advanced development toolkit for AT3 Stack projects
39 lines (38 loc) • 1.59 kB
JavaScript
// Main library exports for programmatic usage
export { ProjectDetector } from "./detection/detector.js";
export { ConfigMerger } from "./migration/config-merger.js";
export { MigrationRunner } from "./migration/runner.js";
export { Logger } from "./utils/logger.js";
// Convenience functions for common use cases
export async function migrateProject(projectPath, options = {}) {
const { MigrationRunner } = await import("./migration/runner.js");
const { Logger } = await import("./utils/logger.js");
const logger = new Logger(options.verbose || false);
const runner = new MigrationRunner(logger);
const migrationOptions = {
projectPath,
interactive: false,
overwrite: false,
skipDeps: false,
updateVersions: true,
replaceLinting: false,
dryRun: false,
force: false,
verbose: false,
...options,
};
return await runner.migrate(migrationOptions);
}
export async function detectProject(projectPath) {
const { ProjectDetector } = await import("./detection/detector.js");
const { Logger } = await import("./utils/logger.js");
const detector = new ProjectDetector(new Logger(false));
return await detector.detectProject(projectPath);
}
export async function rollbackProject(projectPath, force = false) {
const { MigrationRunner } = await import("./migration/runner.js");
const { Logger } = await import("./utils/logger.js");
const logger = new Logger(false);
const runner = new MigrationRunner(logger);
return await runner.rollback(projectPath, force);
}