# Adapter Manager A manager for retrieving custom "adapters" - can be used to abstract away from custom implementations ## Install `npm install @tryghost/adapter-manager --save` or `yarn add @tryghost/adapter-manager` ## Usage ```js const AdapterManager = require('@tryghost/adapter-manager'); const adapterManager = new AdapterManager({ pathsToAdapters: [ '/path/to/custom/adapters', '/path/to/default/adapters' ] }); class MailAdapterBase { someMethod() {} } adapterManager.register('mail', MailAdapterBase); const mailAdapterInstance = adapterManager.getAdapter('mail', 'direct', mailConfig); mailAdapterInstance.someMethod(); ``` ## Develop This is a mono repository, managed with [lerna](https://lernajs.io/). Follow the instructions for the top-level repo. 1. `git clone` this repo & `cd` into it as usual 2. Run `yarn` to install top-level dependencies. ## Run - `yarn dev` ## Test - `yarn lint` run just eslint - `yarn test` run lint and tests # Copyright & License Copyright (c) 2013-2021 Ghost Foundation - Released under the [MIT license](LICENSE).