@ditojs/server 1.8.1 → 1.9.0

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ditojs/server",
3
- "version": "1.8.1",
3
+ "version": "1.9.0",
4
4
  "type": "module",
5
5
  "description": "Dito.js Server – Dito.js is a declarative and modern web framework, based on Objection.js, Koa.js and Vue.js",
6
6
  "repository": "https://github.com/ditojs/dito/tree/master/packages/server",
@@ -21,22 +21,22 @@
21
21
  "node >= 16"
22
22
  ],
23
23
  "dependencies": {
24
- "@ditojs/admin": "^1.8.0",
24
+ "@ditojs/admin": "^1.9.0",
25
25
  "@ditojs/build": "^1.8.0",
26
- "@ditojs/router": "^1.8.0",
27
- "@ditojs/utils": "^1.8.0",
26
+ "@ditojs/router": "^1.9.0",
27
+ "@ditojs/utils": "^1.9.0",
28
28
  "@koa/cors": "^3.3.0",
29
29
  "@koa/multer": "^3.0.0",
30
30
  "@originjs/vite-plugin-commonjs": "^1.0.3",
31
31
  "ajv": "^8.11.0",
32
32
  "ajv-formats": "^2.1.1",
33
- "aws-sdk": "^2.1141.0",
33
+ "aws-sdk": "^2.1171.0",
34
34
  "axios": "^0.27.2",
35
35
  "bcryptjs": "^2.4.3",
36
36
  "bytes": "^3.1.2",
37
37
  "data-uri-to-buffer": "^4.0.0",
38
- "eventemitter2": "^6.4.5",
39
- "file-type": "^17.1.1",
38
+ "eventemitter2": "^6.4.6",
39
+ "file-type": "^17.1.2",
40
40
  "fs-extra": "^10.1.0",
41
41
  "image-size": "^1.0.1",
42
42
  "is-svg": "^4.3.2",
@@ -53,31 +53,31 @@
53
53
  "koa-session": "^6.2.0",
54
54
  "koa-static": "^5.0.0",
55
55
  "mime-types": "^2.1.35",
56
- "multer": "^1.4.4",
56
+ "multer": "^1.4.5-lts.1",
57
57
  "multer-s3": "^2.10.0",
58
- "nanoid": "^3.3.4",
58
+ "nanoid": "^4.0.0",
59
59
  "parse-duration": "^1.0.2",
60
60
  "passport-local": "^1.0.0",
61
61
  "passthrough-counter": "^1.0.0",
62
62
  "picocolors": "^1.0.0",
63
63
  "picomatch": "^2.3.1",
64
- "pino": "^7.11.0",
65
- "pino-pretty": "^7.6.1",
64
+ "pino": "^8.1.0",
65
+ "pino-pretty": "^8.1.0",
66
66
  "pluralize": "^8.0.0",
67
67
  "repl": "^0.1.3",
68
68
  "uuid": "^8.3.2",
69
- "vite": "^2.9.9",
69
+ "vite": "^2.9.14",
70
70
  "vite-plugin-vue2": "^2.0.1",
71
- "vue": "^2.6.14",
72
- "vue-template-compiler": "^2.6.14"
71
+ "vue": "^2.7.4",
72
+ "vue-template-compiler": "^2.7.4"
73
73
  },
74
74
  "peerDependencies": {
75
75
  "knex": "^1.0.5",
76
76
  "objection": "^3.0.1"
77
77
  },
78
78
  "devDependencies": {
79
- "knex": "^2.0.0",
79
+ "knex": "^2.1.0",
80
80
  "objection": "^3.0.1"
81
81
  },
82
- "gitHead": "390e0a7e0782b3cb5cff5e5d0454a35c7a954df5"
82
+ "gitHead": "034973580c50fc7d8bb4ad07ec4c91782eb329a5"
83
83
  }
@@ -15,7 +15,7 @@ import { merge } from '@ditojs/utils'
15
15
  import { Controller } from './Controller.js'
16
16
  import { handleConnectMiddleware } from '../middleware/index.js'
17
17
  import { ControllerError } from '../errors/index.js'
18
- import { formatJson, deprecate } from '../utils/index.js'
18
+ import { formatJson, getRandomFreePort, deprecate } from '../utils/index.js'
19
19
 
20
20
  export class AdminController extends Controller {
21
21
  // @override
@@ -131,6 +131,11 @@ export class AdminController extends Controller {
131
131
  ...config,
132
132
  server: {
133
133
  middlewareMode: 'html',
134
+ hmr: {
135
+ // Use a random free port instead of vite's default 24678, since we
136
+ // may be running multiple servers in parallel (e.g. e2e and dev).
137
+ port: await getRandomFreePort()
138
+ },
134
139
  watch: {
135
140
  // Watch the @ditojs packages while in dev mode, although they are
136
141
  // inside the node_modules folder.
@@ -4,5 +4,6 @@ export * from './emitter.js'
4
4
  export * from './function.js'
5
5
  export * from './handler.js'
6
6
  export * from './json.js'
7
+ export * from './net.js'
7
8
  export * from './object.js'
8
9
  export * from './scope.js'
@@ -0,0 +1,17 @@
1
+ import net from 'net'
2
+
3
+ export async function getRandomFreePort() {
4
+ return new Promise((resolve, reject) => {
5
+ const srv = net.createServer()
6
+ srv.listen(0, () => {
7
+ const port = srv.address().port
8
+ srv.close(err => {
9
+ if (err) {
10
+ reject(err)
11
+ } else {
12
+ resolve(port)
13
+ }
14
+ })
15
+ })
16
+ })
17
+ }