@platformatic/runtime 2.0.1 → 2.1.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.
Files changed (256) hide show
  1. package/config.d.ts +1 -1
  2. package/index.d.ts +1 -0
  3. package/lib/config.js +37 -1
  4. package/lib/errors.js +1 -0
  5. package/lib/schema.js +1 -5
  6. package/lib/versions/v2.0.0.js +2 -0
  7. package/lib/worker/app.js +1 -2
  8. package/package.json +13 -13
  9. package/schema.json +4 -7
  10. package/fixtures/botched-start/platformatic.runtime.json +0 -14
  11. package/fixtures/botched-start/services/a/platformatic.service.json +0 -14
  12. package/fixtures/botched-start/services/a/plugin.js +0 -11
  13. package/fixtures/composerApp/api1.json +0 -65
  14. package/fixtures/composerApp/platformatic.composer.json +0 -23
  15. package/fixtures/configs/invalid-entrypoint.json +0 -14
  16. package/fixtures/configs/invalid-schema-type.config.json +0 -19
  17. package/fixtures/configs/invalid-web-with-services.json +0 -36
  18. package/fixtures/configs/missing-property.config.json +0 -13
  19. package/fixtures/configs/missing-service-config.json +0 -7
  20. package/fixtures/configs/monorepo-composer-no-autoload.json +0 -32
  21. package/fixtures/configs/monorepo-composer.json +0 -19
  22. package/fixtures/configs/monorepo-create-cycle.json +0 -20
  23. package/fixtures/configs/monorepo-missing-dependencies.json +0 -9
  24. package/fixtures/configs/monorepo-no-cycles.json +0 -19
  25. package/fixtures/configs/monorepo-openapi.json +0 -12
  26. package/fixtures/configs/monorepo-watch-env.json +0 -19
  27. package/fixtures/configs/monorepo-watch-single.json +0 -12
  28. package/fixtures/configs/monorepo-watch.json +0 -27
  29. package/fixtures/configs/monorepo-with-dependencies.json +0 -8
  30. package/fixtures/configs/monorepo-with-management-api-without-metrics.json +0 -21
  31. package/fixtures/configs/monorepo-with-management-api.json +0 -20
  32. package/fixtures/configs/monorepo-with-metrics.json +0 -32
  33. package/fixtures/configs/monorepo.json +0 -27
  34. package/fixtures/configs/no-schema.config.json +0 -18
  35. package/fixtures/configs/no-services.config.json +0 -5
  36. package/fixtures/configs/no-sources.config.json +0 -4
  37. package/fixtures/configs/service-throws-on-start.json +0 -11
  38. package/fixtures/configs/service-with-env-port.json +0 -32
  39. package/fixtures/configs/service-with-stdio.json +0 -12
  40. package/fixtures/configs/watch.json +0 -19
  41. package/fixtures/crash-on-bootstrap/platformatic.runtime.json +0 -15
  42. package/fixtures/crash-on-bootstrap/services/service-1/platformatic.service.json +0 -14
  43. package/fixtures/crash-on-bootstrap/services/service-1/plugin.js +0 -5
  44. package/fixtures/crash-on-bootstrap/services/service-2/platformatic.service.json +0 -14
  45. package/fixtures/crash-on-bootstrap/services/service-2/plugin.js +0 -5
  46. package/fixtures/dbApp/package.json +0 -5
  47. package/fixtures/dbApp/platformatic.db.json +0 -28
  48. package/fixtures/dbApp/plugin.js +0 -12
  49. package/fixtures/dbAppNoName/package.json +0 -4
  50. package/fixtures/dbAppNoName/platformatic.db.json +0 -27
  51. package/fixtures/dbAppNoName/plugin.js +0 -12
  52. package/fixtures/dbAppNoPackageJson/platformatic.db.json +0 -27
  53. package/fixtures/dbAppNoPackageJson/plugin.js +0 -12
  54. package/fixtures/dbAppWithMigrationError/migrations/001.do.sql +0 -4
  55. package/fixtures/dbAppWithMigrationError/migrations/001.undo.sql +0 -1
  56. package/fixtures/dbAppWithMigrationError/package.json +0 -5
  57. package/fixtures/dbAppWithMigrationError/platformatic.db.json +0 -28
  58. package/fixtures/dbAppWithMigrationError/plugin.js +0 -5
  59. package/fixtures/do-not-reload-dependencies/node_modules/foo/foo.js +0 -2
  60. package/fixtures/do-not-reload-dependencies/node_modules/foo/package.json +0 -3
  61. package/fixtures/do-not-reload-dependencies/node_modules/foom/foom.js +0 -1
  62. package/fixtures/do-not-reload-dependencies/node_modules/foom/package.json +0 -4
  63. package/fixtures/do-not-reload-dependencies/platformatic.service.json +0 -18
  64. package/fixtures/do-not-reload-dependencies/plugin.js +0 -14
  65. package/fixtures/do-not-restart-on-crash/platformatic.runtime.json +0 -15
  66. package/fixtures/do-not-restart-on-crash/services/a/platformatic.service.json +0 -16
  67. package/fixtures/do-not-restart-on-crash/services/a/plugin.js +0 -9
  68. package/fixtures/empty/hello.js +0 -7
  69. package/fixtures/express/platformatic.runtime.json +0 -21
  70. package/fixtures/express/services/a/platformatic.service.json +0 -14
  71. package/fixtures/express/services/a/plugin.js +0 -26
  72. package/fixtures/express/services/b/platformatic.service.json +0 -14
  73. package/fixtures/express/services/b/plugin.js +0 -19
  74. package/fixtures/external-client/openmeter.json +0 -420
  75. package/fixtures/external-client/platformatic.service.json +0 -13
  76. package/fixtures/interceptors/external.js +0 -27
  77. package/fixtures/interceptors/idp.js +0 -48
  78. package/fixtures/interceptors/platformatic.runtime.json +0 -27
  79. package/fixtures/interceptors/services/a/platformatic.service.json +0 -17
  80. package/fixtures/interceptors/services/a/plugin.js +0 -15
  81. package/fixtures/interceptors-2/platformatic.runtime.json +0 -25
  82. package/fixtures/interceptors-2/services/a/platformatic.service.json +0 -17
  83. package/fixtures/interceptors-2/services/a/plugin.js +0 -15
  84. package/fixtures/leven/.env.sample +0 -4
  85. package/fixtures/leven/platformatic.runtime.json +0 -11
  86. package/fixtures/leven/services/deeply-spittle/platformatic.service.json +0 -25
  87. package/fixtures/leven/services/deeply-spittle/plugins/example.js +0 -6
  88. package/fixtures/leven/services/deeply-spittle/routes/root.js +0 -8
  89. package/fixtures/leven/services/rainy-empire/platformatic.composer.json +0 -21
  90. package/fixtures/management-api/package.json +0 -4
  91. package/fixtures/management-api/platformatic.json +0 -22
  92. package/fixtures/management-api/services/service-1/platformatic.json +0 -15
  93. package/fixtures/management-api/services/service-1/plugin.js +0 -16
  94. package/fixtures/management-api/services/service-2/platformatic.json +0 -9
  95. package/fixtures/management-api/services/service-2/plugin.js +0 -8
  96. package/fixtures/management-api/services/service-db/migrations/001.do.sql +0 -4
  97. package/fixtures/management-api/services/service-db/migrations/001.undo.sql +0 -1
  98. package/fixtures/management-api/services/service-db/package.json +0 -5
  99. package/fixtures/management-api/services/service-db/platformatic.db.json +0 -29
  100. package/fixtures/management-api/services/service-db/plugin.js +0 -12
  101. package/fixtures/management-api-custom-labels/package.json +0 -4
  102. package/fixtures/management-api-custom-labels/platformatic.json +0 -22
  103. package/fixtures/management-api-custom-labels/services/service-1/platformatic.json +0 -12
  104. package/fixtures/management-api-custom-labels/services/service-1/plugin.js +0 -16
  105. package/fixtures/management-api-custom-labels/services/service-2/platformatic.json +0 -9
  106. package/fixtures/management-api-custom-labels/services/service-2/plugin.js +0 -8
  107. package/fixtures/management-api-custom-labels/services/service-db/migrations/001.do.sql +0 -4
  108. package/fixtures/management-api-custom-labels/services/service-db/migrations/001.undo.sql +0 -1
  109. package/fixtures/management-api-custom-labels/services/service-db/package.json +0 -5
  110. package/fixtures/management-api-custom-labels/services/service-db/platformatic.db.json +0 -29
  111. package/fixtures/management-api-custom-labels/services/service-db/plugin.js +0 -12
  112. package/fixtures/management-api-without-metrics/package.json +0 -4
  113. package/fixtures/management-api-without-metrics/platformatic.json +0 -14
  114. package/fixtures/management-api-without-metrics/services/service-1/platformatic.json +0 -8
  115. package/fixtures/monorepo/composerApp/external-service.json +0 -204
  116. package/fixtures/monorepo/composerApp/platformatic.composer.json +0 -46
  117. package/fixtures/monorepo/dbApp/platformatic.db.json +0 -16
  118. package/fixtures/monorepo/docs/README.md +0 -1
  119. package/fixtures/monorepo/serviceApp/deps/dep1.js +0 -7
  120. package/fixtures/monorepo/serviceApp/deps/dep2.mjs +0 -2
  121. package/fixtures/monorepo/serviceApp/deps/dep3.mjs +0 -2
  122. package/fixtures/monorepo/serviceApp/deps/dep4.js +0 -1
  123. package/fixtures/monorepo/serviceApp/platformatic.service.json +0 -23
  124. package/fixtures/monorepo/serviceApp/plugin.js +0 -29
  125. package/fixtures/monorepo/serviceApp/with-logger/package.json +0 -5
  126. package/fixtures/monorepo/serviceApp/with-logger/with-logger.cjs +0 -25
  127. package/fixtures/monorepo/serviceApp/with-logger/with-logger.d.ts +0 -38
  128. package/fixtures/monorepo/serviceApp/with-logger/with-logger.openapi.json +0 -22
  129. package/fixtures/monorepo/serviceAppWithLogger/platformatic.service.json +0 -20
  130. package/fixtures/monorepo/serviceAppWithLogger/plugin.js +0 -20
  131. package/fixtures/monorepo/serviceAppWithMultiplePlugins/platformatic.service.json +0 -28
  132. package/fixtures/monorepo/serviceAppWithMultiplePlugins/plugin.js +0 -8
  133. package/fixtures/monorepo/serviceAppWithMultiplePlugins/plugin2.mjs +0 -5
  134. package/fixtures/monorepo-missing-dependencies/composer/platformatic.json +0 -24
  135. package/fixtures/monorepo-openapi/serviceAppWithoutOpenapi/platformatic.service.json +0 -13
  136. package/fixtures/monorepo-openapi/serviceAppWithoutOpenapi/plugin.js +0 -8
  137. package/fixtures/monorepo-watch/service1/platformatic.service.json +0 -13
  138. package/fixtures/monorepo-watch/service1/plugin.js +0 -8
  139. package/fixtures/monorepo-with-dependencies/main/clients/service-1/package.json +0 -3
  140. package/fixtures/monorepo-with-dependencies/main/clients/service-1/schema.json +0 -204
  141. package/fixtures/monorepo-with-dependencies/main/clients/service-2/package.json +0 -3
  142. package/fixtures/monorepo-with-dependencies/main/clients/service-2/schema.json +0 -204
  143. package/fixtures/monorepo-with-dependencies/main/external-service.schema.json +0 -204
  144. package/fixtures/monorepo-with-dependencies/main/platformatic.json +0 -46
  145. package/fixtures/monorepo-with-dependencies/service-1/clients/service-2/package.json +0 -3
  146. package/fixtures/monorepo-with-dependencies/service-1/clients/service-2/schema.json +0 -204
  147. package/fixtures/monorepo-with-dependencies/service-1/external-service.schema.json +0 -204
  148. package/fixtures/monorepo-with-dependencies/service-1/platformatic.json +0 -29
  149. package/fixtures/monorepo-with-dependencies/service-2/platformatic.json +0 -15
  150. package/fixtures/no-env.service.json +0 -25
  151. package/fixtures/preload/platformatic.runtime.json +0 -15
  152. package/fixtures/preload/preload.js +0 -1
  153. package/fixtures/preload/services/a/platformatic.service.json +0 -14
  154. package/fixtures/preload/services/a/plugin.js +0 -7
  155. package/fixtures/prom-server/platformatic.json +0 -16
  156. package/fixtures/prom-server/services/service-1/platformatic.json +0 -13
  157. package/fixtures/prom-server/services/service-1/plugin.js +0 -8
  158. package/fixtures/prom-server/services/service-2/platformatic.json +0 -12
  159. package/fixtures/prom-server/services/service-2/plugin.js +0 -8
  160. package/fixtures/restart-on-crash/platformatic.runtime.json +0 -14
  161. package/fixtures/restart-on-crash/services/a/platformatic.service.json +0 -16
  162. package/fixtures/restart-on-crash/services/a/plugin.js +0 -9
  163. package/fixtures/sample-runtime/.env +0 -9
  164. package/fixtures/sample-runtime/package.json +0 -16
  165. package/fixtures/sample-runtime/platformatic.json +0 -18
  166. package/fixtures/sample-runtime/services/rival/package.json +0 -16
  167. package/fixtures/sample-runtime/services/rival/platformatic.json +0 -33
  168. package/fixtures/sample-runtime/services/rival/routes/root.js +0 -7
  169. package/fixtures/sample-runtime-with-2-services/.env +0 -10
  170. package/fixtures/sample-runtime-with-2-services/package.json +0 -16
  171. package/fixtures/sample-runtime-with-2-services/platformatic.json +0 -18
  172. package/fixtures/sample-runtime-with-2-services/services/foobar/package.json +0 -16
  173. package/fixtures/sample-runtime-with-2-services/services/foobar/platformatic.json +0 -18
  174. package/fixtures/sample-runtime-with-2-services/services/foobar/routes/root.js +0 -7
  175. package/fixtures/sample-runtime-with-2-services/services/rival/package.json +0 -16
  176. package/fixtures/sample-runtime-with-2-services/services/rival/platformatic.json +0 -33
  177. package/fixtures/sample-runtime-with-2-services/services/rival/routes/root.js +0 -7
  178. package/fixtures/server/logger-transport/custom-transport.js +0 -15
  179. package/fixtures/server/logger-transport/platformatic.runtime.json +0 -21
  180. package/fixtures/server/logger-transport/services/echo/platformatic.service.json +0 -12
  181. package/fixtures/server/logger-transport/services/echo/routes/hello.js +0 -6
  182. package/fixtures/server/overrides-service/platformatic.runtime.json +0 -18
  183. package/fixtures/server/overrides-service/services/echo/platformatic.service.json +0 -19
  184. package/fixtures/server/overrides-service/services/echo/routes/span.js +0 -8
  185. package/fixtures/server/runtime-server/platformatic.runtime.json +0 -18
  186. package/fixtures/server/runtime-server/services/echo/platformatic.service.json +0 -12
  187. package/fixtures/server/runtime-server/services/echo/routes/hello.js +0 -6
  188. package/fixtures/serviceAppThrowsOnStart/platformatic.service.json +0 -12
  189. package/fixtures/serviceAppThrowsOnStart/plugin.js +0 -6
  190. package/fixtures/stackables/node_modules/foo/foo.js +0 -62
  191. package/fixtures/stackables/node_modules/foo/package.json +0 -4
  192. package/fixtures/stackables/platformatic.json +0 -11
  193. package/fixtures/start-command-in-runtime.js +0 -24
  194. package/fixtures/start-command.js +0 -9
  195. package/fixtures/starter.js +0 -9
  196. package/fixtures/stdio/platformatic.service.json +0 -6
  197. package/fixtures/stdio/plugin.js +0 -24
  198. package/fixtures/telemetry/platformatic.runtime.json +0 -18
  199. package/fixtures/telemetry/services/echo/platformatic.service.json +0 -19
  200. package/fixtures/telemetry/services/echo/routes/span.js +0 -22
  201. package/fixtures/telemetry/services/service-1/platformatic.service.json +0 -19
  202. package/fixtures/telemetry/services/service-1/routes/echo.js +0 -7
  203. package/fixtures/typescript/.env +0 -4
  204. package/fixtures/typescript/platformatic.runtime.json +0 -11
  205. package/fixtures/typescript/services/composer/platformatic.composer.json +0 -28
  206. package/fixtures/typescript/services/movies/.env +0 -4
  207. package/fixtures/typescript/services/movies/global.d.ts +0 -23
  208. package/fixtures/typescript/services/movies/migrations/001.do.sql +0 -6
  209. package/fixtures/typescript/services/movies/migrations/001.undo.sql +0 -3
  210. package/fixtures/typescript/services/movies/platformatic.db.json +0 -33
  211. package/fixtures/typescript/services/movies/plugin.ts +0 -5
  212. package/fixtures/typescript/services/movies/tsconfig.json +0 -21
  213. package/fixtures/typescript/services/movies/types/Movie.d.ts +0 -9
  214. package/fixtures/typescript/services/movies/types/index.d.ts +0 -7
  215. package/fixtures/typescript/services/titles/client/client.d.ts +0 -141
  216. package/fixtures/typescript/services/titles/client/client.openapi.json +0 -630
  217. package/fixtures/typescript/services/titles/client/package.json +0 -4
  218. package/fixtures/typescript/services/titles/platformatic.service.json +0 -31
  219. package/fixtures/typescript/services/titles/plugins/example.ts +0 -6
  220. package/fixtures/typescript/services/titles/routes/root.ts +0 -21
  221. package/fixtures/typescript/services/titles/tsconfig.json +0 -21
  222. package/fixtures/typescript-custom-flags/.env +0 -4
  223. package/fixtures/typescript-custom-flags/platformatic.runtime.json +0 -11
  224. package/fixtures/typescript-custom-flags/services/composer/platformatic.composer.json +0 -28
  225. package/fixtures/typescript-custom-flags/services/movies/global.d.ts +0 -23
  226. package/fixtures/typescript-custom-flags/services/movies/migrations/001.do.sql +0 -6
  227. package/fixtures/typescript-custom-flags/services/movies/migrations/001.undo.sql +0 -3
  228. package/fixtures/typescript-custom-flags/services/movies/platformatic.db.json +0 -35
  229. package/fixtures/typescript-custom-flags/services/movies/plugin.ts +0 -5
  230. package/fixtures/typescript-custom-flags/services/movies/tsconfig.json +0 -20
  231. package/fixtures/typescript-custom-flags/services/movies/types/Movie.d.ts +0 -9
  232. package/fixtures/typescript-custom-flags/services/movies/types/index.d.ts +0 -7
  233. package/fixtures/typescript-custom-flags/services/titles/client/client.d.ts +0 -141
  234. package/fixtures/typescript-custom-flags/services/titles/client/client.openapi.json +0 -630
  235. package/fixtures/typescript-custom-flags/services/titles/client/package.json +0 -4
  236. package/fixtures/typescript-custom-flags/services/titles/platformatic.service.json +0 -33
  237. package/fixtures/typescript-custom-flags/services/titles/plugins/example.ts +0 -6
  238. package/fixtures/typescript-custom-flags/services/titles/routes/root.ts +0 -21
  239. package/fixtures/typescript-custom-flags/services/titles/tsconfig.json +0 -21
  240. package/fixtures/typescript-no-env/platformatic.runtime.json +0 -11
  241. package/fixtures/typescript-no-env/services/composer/platformatic.composer.json +0 -28
  242. package/fixtures/typescript-no-env/services/movies/global.d.ts +0 -23
  243. package/fixtures/typescript-no-env/services/movies/migrations/001.do.sql +0 -6
  244. package/fixtures/typescript-no-env/services/movies/migrations/001.undo.sql +0 -3
  245. package/fixtures/typescript-no-env/services/movies/platformatic.db.json +0 -33
  246. package/fixtures/typescript-no-env/services/movies/plugin.ts +0 -5
  247. package/fixtures/typescript-no-env/services/movies/tsconfig.json +0 -21
  248. package/fixtures/typescript-no-env/services/movies/types/Movie.d.ts +0 -9
  249. package/fixtures/typescript-no-env/services/movies/types/index.d.ts +0 -7
  250. package/fixtures/typescript-no-env/services/titles/client/client.d.ts +0 -141
  251. package/fixtures/typescript-no-env/services/titles/client/client.openapi.json +0 -630
  252. package/fixtures/typescript-no-env/services/titles/client/package.json +0 -4
  253. package/fixtures/typescript-no-env/services/titles/platformatic.service.json +0 -31
  254. package/fixtures/typescript-no-env/services/titles/plugins/example.ts +0 -6
  255. package/fixtures/typescript-no-env/services/titles/routes/root.ts +0 -21
  256. package/fixtures/typescript-no-env/services/titles/tsconfig.json +0 -21
package/config.d.ts CHANGED
@@ -5,7 +5,7 @@
5
5
  * and run json-schema-to-typescript to regenerate this file.
6
6
  */
7
7
 
8
- export type HttpsSchemasPlatformaticDevPlatformaticRuntime201Json = {
8
+ export type HttpsSchemasPlatformaticDevPlatformaticRuntime210Json = {
9
9
  [k: string]: unknown;
10
10
  } & {
11
11
  $schema?: string;
package/index.d.ts CHANGED
@@ -35,6 +35,7 @@ export module errors {
35
35
  export const ConfigPathMustBeStringError: () => FastifyError
36
36
  export const NoConfigFileFoundError: (id: string) => FastifyError
37
37
  export const InvalidEntrypointError: (entrypoint: string) => FastifyError
38
+ export const MissingEntrypointError: () => FastifyError
38
39
  export const MissingDependencyError: (dependency: string) => FastifyError
39
40
  export const InspectAndInspectBrkError: () => FastifyError
40
41
  export const InspectorPortError: () => FastifyError
package/lib/config.js CHANGED
@@ -105,8 +105,44 @@ async function _transformConfig (configManager, args) {
105
105
  configManager.current.serviceMap.set(service.id, service)
106
106
  }
107
107
 
108
+ // If there is no entrypoint, autodetect one
109
+ if (!config.entrypoint) {
110
+ // If there is only one service, it becomes the entrypoint
111
+ if (services.length === 1) {
112
+ services[0].entrypoint = true
113
+ config.entrypoint = services[0].id
114
+ hasValidEntrypoint = true
115
+ } else {
116
+ // Search if exactly service uses @platformatic/composer
117
+ const composers = []
118
+
119
+ for (const service of services) {
120
+ if (!service.config) {
121
+ continue
122
+ }
123
+
124
+ const manager = new ConfigManager({ source: pathResolve(service.path, service.config) })
125
+ await manager.parse()
126
+ const config = manager.current
127
+ const type = config.$schema ? ConfigManager.matchKnownSchema(config.$schema) : undefined
128
+
129
+ if (type === 'composer') {
130
+ composers.push(service.id)
131
+ }
132
+ }
133
+
134
+ if (composers.length === 1) {
135
+ services.find(s => s.id === composers[0]).entrypoint = true
136
+ config.entrypoint = composers[0]
137
+ hasValidEntrypoint = true
138
+ }
139
+ }
140
+ }
141
+
108
142
  if (!hasValidEntrypoint) {
109
- throw new errors.InvalidEntrypointError(config.entrypoint)
143
+ throw typeof config.entrypoint !== 'undefined'
144
+ ? new errors.InvalidEntrypointError(config.entrypoint)
145
+ : new errors.MissingEntrypointError()
110
146
  }
111
147
 
112
148
  configManager.current.services = services
package/lib/errors.js CHANGED
@@ -20,6 +20,7 @@ module.exports = {
20
20
  ConfigPathMustBeStringError: createError(`${ERROR_PREFIX}_CONFIG_PATH_MUST_BE_STRING`, 'Config path must be a string'),
21
21
  NoConfigFileFoundError: createError(`${ERROR_PREFIX}_NO_CONFIG_FILE_FOUND`, "No config file found for service '%s'"),
22
22
  InvalidEntrypointError: createError(`${ERROR_PREFIX}_INVALID_ENTRYPOINT`, "Invalid entrypoint: '%s' does not exist"),
23
+ MissingEntrypointError: createError(`${ERROR_PREFIX}_MISSING_ENTRYPOINT`, 'Missing application entrypoint.'),
23
24
  InvalidServicesWithWebError: createError(`${ERROR_PREFIX}_INVALID_SERVICES_WITH_WEB`, 'The "services" property cannot be used when the "web" property is also defined'),
24
25
  MissingDependencyError: createError(`${ERROR_PREFIX}_MISSING_DEPENDENCY`, 'Missing dependency: "%s"'),
25
26
  InspectAndInspectBrkError: createError(`${ERROR_PREFIX}_INSPECT_AND_INSPECT_BRK`, '--inspect and --inspect-brk cannot be used together'),
package/lib/schema.js CHANGED
@@ -224,11 +224,7 @@ const platformaticRuntimeSchema = {
224
224
  }
225
225
  }
226
226
  },
227
- anyOf: [
228
- { required: ['autoload', 'entrypoint'] },
229
- { required: ['services', 'entrypoint'] },
230
- { required: ['web', 'entrypoint'] }
231
- ],
227
+ anyOf: [{ required: ['autoload'] }, { required: ['services'] }, { required: ['web'] }],
232
228
  additionalProperties: false,
233
229
  $defs: {
234
230
  undiciInterceptor: {
@@ -14,6 +14,8 @@ module.exports = {
14
14
  delete config.hotReload
15
15
  }
16
16
 
17
+ delete config.allowCycles
18
+
17
19
  config.$schema = `https://schemas.platformatic.dev/@platformatic/runtime/${pkg.version}.json`
18
20
 
19
21
  if (config.server?.logger) {
package/lib/worker/app.js CHANGED
@@ -228,8 +228,7 @@ class PlatformaticApp extends EventEmitter {
228
228
  }
229
229
 
230
230
  #logAndExit (err) {
231
- // Runtime logs here with console.error because stackable is not initialized
232
- console.error(err.message)
231
+ console.error(err)
233
232
  process.exit(1)
234
233
  }
235
234
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@platformatic/runtime",
3
- "version": "2.0.1",
3
+ "version": "2.1.0",
4
4
  "description": "",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -34,11 +34,11 @@
34
34
  "typescript": "^5.5.4",
35
35
  "undici-oidc-interceptor": "^0.5.0",
36
36
  "why-is-node-running": "^2.2.2",
37
- "@platformatic/composer": "2.0.1",
38
- "@platformatic/db": "2.0.1",
39
- "@platformatic/service": "2.0.1",
40
- "@platformatic/sql-graphql": "2.0.1",
41
- "@platformatic/sql-mapper": "2.0.1"
37
+ "@platformatic/service": "2.1.0",
38
+ "@platformatic/db": "2.1.0",
39
+ "@platformatic/composer": "2.1.0",
40
+ "@platformatic/sql-graphql": "2.1.0",
41
+ "@platformatic/sql-mapper": "2.1.0"
42
42
  },
43
43
  "dependencies": {
44
44
  "@fastify/error": "^4.0.0",
@@ -68,13 +68,13 @@
68
68
  "undici": "^6.9.0",
69
69
  "undici-thread-interceptor": "^0.6.1",
70
70
  "ws": "^8.16.0",
71
- "@platformatic/basic": "2.0.1",
72
- "@platformatic/config": "2.0.1",
73
- "@platformatic/generators": "2.0.1",
74
- "@platformatic/itc": "2.0.1",
75
- "@platformatic/ts-compiler": "2.0.1",
76
- "@platformatic/utils": "2.0.1",
77
- "@platformatic/telemetry": "2.0.1"
71
+ "@platformatic/basic": "2.1.0",
72
+ "@platformatic/config": "2.1.0",
73
+ "@platformatic/generators": "2.1.0",
74
+ "@platformatic/telemetry": "2.1.0",
75
+ "@platformatic/itc": "2.1.0",
76
+ "@platformatic/ts-compiler": "2.1.0",
77
+ "@platformatic/utils": "2.1.0"
78
78
  },
79
79
  "scripts": {
80
80
  "test": "npm run lint && borp --concurrency=1 --timeout=180000 && tsd",
package/schema.json CHANGED
@@ -1,5 +1,5 @@
1
1
  {
2
- "$id": "https://schemas.platformatic.dev/@platformatic/runtime/2.0.1.json",
2
+ "$id": "https://schemas.platformatic.dev/@platformatic/runtime/2.1.0.json",
3
3
  "$schema": "http://json-schema.org/draft-07/schema#",
4
4
  "type": "object",
5
5
  "properties": {
@@ -600,20 +600,17 @@
600
600
  "anyOf": [
601
601
  {
602
602
  "required": [
603
- "autoload",
604
- "entrypoint"
603
+ "autoload"
605
604
  ]
606
605
  },
607
606
  {
608
607
  "required": [
609
- "services",
610
- "entrypoint"
608
+ "services"
611
609
  ]
612
610
  },
613
611
  {
614
612
  "required": [
615
- "web",
616
- "entrypoint"
613
+ "web"
617
614
  ]
618
615
  }
619
616
  ],
@@ -1,14 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "a",
4
- "autoload": {
5
- "path": "./services"
6
- },
7
- "server": {
8
- "hostname": "127.0.0.1",
9
- "port": "{PORT}",
10
- "logger": {
11
- "level": "info"
12
- }
13
- }
14
- }
@@ -1,14 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/service/1.52.0.json",
3
- "server": {
4
- "logger": {
5
- "level": "warn"
6
- }
7
- },
8
- "plugins": {
9
- "paths": [{
10
- "path": "plugin.js",
11
- "encapsulate": false
12
- }]
13
- }
14
- }
@@ -1,11 +0,0 @@
1
- 'use strict'
2
-
3
- const { setTimeout: sleep } = require('timers/promises')
4
-
5
- module.exports = async function (fastify, options) {
6
- setImmediate(() => {
7
- throw new Error('Crash!')
8
- })
9
-
10
- await sleep(1000)
11
- }
@@ -1,65 +0,0 @@
1
- {
2
- "openapi": "3.0.3",
3
- "info": {
4
- "version": "8.3.1",
5
- "title": "@fastify/swagger"
6
- },
7
- "components": {
8
- "schemas": {}
9
- },
10
- "paths": {
11
- "/users": {
12
- "get": {
13
- "responses": {
14
- "200": {
15
- "description": "Default Response"
16
- }
17
- }
18
- },
19
- "post": {
20
- "responses": {
21
- "200": {
22
- "description": "Default Response"
23
- }
24
- }
25
- },
26
- "put": {
27
- "responses": {
28
- "200": {
29
- "description": "Default Response"
30
- }
31
- }
32
- }
33
- },
34
- "/users/{id}": {
35
- "get": {
36
- "responses": {
37
- "200": {
38
- "description": "Default Response"
39
- }
40
- }
41
- },
42
- "post": {
43
- "responses": {
44
- "200": {
45
- "description": "Default Response"
46
- }
47
- }
48
- },
49
- "put": {
50
- "responses": {
51
- "200": {
52
- "description": "Default Response"
53
- }
54
- }
55
- },
56
- "delete": {
57
- "responses": {
58
- "200": {
59
- "description": "Default Response"
60
- }
61
- }
62
- }
63
- }
64
- }
65
- }
@@ -1,23 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/composer/1.52.0.json",
3
- "server": {
4
- "hostname": "127.0.0.1",
5
- "port": 0,
6
- "logger": {
7
- "level": "info"
8
- }
9
- },
10
- "composer": {
11
- "services": [
12
- {
13
- "id": "api1",
14
- "origin": "http://127.0.0.1",
15
- "openapi": {
16
- "file": "./api1.json"
17
- }
18
- }
19
- ],
20
- "refreshTimeout": 1000
21
- },
22
- "watch": false
23
- }
@@ -1,14 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "invalid",
4
- "autoload": {
5
- "path": "../monorepo",
6
- "exclude": ["docs", "composerApp"],
7
- "mappings": {
8
- "serviceAppWithLogger": {
9
- "id": "with-logger",
10
- "config": "platformatic.service.json"
11
- }
12
- }
13
- }
14
- }
@@ -1,19 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/trickortreat/0.22.0.json",
3
- "server": {
4
- "hostname": "127.0.0.1",
5
- "port": 0,
6
- "logger": {
7
- "level": "info",
8
- "name": "hello server"
9
- }
10
- },
11
- "plugins": {
12
- "paths": ["./plugin.js"]
13
- },
14
- "service": {
15
- "openapi": true
16
- },
17
- "metrics": false,
18
- "watch": false
19
- }
@@ -1,36 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "db-app",
4
- "autoload": {
5
- "path": "../monorepo",
6
- "exclude": ["docs", "composerApp"],
7
- "mappings": {
8
- "serviceAppWithLogger": {
9
- "id": "with-logger",
10
- "config": "platformatic.service.json"
11
- },
12
- "serviceAppWithMultiplePlugins": {
13
- "id": "multi-plugin-service",
14
- "config": "platformatic.service.json"
15
- },
16
- "dbApp": {
17
- "id": "db-app",
18
- "config": "platformatic.db.json"
19
- }
20
- }
21
- },
22
- "services": [
23
- {
24
- "id": "with-logger",
25
- "path": "../monorepo/serviceAppWithLogger",
26
- "config": "platformatic.service.json"
27
- }
28
- ],
29
- "web": [
30
- {
31
- "id": "with-logger",
32
- "path": "../monorepo/serviceAppWithLogger",
33
- "config": "platformatic.service.json"
34
- }
35
- ]
36
- }
@@ -1,13 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "serviceApp",
4
- "autoload": {
5
- "exclude": ["docs", "composerApp"],
6
- "mappings": {
7
- "serviceAppWithMultiplePlugins": {
8
- "id": "multi-plugin-service",
9
- "config": "platformatic.service.json"
10
- }
11
- }
12
- }
13
- }
@@ -1,7 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "serviceApp",
4
- "autoload": {
5
- "path": "../monorepo"
6
- }
7
- }
@@ -1,32 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "composerApp",
4
- "watch": false,
5
- "services": [
6
- {
7
- "id": "with-logger",
8
- "path": "../monorepo/serviceAppWithLogger",
9
- "config": "platformatic.service.json"
10
- },
11
- {
12
- "id": "db-app",
13
- "path": "../monorepo/dbApp",
14
- "config": "platformatic.db.json"
15
- },
16
- {
17
- "id": "composerApp",
18
- "path": "../monorepo/composerApp",
19
- "config": "platformatic.composer.json"
20
- },
21
- {
22
- "id": "multi-plugin-service",
23
- "path": "../monorepo/serviceAppWithMultiplePlugins",
24
- "config": "platformatic.service.json"
25
- },
26
- {
27
- "id": "serviceApp",
28
- "path": "../monorepo/serviceApp",
29
- "config": "platformatic.service.json"
30
- }
31
- ]
32
- }
@@ -1,19 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "composerApp",
4
- "watch": false,
5
- "autoload": {
6
- "path": "../monorepo",
7
- "exclude": ["docs"],
8
- "mappings": {
9
- "serviceAppWithLogger": {
10
- "id": "with-logger",
11
- "config": "platformatic.service.json"
12
- },
13
- "serviceAppWithMultiplePlugins": {
14
- "id": "multi-plugin-service",
15
- "config": "platformatic.service.json"
16
- }
17
- }
18
- }
19
- }
@@ -1,20 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "with-logger",
4
- "watch": false,
5
- "autoload": {
6
- "path": "../monorepo",
7
- "exclude": [
8
- "composerApp",
9
- "docs",
10
- "serviceAppWithMultiplePlugins",
11
- "serviceAppWithLogger"
12
- ],
13
- "mappings": {
14
- "serviceApp": {
15
- "id": "with-logger",
16
- "config": "platformatic.service.json"
17
- }
18
- }
19
- }
20
- }
@@ -1,9 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "composer",
4
- "watch": false,
5
- "managementApi": false,
6
- "autoload": {
7
- "path": "../monorepo-missing-dependencies"
8
- }
9
- }
@@ -1,19 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "serviceApp",
4
- "watch": false,
5
- "autoload": {
6
- "path": "../monorepo",
7
- "exclude": ["docs", "composerApp"],
8
- "mappings": {
9
- "serviceAppWithLogger": {
10
- "id": "with-logger",
11
- "config": "platformatic.service.json"
12
- },
13
- "serviceAppWithMultiplePlugins": {
14
- "id": "multi-plugin-service",
15
- "config": "platformatic.service.json"
16
- }
17
- }
18
- }
19
- }
@@ -1,12 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "without-openapi",
4
- "watch": false,
5
- "services": [
6
- {
7
- "id": "without-openapi",
8
- "path": "../monorepo-openapi/serviceAppWithoutOpenapi",
9
- "config": "platformatic.service.json"
10
- }
11
- ]
12
- }
@@ -1,19 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "serviceApp",
4
- "watch": "{PLT_WATCH}",
5
- "autoload": {
6
- "path": "../monorepo",
7
- "exclude": ["docs", "composerApp"],
8
- "mappings": {
9
- "serviceAppWithLogger": {
10
- "id": "with-logger",
11
- "config": "platformatic.service.json"
12
- },
13
- "serviceAppWithMultiplePlugins": {
14
- "id": "multi-plugin-service",
15
- "config": "platformatic.service.json"
16
- }
17
- }
18
- }
19
- }
@@ -1,12 +0,0 @@
1
- {
2
- "$schema": "https://platformatic.dev/schemas/v0.35.0/runtime",
3
- "entrypoint": "service1",
4
- "watch": true,
5
- "services": [
6
- {
7
- "id": "service1",
8
- "path": "../monorepo-watch/service1",
9
- "config": "platformatic.service.json"
10
- }
11
- ]
12
- }
@@ -1,27 +0,0 @@
1
- {
2
- "$schema": "https://platformatic.dev/schemas/v2.0.0/runtime",
3
- "entrypoint": "serviceApp",
4
- "watch": true,
5
- "autoload": {
6
- "path": "../monorepo",
7
- "exclude": ["docs", "composerApp"],
8
- "mappings": {
9
- "serviceAppWithLogger": {
10
- "id": "with-logger",
11
- "config": "platformatic.service.json"
12
- },
13
- "serviceAppWithMultiplePlugins": {
14
- "id": "multi-plugin-service",
15
- "config": "platformatic.service.json"
16
- },
17
- "dbApp": {
18
- "id": "db-app",
19
- "config": "platformatic.db.json"
20
- }
21
- }
22
- },
23
- "logger": {
24
- "level": "trace"
25
- },
26
- "restartOnError": 1000
27
- }
@@ -1,8 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "main",
4
- "watch": true,
5
- "autoload": {
6
- "path": "../monorepo-with-dependencies"
7
- }
8
- }
@@ -1,21 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.22.0.json",
3
- "entrypoint": "serviceApp",
4
- "watch": true,
5
- "autoload": {
6
- "path": "../monorepo",
7
- "exclude": ["docs", "composerApp"],
8
- "mappings": {
9
- "serviceAppWithLogger": {
10
- "id": "with-logger",
11
- "config": "platformatic.service.json"
12
- },
13
- "serviceAppWithMultiplePlugins": {
14
- "id": "multi-plugin-service",
15
- "config": "platformatic.service.json"
16
- }
17
- }
18
- },
19
- "managementApi": {},
20
- "metrics": false
21
- }
@@ -1,20 +0,0 @@
1
- {
2
- "$schema": "https://schemas.platformatic.dev/@platformatic/runtime/1.52.0.json",
3
- "entrypoint": "serviceApp",
4
- "watch": false,
5
- "autoload": {
6
- "path": "../monorepo",
7
- "exclude": ["docs", "composerApp"],
8
- "mappings": {
9
- "serviceAppWithLogger": {
10
- "id": "with-logger",
11
- "config": "platformatic.service.json"
12
- },
13
- "serviceAppWithMultiplePlugins": {
14
- "id": "multi-plugin-service",
15
- "config": "platformatic.service.json"
16
- }
17
- }
18
- },
19
- "managementApi": {}
20
- }