63 lines
1.1 KiB
Markdown
63 lines
1.1 KiB
Markdown
# 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-2022 Ghost Foundation - Released under the [MIT license](LICENSE).
|