1.1.0 • Published 8 years ago
hapi-compat v1.1.0
hapi-compat
This plugin tries to detect, warn and auto-fix Hapi 17 breaking changes which are not fixed in plugins with a best effort.
Hooks are recursive so if a plugin requires incompatible plugins, hapi-compat plugin will support them too.
What's supported?
| ID | Auto Fix | Perf Impact | Description | 
|---|---|---|---|
| ASYNC_PLUGINS | YES | I | plugins with next callback should return a Promise now | 
| SERVER_REGISTER | YES | - | server.register({ register }) should be { plugin } | 
| PLUGIN_ATTRS | YES | - | register.attributes ~> {register, pkg} | 
| SERVER_ON | YES | I + R | server.on ~> server.events.on | 
| ASYNC_SERVER_EXT | YES | I | Support for server.ext where the method expects having next callback | 
- Perf Impact indicates if this support impacts performance of framework (I)init or (R)untime.
 *means only impacts perf when old code detected not newer plugins
For more details please look at breaking changes list here
Setup
Install package:
npm install hapi-compat
# or using yarn...
yarn add hapi-compatAdd plugin and push main Hapi instance as options.server to allow globally registering hooks:
// ...
const server = new Hapi.Server(....)
// ...
server.register({
    plugin: 'hapi-compat',
    options: {
        server
    }
})Questions
Does this plugin magically fixes everything for migration?
Absolutely no. This is just a helper utility for making migration easier and faster.
License
Copyright (c) 2016-2017 Fandogh - Pooya Parsa
Released under The MIT LICENSE