# jova.js

> Jova.js - An advanced Express.js framework by Bracketed Softworks!

Latest version **2.0.14** (published 2025-06-22) · Apache-2.0 license · 0 weekly downloads

## Install

```sh
npm install jova.js
pnpm add jova.js
yarn add jova.js
bun add jova.js
```

## Health

**Score 40/100 (D)** — status: maintenance-mode.

Positive: has types; esm support; no vulnerabilities; has provenance.

Warnings: low downloads.

Negative: stale; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.14 |
| Published | 2025-06-22 |
| First published | 2024-10-06 |
| Weekly downloads | 0 |
| License | Apache-2.0 |
| TypeScript types | bundled |
| Module format | ESM + CommonJS |
| Node | >=18 |
| Dependencies | 10 |
| Unpacked size | 1.2 MB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Provenance | attested (GitHub Actions) |
| GitHub stars | 1 |
| Author | @bracketed |
| Maintainers | ninjaninja140 |
| Keywords | bracketed, jova.js, typescript, express, framework, http, server, webserver, web, rest, router, app, api, redis, cors |

## Links

- npm: https://www.npmjs.com/package/jova.js
- Repository: https://github.com/Bracketed/jova.js
- Homepage: https://jova.js.org/
- Issues: https://github.com/bracketed/jova.js/issues
- npm.io page: https://npm.io/package/jova.js

## Dependencies (10)

- [is2](https://npm.io/package/is2.md) ^2.0.9
- [cors](https://npm.io/package/cors.md) ^2.8.5
- [yaml](https://npm.io/package/yaml.md) ^2.8.0
- [esbuild](https://npm.io/package/esbuild.md) ^0.25.5
- [express](https://npm.io/package/express.md) ^5.1.0
- [serve-static](https://npm.io/package/serve-static.md) ^2.2.0
- [@bracketed/logger](https://npm.io/package/@bracketed/logger.md) ^1.1.1
- [express-rate-limit](https://npm.io/package/express-rate-limit.md) ^7.5.1
- [@sapphire/stopwatch](https://npm.io/package/@sapphire/stopwatch.md) ^1.5.4
- [express-serve-static-core](https://npm.io/package/express-serve-static-core.md) ^0.1.1

## Alternatives

- [memory-cache](https://npm.io/package/memory-cache.md) — 795.0K weekly downloads
- [@httptoolkit/proxy-agent](https://npm.io/package/@httptoolkit/proxy-agent.md) — 11.2K weekly downloads
- [express-cache-controller](https://npm.io/package/express-cache-controller.md) — 5.3K weekly downloads
- [http-cache-middleware](https://npm.io/package/http-cache-middleware.md) — 4.5K weekly downloads
- [cache2](https://npm.io/package/cache2.md) — 1.5K weekly downloads

## Recent versions

- 2.0.14 (latest) — 2025-06-22
- 2.0.13 — 2025-06-22
- 2.0.12 — 2025-04-25
- 2.0.10 — 2025-04-24
- 2.0.9 — 2025-04-13
- 2.0.8 — 2025-04-13
- 2.0.7 — 2025-04-11
- 2.0.6 — 2025-04-11
- 2.0.5 — 2025-04-11
- 2.0.4 — 2025-04-10
- 2.0.3 — 2025-04-10
- 2.0.2 — 2025-04-10
- 1.7.7 — 2025-04-04
- 1.7.6 — 2025-04-04
- 1.7.5 — 2025-04-04
- … 7 more at https://npm.io/package/jova.js/versions

## README

<div align="center" id="top">
    <img src="https://raw.githubusercontent.com/Bracketed/Bracketed-Packages/main/assets/LogoText.png" alt="Bracketed logo" width="800"/>
    <br />
    Bracketed Softworks - <a href="https://bracketed.co.uk" >Website</a> | <a href="https://discord.com/invite/JZ4939cvMT" >Discord</a> | <a href="https://github.com/Bracketed" >Github</a>
</div>

<br>

<h2 align="center" >@bracketed/jova.js</h2>

A semi-advanced Express.js framework by Bracketed Softworks!
This is a package built revolving around [Express.js](https://www.npmjs.com/package/express) to allow the easy usage of Express' API and adding extra things like built in middlewares, event listeners etc.

Documentation & Guide available at <https://jova.js.org>, **the majority of the content which used to be part of our README.md is now at our js.org website**.

<h2>What is this?</h2>

\- A Framework package built for [Express.js](https://www.npmjs.com/package/express) that uses [@bracketed/logger](https://www.npmjs.com/package/@bracketed/logger) for logging.
\- It utilises a range of packages to bring you the best experience!

<h2>Summary (Directory)</h2>

- [Installation](#Installation)
      <!--truncate-->
    - [Yarn](#YarnInstall)
    - [Npm](#NpmInstall)
- [Usage](#Usage)
- [Contribution](#Contribution)

<h2 id="Installation">Installation</h2>

Install via `yarn` or `npm`:

<p id="YarnInstall">Yarn:</p>

```sh
yarn add @bracketed/jova.js
```

<p id="NpmInstall">Npm:</p>

```sh
npm install --save @bracketed/jova.js
```

<h2 id="Usage">Usage</h2>

Jova.js has a specific file structure it works by, this is shown below:

```txt
project
│   index.ts
│
└───events
│   │   Ready.ts
│   │   Error.ts
│   │   ...
│   │
│   └───more-events (subfolders are supported)
│       │   Mount.ts
│       │   Route.ts
│       │   ...
│
└───routes (subfolders are supported)
│   │   Route.ts
│   │   Index.ts
│   │   ...
│
└───middlewares (subfolders are supported)
│   │   Middleware1.ts
│   │   Middleware2.ts
│   │   ...
│
└───static (subfolders are supported)
    │   file1.css
    │   file2.txt
    │   ...
```

Jova.js also has two other exports, `@bracketed/jova.js/types` and `@bracketed/jova.js/decorators`.

- `@bracketed/jova.js/decorators` - For decorators usage in handlers such as route handlers, event handlers and middleware handlers.
- `@bracketed/jova.js/types` - Typings for Jova.js, used in routes, middlewares, events etc.

Initiating a new Jova Server.

```typescript
// ESM
import { JovaServer } from '@bracketed/jova.js';

const Jova = new JovaServer();

await Jova.listen(3000);
```

```typescript
// CJS
const { JovaServer } = require('@bracketed/jova.js');

const Jova = new JovaServer(); // All options for JovaServer are documented in the instance as jsDocs

await Jova.listen(3000);
```

You can find an application example in the Jova.js repository [here](https://github.com/bracketed/jova.js) or the direct folder [here](https://github.com/Bracketed/jova.js/tree/master/test).

The default Express API can be utilised from the default Jova instance after being initiated e.g: get(), post(), etc or via the `container` object exported by `@bracketed/jova.js`.

However, you can set up routes, middlewares and event listeners like this:

**Events** - [Via the documentation at jova.js.org](https://jova.js.org/docs/Guide/Events)

**Routes** - [Via the documentation at jova.js.org](https://jova.js.org/docs/Guide/Routes)

**Middlewares** - [Via the documentation at jova.js.org](https://jova.js.org/docs/Guide/Middlewares)

<h1 id="Contribution">Contribution & Help</h1>

Feel free to contribute to this project, join our [discord](https://discord.com/invite/JZ4939cvMT) and help us with future developments of Project Bracketed & Packages by Bracketed Softworks.
Please also notify us of errors within our projects as we may not be aware of them at the time.

<br>

<div align="center" style="font-weight: bold">
    <h2>Thanks for using our packages!</h2>
    <img src="https://github.com/Bracketed/Branding/blob/main/Banners/LogoBannerTextMini.png?raw=true" alt="Bracketed logo" width="900" style="border-radius: 25px" />
    Bracketed Softworks - <a href="https://bracketed.co.uk" >Website</a> | <a href="https://discord.com/invite/JZ4939cvMT" >Discord</a> | <a href="https://github.com/Bracketed" >Github</a> | <a href="https://x.com/teambracketed" >Twitter</a> | <a href="#top" >Back To The Top</a>
    <br>
    <br>
    <img src="https://discordapp.com/api/guilds/1041758035355369542/widget.png?style=banner2" alt="Discord Banner" href="https://discord.com/invite/JZ4939cvMT"/>
</div>

---
_Source: https://npm.io/package/jova.js · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
