import type { ApplicationService } from '../src/types.ts'; /** * REPL Service Provider configures the interactive Node.js REPL * for AdonisJS applications * * This provider sets up: * - REPL instance with history file support * - Helper methods for importing modules and making container bindings * - Quick access methods for loading common services (app, router, etc.) * - Utility methods for development and debugging * * @example * const provider = new ReplServiceProvider(app) * provider.register() * await provider.boot() */ export default class ReplServiceProvider { protected app: ApplicationService; /** * REPL service provider constructor * * @param app - The application service instance */ constructor(app: ApplicationService); /** * Registers the REPL binding * * Creates a singleton binding for the REPL with history file * support in the user's home directory. * * @example * const provider = new ReplServiceProvider(app) * provider.register() * const repl = await app.container.make('repl') */ register(): void; /** * Registering REPL bindings during provider boot * * Adds helper methods to the REPL instance including: * - importDefault: Import default export from modules * - importAll: Import all files from a directory * - make: Create instances using container.make * - load* methods: Quick access to common services * - loadHelpers: Load utility helper functions * * @example * await provider.boot() * // REPL now has helper methods available */ boot(): Promise; }