@volcanicminds/backend 0.9.2 → 0.9.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +255 -6
- package/combine.js +124 -0
- package/dist/index.js +2 -2
- package/dist/index.js.map +1 -1
- package/dist/package.json +3 -2
- package/index.ts +2 -2
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -5,26 +5,138 @@
|
|
|
5
5
|
|
|
6
6
|
# volcanic-backend
|
|
7
7
|
|
|
8
|
+
A Node.js framework based on Fastify to build robust APIs quickly, featuring an automatic routing system, integrated authentication, and a powerful data access layer.
|
|
9
|
+
|
|
8
10
|
## Based on
|
|
9
11
|
|
|
10
|
-
|
|
12
|
+
**Volcanic Backend** is a powerful, opinionated, and extensible Node.js framework for creating robust and scalable RESTful and GraphQL APIs. It's built on modern, high-performance libraries like [Fastify](https://www.fastify.io) and can be optionally paired with [Apollo Server](https://www.apollographql.com).
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
The framework provides a comprehensive set of built-in features including a filesystem-based router, JWT authentication, role-based access control, task scheduling, and seamless database integration, allowing developers to focus on business logic rather than boilerplate.
|
|
13
15
|
|
|
14
16
|
And, what you see in [package.json](package.json).
|
|
15
17
|
|
|
16
|
-
##
|
|
18
|
+
## Core Philosophy
|
|
17
19
|
|
|
18
|
-
|
|
20
|
+
- **Convention over Configuration**: A clear and consistent project structure for APIs, controllers, and routes simplifies development and reduces boilerplate.
|
|
21
|
+
- **Extensibility**: Easily extendable with custom plugins, hooks, and middleware to fit any project's needs.
|
|
22
|
+
- **Database Agnostic**: Designed to work seamlessly with `@volcanicminds/typeorm`, supporting both SQL (e.g., PostgreSQL) and NoSQL (e.g., MongoDB) databases.
|
|
23
|
+
- **Feature-Rich**: Out-of-the-box support for JWT authentication, role-based access control (RBAC), automatic Swagger/OpenAPI documentation, and much more.
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
### Installation
|
|
28
|
+
|
|
29
|
+
```sh
|
|
19
30
|
yarn add @volcanicminds/backend
|
|
20
31
|
```
|
|
21
32
|
|
|
33
|
+
For database interactions, it is highly recommended to also install the companion package:
|
|
34
|
+
|
|
35
|
+
```sh
|
|
36
|
+
yarn add @volcanicminds/typeorm
|
|
37
|
+
```
|
|
38
|
+
|
|
39
|
+
### Minimal Working Example
|
|
40
|
+
|
|
41
|
+
This example demonstrates how to set up a basic server with a single endpoint.
|
|
42
|
+
|
|
43
|
+
**1. Create your server entrypoint (`index.ts`):**
|
|
44
|
+
|
|
45
|
+
```typescript
|
|
46
|
+
// index.ts
|
|
47
|
+
import { start } from '@volcanicminds/backend'
|
|
48
|
+
import { start as startDatabase, userManager } from '@volcanicminds/typeorm'
|
|
49
|
+
import { myDbConfig } from './src/config/database' // Assume you have a db config file
|
|
50
|
+
|
|
51
|
+
async function main() {
|
|
52
|
+
// 1. Initialize the database connection (optional but recommended)
|
|
53
|
+
await startDatabase(myDbConfig)
|
|
54
|
+
|
|
55
|
+
// 2. Start the Volcanic Backend server
|
|
56
|
+
// We pass the 'userManager' from the typeorm package to enable authentication
|
|
57
|
+
await start({ userManager })
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
main().catch((err) => {
|
|
61
|
+
console.error(err)
|
|
62
|
+
process.exit(1)
|
|
63
|
+
})
|
|
64
|
+
```
|
|
65
|
+
|
|
66
|
+
**2. Define a route (`src/api/hello/routes.ts`):**
|
|
67
|
+
|
|
68
|
+
```typescript
|
|
69
|
+
// src/api/hello/routes.ts
|
|
70
|
+
module.exports = {
|
|
71
|
+
routes: [
|
|
72
|
+
{
|
|
73
|
+
method: 'GET',
|
|
74
|
+
path: '/',
|
|
75
|
+
handler: 'world.sayHello'
|
|
76
|
+
}
|
|
77
|
+
]
|
|
78
|
+
}
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
**3. Create the controller (`src/api/hello/controller/world.ts`):**
|
|
82
|
+
|
|
83
|
+
```typescript
|
|
84
|
+
// src/api/hello/controller/world.ts
|
|
85
|
+
import { FastifyReply, FastifyRequest } from '@volcanicminds/backend'
|
|
86
|
+
|
|
87
|
+
export function sayHello(req: FastifyRequest, reply: FastifyReply) {
|
|
88
|
+
reply.send({ message: 'Hello, World!' })
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
**4. Run your server:**
|
|
93
|
+
|
|
94
|
+
```sh
|
|
95
|
+
yarn dev
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Now you can visit `http://localhost:2230/hello` and you will see `{"message":"Hello, World!"}`.
|
|
99
|
+
|
|
22
100
|
## How to upgrade packages
|
|
23
101
|
|
|
24
102
|
```ts
|
|
25
103
|
yarn upgrade-deps
|
|
26
104
|
```
|
|
27
105
|
|
|
106
|
+
## Project Structure
|
|
107
|
+
|
|
108
|
+
A typical project using `volcanic-backend` follows a convention-based structure to keep your code organized and predictable.
|
|
109
|
+
|
|
110
|
+
```
|
|
111
|
+
.
|
|
112
|
+
├── src/
|
|
113
|
+
│ ├── api/
|
|
114
|
+
│ │ └── products/ # A feature or resource module
|
|
115
|
+
│ │ ├── controller/
|
|
116
|
+
│ │ │ └── product.ts # Business logic for products
|
|
117
|
+
│ │ └── routes.ts # Route definitions for products
|
|
118
|
+
│ │
|
|
119
|
+
│ ├── config/
|
|
120
|
+
│ │ ├── database.ts # Database connection settings
|
|
121
|
+
│ │ ├── plugins.ts # Configuration for Fastify plugins (CORS, Helmet, etc.)
|
|
122
|
+
│ │ └── roles.ts # Custom role definitions
|
|
123
|
+
│ │
|
|
124
|
+
│ ├── entities/
|
|
125
|
+
│ │ └── product.e.ts # TypeORM entity definitions
|
|
126
|
+
│ │
|
|
127
|
+
│ ├── hooks/
|
|
128
|
+
│ │ └── onRequest.ts # Custom logic for the 'onRequest' lifecycle hook
|
|
129
|
+
│ │
|
|
130
|
+
│ ├── middleware/
|
|
131
|
+
│ │ └── myMiddleware.ts # Custom middleware functions
|
|
132
|
+
│ │
|
|
133
|
+
│ └── schemas/
|
|
134
|
+
│ └── product.ts # JSON schemas for validation and Swagger
|
|
135
|
+
│
|
|
136
|
+
├── .env # Environment variables
|
|
137
|
+
└── index.ts # Server entrypoint
|
|
138
|
+
```
|
|
139
|
+
|
|
28
140
|
## Environment (example)
|
|
29
141
|
|
|
30
142
|
```ruby
|
|
@@ -76,6 +188,37 @@ yarn test -t 'Logging'
|
|
|
76
188
|
|
|
77
189
|
Refer to jest for more options.
|
|
78
190
|
|
|
191
|
+
## Configuration Reference
|
|
192
|
+
|
|
193
|
+
### Environment Variables
|
|
194
|
+
|
|
195
|
+
The framework is configured via `.env` variables. Below is a comprehensive list:
|
|
196
|
+
|
|
197
|
+
| Variable | Description | Required | Default |
|
|
198
|
+
| ------------------------ | ----------------------------------------------------------------------- | :------: | ------------------- |
|
|
199
|
+
| `NODE_ENV` | The application environment. | No | `development` |
|
|
200
|
+
| `HOST` | The host address for the server to listen on. Use `0.0.0.0` for Docker. | No | `0.0.0.0` |
|
|
201
|
+
| `PORT` | The port for the server to listen on. | No | `2230` |
|
|
202
|
+
| `JWT_SECRET` | Secret key for signing JWTs. | **Yes** | |
|
|
203
|
+
| `JWT_EXPIRES_IN` | Expiration time for JWTs (e.g., `5d`, `12h`). | No | `5d` |
|
|
204
|
+
| `JWT_REFRESH` | Enable refresh tokens. | No | `true` |
|
|
205
|
+
| `JWT_REFRESH_SECRET` | Secret key for signing refresh tokens. | **Yes**¹ | |
|
|
206
|
+
| `JWT_REFRESH_EXPIRES_IN` | Expiration time for refresh tokens. | No | `180d` |
|
|
207
|
+
| `LOG_LEVEL` | Logging verbosity (`trace`, `debug`, `info`, `warn`, `error`, `fatal`). | No | `info` |
|
|
208
|
+
| `LOG_COLORIZE` | Enable colorized log output. | No | `true` |
|
|
209
|
+
| `LOG_TIMESTAMP` | Enable timestamps in logs. | No | `true` |
|
|
210
|
+
| `LOG_TIMESTAMP_READABLE` | Use a human-readable timestamp format. | No | `true` |
|
|
211
|
+
| `LOG_FASTIFY` | Enable Fastify's built-in logger. | No | `false` |
|
|
212
|
+
| `GRAPHQL` | Enable the Apollo Server for GraphQL. | No | `false` |
|
|
213
|
+
| `SWAGGER` | Enable Swagger/OpenAPI documentation. | No | `true` |
|
|
214
|
+
| `SWAGGER_HOST` | The base URL for the API, used in Swagger docs. | No | `localhost:2230` |
|
|
215
|
+
| `SWAGGER_TITLE` | The title of the API documentation. | No | `API Documentation` |
|
|
216
|
+
| `SWAGGER_DESCRIPTION` | The description for the API documentation. | No | |
|
|
217
|
+
| `SWAGGER_VERSION` | The version of the API. | No | `0.1.0` |
|
|
218
|
+
| `SWAGGER_PREFIX_URL` | The path where Swagger UI is available. | No | `/api-docs` |
|
|
219
|
+
|
|
220
|
+
¹ Required if `JWT_REFRESH` is enabled.
|
|
221
|
+
|
|
79
222
|
## Logging levels
|
|
80
223
|
|
|
81
224
|
In the .env file you can change log settings in this way:
|
|
@@ -217,8 +360,14 @@ import multipart from '@fastify/multipart'
|
|
|
217
360
|
import rawBody from 'fastify-raw-body'
|
|
218
361
|
```
|
|
219
362
|
|
|
363
|
+
## Core Concepts: Routes and Controllers
|
|
364
|
+
|
|
365
|
+
The routing system is one of the core strengths of the framework. It's file-system based, meaning the framework automatically discovers and registers any `routes.ts` file within the `src/api/` directory.
|
|
366
|
+
|
|
220
367
|
## Routes
|
|
221
368
|
|
|
369
|
+
At its simplest, a route needs only a `method`, `path`, and `handler`. The handler is a string that points to a function in a controller file.
|
|
370
|
+
|
|
222
371
|
Minimal setup (routes.ts):
|
|
223
372
|
|
|
224
373
|
```ts
|
|
@@ -268,11 +417,11 @@ module.exports = {
|
|
|
268
417
|
version: false, // swagger
|
|
269
418
|
response: {
|
|
270
419
|
200: {
|
|
271
|
-
description: 'Successful response',
|
|
420
|
+
$description: 'Successful response',
|
|
272
421
|
type: 'object',
|
|
273
422
|
properties: {
|
|
274
423
|
id: { type: 'number' }
|
|
275
|
-
}
|
|
424
|
+
}$
|
|
276
425
|
}
|
|
277
426
|
} // swagger
|
|
278
427
|
}
|
|
@@ -281,8 +430,57 @@ module.exports = {
|
|
|
281
430
|
}
|
|
282
431
|
```
|
|
283
432
|
|
|
433
|
+
**Securing a Route with Roles:**
|
|
434
|
+
You can easily protect routes using Role-Based Access Control (RBAC). The framework includes built-in roles (`public`, `admin`) and allows you to define your own.
|
|
435
|
+
|
|
436
|
+
```typescript
|
|
437
|
+
{
|
|
438
|
+
method: 'POST',
|
|
439
|
+
path: '/',
|
|
440
|
+
handler: 'product.create',
|
|
441
|
+
roles: [roles.admin] // Only users with the 'admin' role can access this
|
|
442
|
+
}
|
|
443
|
+
```
|
|
444
|
+
|
|
445
|
+
**Adding Middleware:**
|
|
446
|
+
Apply custom logic before your controller is executed using middleware. The framework comes with `global.isAuthenticated` to ensure a user is logged in.
|
|
447
|
+
|
|
448
|
+
```typescript
|
|
449
|
+
{
|
|
450
|
+
method: 'GET',
|
|
451
|
+
path: '/:id',
|
|
452
|
+
handler: 'product.findOne',
|
|
453
|
+
middlewares: ['global.isAuthenticated'] // Requires a valid JWT, accessible to any role
|
|
454
|
+
}
|
|
455
|
+
```
|
|
456
|
+
|
|
457
|
+
**Documenting with Swagger (`config`):**
|
|
458
|
+
The `config` object allows you to enrich your route with information for the automatically generated Swagger/OpenAPI documentation.
|
|
459
|
+
|
|
460
|
+
```typescript
|
|
461
|
+
{
|
|
462
|
+
method: 'GET',
|
|
463
|
+
path: '/:id',
|
|
464
|
+
handler: 'product.findOne',
|
|
465
|
+
middlewares: ['global.isAuthenticated'],
|
|
466
|
+
config: {
|
|
467
|
+
title: 'Find a Product',
|
|
468
|
+
description: 'Retrieves a single product by its unique ID.',
|
|
469
|
+
params: { $ref: 'onlyIdSchema#' }, // References a JSON schema for validation
|
|
470
|
+
response: {
|
|
471
|
+
200: {
|
|
472
|
+
description: 'Successful response',
|
|
473
|
+
$ref: 'productSchema#'
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
}
|
|
477
|
+
}
|
|
478
|
+
```
|
|
479
|
+
|
|
284
480
|
## Controllers
|
|
285
481
|
|
|
482
|
+
Controllers contain the functions that handle requests. The `req` object is enriched with helpers to simplify data access.
|
|
483
|
+
|
|
286
484
|
```ts
|
|
287
485
|
// src/api/example/controller/demo.ts
|
|
288
486
|
import { FastifyReply, FastifyRequest } from '@volcanicminds/backend'
|
|
@@ -300,6 +498,57 @@ Useful methods / objects:
|
|
|
300
498
|
- `req.roles()` to grab **Roles** (as `string[]`) from `req.user` if compiled.
|
|
301
499
|
- `req.hasRole(role:Role)` to check if the **Role** is appliable for `req.user`.
|
|
302
500
|
|
|
501
|
+
### Advanced Data Access with `req.data()` and `@volcanicminds/typeorm`
|
|
502
|
+
|
|
503
|
+
The real power is unlocked when combining `req.data()` with `@volcanicminds/typeorm`.
|
|
504
|
+
|
|
505
|
+
```typescript
|
|
506
|
+
// src/api/products/controller/product.ts
|
|
507
|
+
import { FastifyReply, FastifyRequest } from '@volcanicminds/backend'
|
|
508
|
+
import { executeFindQuery } from '@volcanicminds/typeorm'
|
|
509
|
+
|
|
510
|
+
// The 'repository' global is populated by @volcanicminds/typeorm
|
|
511
|
+
declare var repository: any
|
|
512
|
+
|
|
513
|
+
export async function find(req: FastifyRequest, reply: FastifyReply) {
|
|
514
|
+
// req.data() automatically gets all query string (or body!) parameters
|
|
515
|
+
// executeFindQuery translates them into a full TypeORM query with pagination, sorting, and filtering
|
|
516
|
+
const { headers, records } = await executeFindQuery(
|
|
517
|
+
repository.products, // The TypeORM repository for the 'Product' entity
|
|
518
|
+
{ category: true }, // Eagerly load the 'category' relation
|
|
519
|
+
req.data()
|
|
520
|
+
)
|
|
521
|
+
|
|
522
|
+
// The 'headers' object contains pagination metadata (v-total, v-pageCount, etc.)
|
|
523
|
+
return reply.headers(headers).send(records)
|
|
524
|
+
}
|
|
525
|
+
```
|
|
526
|
+
|
|
527
|
+
This single controller function can handle a wide variety of requests without any additional code, such as:
|
|
528
|
+
|
|
529
|
+
- `GET /products?pageSize=10`
|
|
530
|
+
- `GET /products?sort=price:desc`
|
|
531
|
+
- `GET /products?name:containsi=widget&category.name:eq=Tools`
|
|
532
|
+
|
|
533
|
+
**Database Synergy with `@volcanicminds/typeorm`**
|
|
534
|
+
|
|
535
|
+
While `volcanic-backend` can be used with any data layer, it is designed for seamless integration with its companion package, `@volcanicminds/typeorm`. This combination provides a powerful, query-string-driven API out-of-the-box.
|
|
536
|
+
|
|
537
|
+
**How it Works:**
|
|
538
|
+
|
|
539
|
+
1. **Client Request**: A client sends a request with query parameters for filtering, sorting, and pagination.
|
|
540
|
+
`GET /api/products?page=1&sort=name:asc&price:gt=100`
|
|
541
|
+
|
|
542
|
+
2. **`volcanic-backend` Controller**: The controller uses the `req.data()` helper to grab all query parameters.
|
|
543
|
+
|
|
544
|
+
3. **`volcanic-typeorm` Translation**: The `executeFindQuery` function from `@volcanicminds/typeorm` receives these parameters and uses its internal `applyQuery` engine to translate them into a rich TypeORM query object, including `where`, `order`, `skip`, and `take` clauses. It automatically handles the syntax for different databases (e.g., `ILIKE` for PostgreSQL, `$regex` for MongoDB).
|
|
545
|
+
|
|
546
|
+
4. **Database Execution**: TypeORM executes the optimized query against the database.
|
|
547
|
+
|
|
548
|
+
5. **Response with Headers**: `executeFindQuery` returns the records and a set of custom pagination headers (`v-total`, `v-pageCount`, etc.), which the controller then sends back to the client.
|
|
549
|
+
|
|
550
|
+
This powerful synergy allows you to build complex, high-performance data endpoints with minimal effort. Please refer to the `@volcanicminds/typeorm` `README.md` for a complete guide on its advanced query syntax.
|
|
551
|
+
|
|
303
552
|
## Roles
|
|
304
553
|
|
|
305
554
|
By default, there are some basic roles:
|
package/combine.js
ADDED
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
const fs = require('fs')
|
|
2
|
+
const path = require('path')
|
|
3
|
+
|
|
4
|
+
const MAIN_DIRECTORY = './'
|
|
5
|
+
const INCLUDE_FILES = ['package.json', 'tsconfig.json', 'README.md', '.nvmrc', 'index.ts', 'index.d.ts']
|
|
6
|
+
const SUB_DIRECTORIES = ['lib', 'types']
|
|
7
|
+
const OUTPUT_FILE = 'OUTPUT.md'
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* Recursively collects .js and .ts files from a given directory.
|
|
11
|
+
*
|
|
12
|
+
* @param {string} directory - _The directory to scan recursively._
|
|
13
|
+
* @returns {Array<{ relativePath: string }>} - _List of file objects with relative paths._
|
|
14
|
+
*/
|
|
15
|
+
const getFilesFromDirectory = (directory) => {
|
|
16
|
+
let filesList = []
|
|
17
|
+
const items = fs.readdirSync(directory)
|
|
18
|
+
|
|
19
|
+
items.forEach((item) => {
|
|
20
|
+
const itemPath = path.join(directory, item)
|
|
21
|
+
const stats = fs.statSync(itemPath)
|
|
22
|
+
|
|
23
|
+
if (stats.isDirectory()) {
|
|
24
|
+
filesList = filesList.concat(getFilesFromDirectory(itemPath))
|
|
25
|
+
} else if (
|
|
26
|
+
item.endsWith('.html') ||
|
|
27
|
+
item.endsWith('.vue') ||
|
|
28
|
+
item.endsWith('.css') ||
|
|
29
|
+
item.endsWith('.json') ||
|
|
30
|
+
item.endsWith('.js') ||
|
|
31
|
+
item.endsWith('.ts') ||
|
|
32
|
+
item.endsWith('.md')
|
|
33
|
+
) {
|
|
34
|
+
filesList.push({ relativePath: path.relative(MAIN_DIRECTORY, itemPath) })
|
|
35
|
+
}
|
|
36
|
+
})
|
|
37
|
+
|
|
38
|
+
return filesList
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Retrieves files from the specified subdirectories.
|
|
43
|
+
*
|
|
44
|
+
* @returns {Object} - _Object containing individual subdirectory files and a combined list._
|
|
45
|
+
*/
|
|
46
|
+
const getFilesFromSubDirectories = () => {
|
|
47
|
+
const subDirectoryFiles = {}
|
|
48
|
+
let combinedFiles = []
|
|
49
|
+
|
|
50
|
+
SUB_DIRECTORIES.forEach((dir) => {
|
|
51
|
+
const files = getFilesFromDirectory(dir)
|
|
52
|
+
subDirectoryFiles[dir] = files
|
|
53
|
+
combinedFiles = combinedFiles.concat(files)
|
|
54
|
+
})
|
|
55
|
+
|
|
56
|
+
return { subDirectoryFiles, combinedFiles }
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
async function generateMarkdown() {
|
|
60
|
+
const rootFiles = fs
|
|
61
|
+
.readdirSync(MAIN_DIRECTORY)
|
|
62
|
+
.filter(
|
|
63
|
+
(file) =>
|
|
64
|
+
file.endsWith('.html') ||
|
|
65
|
+
(file.endsWith('.ts') && file !== 'combine.ts') ||
|
|
66
|
+
(file.endsWith('.js') && file !== 'combine.js') ||
|
|
67
|
+
INCLUDE_FILES.includes(file)
|
|
68
|
+
)
|
|
69
|
+
.map((file) => ({ relativePath: file }))
|
|
70
|
+
|
|
71
|
+
const { subDirectoryFiles, combinedFiles } = getFilesFromSubDirectories()
|
|
72
|
+
const allFiles = [...rootFiles, ...combinedFiles]
|
|
73
|
+
const currentISOString = new Date().toISOString()
|
|
74
|
+
|
|
75
|
+
const markdownLines = []
|
|
76
|
+
markdownLines.push('# Full Project - Updated At ' + currentISOString, '')
|
|
77
|
+
markdownLines.push('Below are all the files, materials and documentation of the project to analyze.', '')
|
|
78
|
+
markdownLines.push('```bash')
|
|
79
|
+
markdownLines.push('./')
|
|
80
|
+
|
|
81
|
+
rootFiles.forEach((file) => {
|
|
82
|
+
markdownLines.push(`├── ${file.relativePath}`)
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
if (SUB_DIRECTORIES.length > 0) {
|
|
86
|
+
SUB_DIRECTORIES.forEach((dir) => {
|
|
87
|
+
markdownLines.push(`├── ${dir}`)
|
|
88
|
+
|
|
89
|
+
const sortedSubFiles = subDirectoryFiles[dir].sort((a, b) => a.relativePath.localeCompare(b.relativePath))
|
|
90
|
+
sortedSubFiles.forEach((file) => {
|
|
91
|
+
const displayPath = file.relativePath.replace(new RegExp(`^(${SUB_DIRECTORIES.join('|')})[\\\\/]`), '')
|
|
92
|
+
markdownLines.push(` ├── ${displayPath}`)
|
|
93
|
+
})
|
|
94
|
+
})
|
|
95
|
+
}
|
|
96
|
+
markdownLines.push('```', '')
|
|
97
|
+
|
|
98
|
+
markdownLines.push('## Source Files Index', '')
|
|
99
|
+
allFiles.forEach((file) => {
|
|
100
|
+
const filePath = file.relativePath
|
|
101
|
+
|
|
102
|
+
const slug = filePath.replace(/[\/.]/g, '-')
|
|
103
|
+
markdownLines.push(`- [${filePath}](#file-${slug})`)
|
|
104
|
+
})
|
|
105
|
+
markdownLines.push('')
|
|
106
|
+
|
|
107
|
+
for (const file of allFiles) {
|
|
108
|
+
const filePath = file.relativePath
|
|
109
|
+
const fullPath = path.join(MAIN_DIRECTORY, filePath)
|
|
110
|
+
|
|
111
|
+
const language = filePath.endsWith('.md') ? 'markdown' : filePath.endsWith('.ts') ? 'typescript' : 'javascript'
|
|
112
|
+
|
|
113
|
+
const fileContent = fs.readFileSync(fullPath, 'utf-8')
|
|
114
|
+
markdownLines.push(`## File: ${filePath}`, '')
|
|
115
|
+
markdownLines.push('```' + language)
|
|
116
|
+
markdownLines.push(fileContent)
|
|
117
|
+
markdownLines.push('```', '')
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
fs.writeFileSync(OUTPUT_FILE, markdownLines.join('\n'))
|
|
121
|
+
console.log(`Markdown file generated: ${OUTPUT_FILE}`)
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
generateMarkdown()
|
package/dist/index.js
CHANGED
|
@@ -143,7 +143,7 @@ function addFastifySwagger(server) {
|
|
|
143
143
|
}
|
|
144
144
|
});
|
|
145
145
|
yield server.register(swagger_ui_1.default, {
|
|
146
|
-
routePrefix: SWAGGER_PREFIX_URL || '/
|
|
146
|
+
routePrefix: SWAGGER_PREFIX_URL || '/api-docs',
|
|
147
147
|
uiConfig: {
|
|
148
148
|
docExpansion: 'list',
|
|
149
149
|
deepLinking: true,
|
|
@@ -348,7 +348,7 @@ const start = (decorators) => __awaiter(void 0, void 0, void 0, function* () {
|
|
|
348
348
|
log.info(`All stuff loaded in ${elapsed} sec`);
|
|
349
349
|
log.info(`Server ready 🚀 at ${address}`);
|
|
350
350
|
const loadSwagger = (0, yn_1.default)(process.env.SWAGGER, false);
|
|
351
|
-
loadSwagger && log.info(`Swagger ready ✨ at ${address}${process.env.SWAGGER_PREFIX_URL || '/
|
|
351
|
+
loadSwagger && log.info(`Swagger ready ✨ at ${address}${process.env.SWAGGER_PREFIX_URL || '/api-docs'}`);
|
|
352
352
|
});
|
|
353
353
|
global.server = server;
|
|
354
354
|
yield loaderSchedules.start(server, schedules);
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volcanicminds/backend",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"codename": "turin",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "The volcanic (minds) backend",
|
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
"test:full": "cross-env PORT=2231 NODE_ENV=memory BROWSER=false mocha ./test/index.spec.ts -t 100000",
|
|
49
49
|
"reset": "yarn && yarn up && yarn compile",
|
|
50
50
|
"upgrade-deps": "yarn upgrade-interactive",
|
|
51
|
-
"upgrade-pkg": "yarn npm-upgrade"
|
|
51
|
+
"upgrade-pkg": "yarn npm-upgrade",
|
|
52
|
+
"combine": "node combine.js"
|
|
52
53
|
},
|
|
53
54
|
"dependencies": {
|
|
54
55
|
"@apollo/server": "^4.11.0",
|
package/index.ts
CHANGED
|
@@ -124,7 +124,7 @@ async function addFastifySwagger(server: FastifyInstance) {
|
|
|
124
124
|
})
|
|
125
125
|
|
|
126
126
|
await server.register(swaggerUI, {
|
|
127
|
-
routePrefix: SWAGGER_PREFIX_URL || '/
|
|
127
|
+
routePrefix: SWAGGER_PREFIX_URL || '/api-docs',
|
|
128
128
|
uiConfig: {
|
|
129
129
|
docExpansion: 'list',
|
|
130
130
|
deepLinking: true,
|
|
@@ -363,7 +363,7 @@ const start = async (decorators) => {
|
|
|
363
363
|
log.info(`Server ready 🚀 at ${address}`)
|
|
364
364
|
|
|
365
365
|
const loadSwagger = yn(process.env.SWAGGER, false)
|
|
366
|
-
loadSwagger && log.info(`Swagger ready ✨ at ${address}${process.env.SWAGGER_PREFIX_URL || '/
|
|
366
|
+
loadSwagger && log.info(`Swagger ready ✨ at ${address}${process.env.SWAGGER_PREFIX_URL || '/api-docs'}`)
|
|
367
367
|
})
|
|
368
368
|
|
|
369
369
|
global.server = server
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@volcanicminds/backend",
|
|
3
|
-
"version": "0.9.
|
|
3
|
+
"version": "0.9.4",
|
|
4
4
|
"codename": "turin",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"description": "The volcanic (minds) backend",
|
|
@@ -48,7 +48,8 @@
|
|
|
48
48
|
"test:full": "cross-env PORT=2231 NODE_ENV=memory BROWSER=false mocha ./test/index.spec.ts -t 100000",
|
|
49
49
|
"reset": "yarn && yarn up && yarn compile",
|
|
50
50
|
"upgrade-deps": "yarn upgrade-interactive",
|
|
51
|
-
"upgrade-pkg": "yarn npm-upgrade"
|
|
51
|
+
"upgrade-pkg": "yarn npm-upgrade",
|
|
52
|
+
"combine": "node combine.js"
|
|
52
53
|
},
|
|
53
54
|
"dependencies": {
|
|
54
55
|
"@apollo/server": "^4.11.0",
|