✨ This workspace has been generated by Nx, a Smart, fast and extensible build system. ✨
Create a deps.ts
file to manage your project dependencies:
// deps.ts
export * from "@deno-framework/nests";
Create a main.ts
file:
// main.ts
import { Application, createApp, Logger } from "@deno-framework/nests";
async function bootstrap() {
const app: Application = await createApp();
const port = 3000;
Logger.log(`App listening at http://localhost:${ port }`, 'Bootstrap');
await app.listen({ port });
}
bootstrap();
Create a dog.controller.ts
inside a controllers
folder (will be reworked to automatic discovery):
import { Controller, Get } from "@deno-framework/nests";
@Controller("/dogs")
export default class DogsController {
@Get("/")
getDog() {
return { name: "Retriever", cute: true, golden: true };
}
}
Run the app:
deno run --allow-net --allow-read --allow-env main.ts
.
└── app/
├── src/
│ ├── controllers/
│ │ └── dog.controller.ts
│ └── main.ts
├── deno.json
├── deps.ts
└── import_map.json
Feature | State |
---|---|
Controller-based route registration | Done ✔️ |
Logger | Done ✔️ |
Providers | Up next 🥇 |
HTTP Context | Semi |
Automatic provider & controller discovery | TBD |
HTTP Client | TBD |
Middlewares | TBD |
Interceptors | TBD |
Input validation | TBD |
Caching | TBD |
Life-cycle methods | TBD |
MVC | ? |
Deno material:
Inspiration: