npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

@hapiness/core

v1.6.1

Published

Project to have a HapiJS (https://hapijs.com/) based framework to create easier NodeJS back-end with some awesome features

Downloads

977

Readme

Web and services application framework

Hapiness is a web framework based on HapiJS and enhanced with Dependency Injection, strong modularisation and decorators.

It provides a real enhancement for building web servers and it enables to build modules, services, etc. quickly.

It has a stable and tested dependency injection system thanks to Angular.

Better development experience with typings, maintainability, improvement of productivity and a common project structure.

Everything in a single uniform framework.

Table of contents

Technologies

  • HapiJS
    • Hapi enables developers to focus on writing reusable application logic instead of spending time building infrastructure.
  • Joi
    • Object schema description language and validator for JavaScript objects.
  • Boom
    • HTTP-friendly error objects
  • Good
    • Good is a Hapi plugin to monitor and report on a variety of Hapi server events as well as ops information from the host machine.
  • Typescript
    • TypeScript is a typed superset of JavaScript that compiles to plain JavaScript.
  • RxJS
    • RxJS is a set of libraries for composing asynchronous and event-based programs using observable sequences and fluent query operators.

All those technologies are Typescript ready. It will help to build web servers and maintain them easier.

Back to top

Using Hapiness to create a web server and services

yarn or npm it in your package.json

$ npm install --save @hapiness/core rxjs

or

$ yarn add @hapiness/core rxjs
"dependencies": {
    "@hapiness/core": "^1.5.0",
    //...
}
//...

Use Hapiness API

Actually, we're in : v1.5.0

See API Reference to know what's already implemented.

Back to top

Contributing

To set up your development environment:

  1. clone the repo to your workspace,
  2. in the shell cd to the main folder,
  3. hit npm or yarn install,
  4. run npm or yarn run test.
    • It will lint the code and execute all tests.
    • The test coverage report can be viewed from ./coverage/lcov-report/index.html.

Back to top

Change History

  • v1.6.0 (2018-11-27)
    • Request in DI: Add request reference inside route DI
  • v1.5.5 (2018-10-15)
    • Boostrap fix: Exit the process if it fails
  • v1.5.4 (2018-06-19)
    • WebSocketServer: add sec-websocket-protocol in response
  • v1.5.3 (2018-05-29)
    • HttpRequestInfo types
    • Add credentials
  • v1.5.2 (2018-05-09)
    • Shutdown all extensions if one failed in bootstrap
  • v1.5.1 (2018-04-06)
    • Allow to import many time the same modules if it has no routes inside
  • v1.5.0 (2018-03-27)
    • EventManager Extension
    • Documentation
  • v1.4.0 (2018-03-26)
    • Extensions: add timeout
    • Extensions: shutdown
    • Latest packages' versions
    • Documentation
  • v1.3.1 (2018-02-27)
    • Keep request in the Socket instance
    • Update dependencies
  • v1.3.0 (2017-11-30)
    • Option that allow WS Server Ext to share Http Server Ext port
    • Handle HapiJS connections system to listen multiple ports
    • Documentation
  • v1.2.2 (2017-11-20)
    • Export createDecorator(), extractMetadata(), extractMetadataByDecorator, errorHandler() methods and DependencyInjection class
    • Documentation
  • v1.2.0 (2017-11-18)
    • Http Handler, Observable can set headers
    • Use injection-js from npm
    • Change build system
    • Latest packages' versions
    • Fix tests related to latest mocha version
    • Documentation
  • v1.1.1 (2017-10-22)
    • Build in commonjs
    • Latest packages' versions
    • Documentation
  • v1.1.0 (2017-10-16)
    • Websocket Server: Secure configuration
    • Documentation
  • v1.0.0 (2017-10-05)
    • Publish all features of API
    • First stable version

Back to top

Maintainers

Back to top

License

Copyright (c) 2017 Hapiness Licensed under the MIT license.

Back to top