hapi-mongoose-models-next
v2.1.0
Published
Auto load mongoose models for Hapi.js
Downloads
3
Maintainers
Readme
hapi-mongoose-models
Auto load mongoose models for Hapi.js 20+. Technically, it should work with Hapi.js 17+.
This is the great work of Luis Miguel Bula Mora upgraded to work with Hapi.js 20+. You can find Luis' original work at on Github.
Install
$ npm install hapi-mongoose-models-next
Usage
var Hapi = require('hapi');
var server = Hapi.server({ port: 3000 });
await server.start();
const provision = async () => {
await server.register({
plugin: require('hapi-mongoose-models-next'),
options: {
globPattern: '../models/**/*.js', // Required
globOptions: { // https://github.com/isaacs/node-glob
cwd: __dirname, // Required
nosort: true // Optional, utils for mongoose descriptors
}
}
};
await server.start();
console.log('Server running at:', server.info.uri);
};
provision();
Tests
Run comand make test
or npm test
. Include 100% test coverage.
Working Directly With Source
If you decide to work directly with the this source (as opposed to installing it via npm as a project dependency), it's important to remember to link to a globally installed mongoose
. Then, link this project globally, too. To make that easier for you, simply run the following, which will set everything up for you.
npm run link
This will have to be done in all of the hapi-mongoose-*
family packages: hapi-mongoose-connect
, hapi-mongoose-models
, hapi-mongoose-errors
, hapi-mongoose-request
, as well as the main project you're developing. This ensures that each package works with the same Mongoose connect. Otherwise, you'll end up having failures.
For your development project, do something like the following:
npm i -g mongodb
npm i -g mongoose
npm link mongoose mongodb hapi-mongoose-connect-next hapi-mongoose-models-next
License
MIT