:fork_and_knife: Spife :fork_and_knife:
Welcome to Spife! It cuts like a knife, but scoops like a spoon!
Spife is a jshttp-based microframework with Opinions (TM). Collects and curates the following
packages:
- Routing, courtesy of
reverse
, - Database access, courtesy of
pg
- Per-request concurrency and transactions, courtesy of
pg-db-session
, - An ORM, courtesy of
ormnomnom
, - Metrics gathering, courtesy of
numbat-emitter
, - Monitoring, a la
restify-monitor
, - and Logging, courtesy of
bole
API
Full docs are available here.
- If you're just getting started with Spife, you might try the
tutorial!
- You might have some questions. Check the FAQ.
- The topic documentation lays out the high-level concepts.
- Reference documentation covers API signatures and methods.
:package: denotes a link to an external package that has been bundled
with Spife.
- Modules
require('@npm/spife') → createServer
- Middleware
require('@npm/spife/middleware/transaction') → TransactionMiddleware
require('@npm/spife/middleware/database') → DatabaseMiddleware
require('@npm/spife/middleware/monitor') → MonitorMiddleware
require('@npm/spife/middleware/metrics') → MetricsMiddleware
require('@npm/spife/middleware/logging') → LoggingMiddleware
require('@npm/spife/middleware/common') → CommonMiddleware
- HTTP
- Database
- Sub-packages
- Common Decorators
- Common Views
- Utilities
Development
To develop locally, clone this repository, and run npm install
in a shell
in the repository directory. From there you can:
npm test
: Run both the linter and the code tests.npm run lint
: Run just the linter.npm run cov:test
: Run the code tests with code coverage enabled.npm run cov:html
: Run the code tests and output a coverage directory.
serve the directory at http://localhost:60888
.
License
ISC