@platformatic/basic 3.12.0 → 3.13.1

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/lib/capability.js CHANGED
@@ -69,7 +69,7 @@ export class BaseCapability extends EventEmitter {
69
69
  this.standardStreams = standardStreams
70
70
 
71
71
  this.applicationId = this.context.applicationId
72
- this.workerId = this.context.worker.count > 1 ? this.context.worker.index : undefined
72
+ this.workerId = this.context.worker.index
73
73
  this.telemetryConfig = this.context.telemetryConfig
74
74
  this.serverConfig = deepmerge(this.context.serverConfig ?? {}, config.server ?? {})
75
75
  this.openapiSchema = null
@@ -135,9 +135,15 @@ export class BaseCapability extends EventEmitter {
135
135
  }
136
136
 
137
137
  await this.updateContext()
138
+ this.updateStatus('init')
138
139
  this.status = 'init'
139
140
  }
140
141
 
142
+ updateStatus (status) {
143
+ this.status = status
144
+ this.emit(status)
145
+ }
146
+
141
147
  updateContext (_context) {
142
148
  // No-op by default
143
149
  }
@@ -150,8 +156,6 @@ export class BaseCapability extends EventEmitter {
150
156
  if (this.#pendingDependenciesWaits.size > 0) {
151
157
  await Promise.allSettled(this.#pendingDependenciesWaits)
152
158
  }
153
-
154
- this.status = 'stopped'
155
159
  }
156
160
 
157
161
  build () {
@@ -1,5 +1,6 @@
1
1
  import { createDirectory, ensureLoggableError } from '@platformatic/foundation'
2
2
  import { ITC } from '@platformatic/itc/lib/index.js'
3
+ import { randomBytes } from 'node:crypto'
3
4
  import { once } from 'node:events'
4
5
  import { rm, writeFile } from 'node:fs/promises'
5
6
  import { createServer } from 'node:http'
@@ -17,7 +18,7 @@ export const isWindows = platform() === 'win32'
17
18
  // In theory we could use the context.id to namespace even more, but due to
18
19
  // UNIX socket length limitation on MacOS, we don't.
19
20
  export function generateChildrenId (context) {
20
- return [process.pid, Date.now()].join('-')
21
+ return [process.pid, randomBytes(4).toString('hex')].join('-')
21
22
  }
22
23
 
23
24
  export function getSocketPath (id) {
@@ -327,7 +327,7 @@ export class ChildProcess extends ITC {
327
327
  pinoOptions.timestamp = buildPinoTimestamp(loggerOptions.timestamp)
328
328
  }
329
329
 
330
- if (loggerOptions.base !== null && typeof globalThis.platformatic.workerId !== 'undefined') {
330
+ if (loggerOptions.base !== null) {
331
331
  pinoOptions.base = {
332
332
  ...(pinoOptions.base ?? {}),
333
333
  pid: process.pid,
@@ -401,10 +401,7 @@ export class ChildProcess extends ITC {
401
401
  }
402
402
 
403
403
  #setupHandlers () {
404
- const errorLabel =
405
- typeof globalThis.platformatic.workerId !== 'undefined'
406
- ? `worker ${globalThis.platformatic.workerId} of the application "${globalThis.platformatic.applicationId}"`
407
- : `application "${globalThis.platformatic.applicationId}"`
404
+ const errorLabel = `worker ${globalThis.platformatic.workerId} of the application "${globalThis.platformatic.applicationId}"`
408
405
 
409
406
  function handleUnhandled (type, err) {
410
407
  this.#logger.error({ err: ensureLoggableError(err) }, `Child process for the ${errorLabel} threw an ${type}.`)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platformatic/basic",
3
- "version": "3.12.0",
3
+ "version": "3.13.1",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -25,10 +25,10 @@
25
25
  "split2": "^4.2.0",
26
26
  "undici": "^7.0.0",
27
27
  "ws": "^8.18.0",
28
- "@platformatic/foundation": "3.12.0",
29
- "@platformatic/itc": "3.12.0",
30
- "@platformatic/metrics": "3.12.0",
31
- "@platformatic/telemetry": "3.12.0"
28
+ "@platformatic/foundation": "3.13.1",
29
+ "@platformatic/metrics": "3.13.1",
30
+ "@platformatic/itc": "3.13.1",
31
+ "@platformatic/telemetry": "3.13.1"
32
32
  },
33
33
  "devDependencies": {
34
34
  "cleaner-spec-reporter": "^0.5.0",
package/schema.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://schemas.platformatic.dev/@platformatic/basic/3.12.0.json",
2
+ "$id": "https://schemas.platformatic.dev/@platformatic/basic/3.13.1.json",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "title": "Platformatic Basic Config",
5
5
  "type": "object",