@foxglove/schemas 0.1.2 → 0.4.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 (320) hide show
  1. package/.github/workflows/ci.yml +7 -1
  2. package/README.md +45 -4
  3. package/dist/cjs/schemas/typescript/CameraCalibration.js +1 -1
  4. package/dist/cjs/schemas/typescript/CameraCalibration.js.map +1 -1
  5. package/dist/cjs/schemas/typescript/CircleAnnotation.js +1 -1
  6. package/dist/cjs/schemas/typescript/CircleAnnotation.js.map +1 -1
  7. package/dist/cjs/schemas/typescript/Color.js +1 -1
  8. package/dist/cjs/schemas/typescript/Color.js.map +1 -1
  9. package/dist/cjs/schemas/typescript/CompressedImage.js +1 -1
  10. package/dist/cjs/schemas/typescript/CompressedImage.js.map +1 -1
  11. package/dist/cjs/schemas/typescript/FrameTransform.d.ts +6 -3
  12. package/dist/cjs/schemas/typescript/FrameTransform.d.ts.map +1 -1
  13. package/dist/cjs/schemas/typescript/FrameTransform.js +1 -1
  14. package/dist/cjs/schemas/typescript/FrameTransform.js.map +1 -1
  15. package/dist/cjs/schemas/typescript/GeoJSON.js +1 -1
  16. package/dist/cjs/schemas/typescript/GeoJSON.js.map +1 -1
  17. package/dist/cjs/schemas/typescript/Grid.js +1 -1
  18. package/dist/cjs/schemas/typescript/Grid.js.map +1 -1
  19. package/dist/cjs/schemas/typescript/ImageAnnotations.js +1 -1
  20. package/dist/cjs/schemas/typescript/ImageAnnotations.js.map +1 -1
  21. package/dist/cjs/schemas/typescript/LaserScan.js +1 -1
  22. package/dist/cjs/schemas/typescript/LaserScan.js.map +1 -1
  23. package/dist/cjs/schemas/typescript/LocationFix.js +1 -1
  24. package/dist/cjs/schemas/typescript/LocationFix.js.map +1 -1
  25. package/dist/cjs/schemas/typescript/Log.js +1 -1
  26. package/dist/cjs/schemas/typescript/Log.js.map +1 -1
  27. package/dist/cjs/schemas/typescript/LogLevel.js +1 -1
  28. package/dist/cjs/schemas/typescript/LogLevel.js.map +1 -1
  29. package/dist/cjs/schemas/typescript/NumericType.js +1 -1
  30. package/dist/cjs/schemas/typescript/NumericType.js.map +1 -1
  31. package/dist/cjs/schemas/typescript/PackedElementField.d.ts +1 -1
  32. package/dist/cjs/schemas/typescript/PackedElementField.d.ts.map +1 -1
  33. package/dist/cjs/schemas/typescript/PackedElementField.js +1 -1
  34. package/dist/cjs/schemas/typescript/PackedElementField.js.map +1 -1
  35. package/dist/cjs/schemas/typescript/Point2.js +1 -1
  36. package/dist/cjs/schemas/typescript/Point2.js.map +1 -1
  37. package/dist/cjs/schemas/typescript/Point3.js +1 -1
  38. package/dist/cjs/schemas/typescript/Point3.js.map +1 -1
  39. package/dist/cjs/schemas/typescript/PointCloud.js +1 -1
  40. package/dist/cjs/schemas/typescript/PointCloud.js.map +1 -1
  41. package/dist/cjs/schemas/typescript/PointsAnnotation.d.ts +5 -1
  42. package/dist/cjs/schemas/typescript/PointsAnnotation.d.ts.map +1 -1
  43. package/dist/cjs/schemas/typescript/PointsAnnotation.js +1 -1
  44. package/dist/cjs/schemas/typescript/PointsAnnotation.js.map +1 -1
  45. package/dist/cjs/schemas/typescript/PointsAnnotationType.js +1 -1
  46. package/dist/cjs/schemas/typescript/PointsAnnotationType.js.map +1 -1
  47. package/dist/cjs/schemas/typescript/Pose.js +1 -1
  48. package/dist/cjs/schemas/typescript/Pose.js.map +1 -1
  49. package/dist/cjs/schemas/typescript/PoseInFrame.js +1 -1
  50. package/dist/cjs/schemas/typescript/PoseInFrame.js.map +1 -1
  51. package/dist/cjs/schemas/typescript/PosesInFrame.js +1 -1
  52. package/dist/cjs/schemas/typescript/PositionCovarianceType.js +1 -1
  53. package/dist/cjs/schemas/typescript/PositionCovarianceType.js.map +1 -1
  54. package/dist/cjs/schemas/typescript/Quaternion.js +1 -1
  55. package/dist/cjs/schemas/typescript/Quaternion.js.map +1 -1
  56. package/dist/cjs/schemas/typescript/RawImage.js +1 -1
  57. package/dist/cjs/schemas/typescript/RawImage.js.map +1 -1
  58. package/dist/cjs/schemas/typescript/Vector2.js +1 -1
  59. package/dist/cjs/schemas/typescript/Vector2.js.map +1 -1
  60. package/dist/cjs/schemas/typescript/Vector3.js +1 -1
  61. package/dist/cjs/schemas/typescript/Vector3.js.map +1 -1
  62. package/dist/cjs/schemas/typescript/index.d.ts +0 -1
  63. package/dist/cjs/schemas/typescript/index.d.ts.map +1 -1
  64. package/dist/cjs/schemas/typescript/index.js +0 -1
  65. package/dist/cjs/schemas/typescript/index.js.map +1 -1
  66. package/dist/cjs/scripts/updateGeneratedFiles.js +17 -4
  67. package/dist/cjs/scripts/updateGeneratedFiles.js.map +1 -1
  68. package/dist/cjs/src/generateJsonSchema.d.ts.map +1 -1
  69. package/dist/cjs/src/generateJsonSchema.js +4 -3
  70. package/dist/cjs/src/generateJsonSchema.js.map +1 -1
  71. package/dist/cjs/src/generateJsonSchema.test.js +6 -8
  72. package/dist/cjs/src/generateJsonSchema.test.js.map +1 -1
  73. package/dist/cjs/src/generateMarkdown.d.ts +3 -0
  74. package/dist/cjs/src/generateMarkdown.d.ts.map +1 -0
  75. package/dist/cjs/src/generateMarkdown.js +80 -0
  76. package/dist/cjs/src/generateMarkdown.js.map +1 -0
  77. package/dist/cjs/src/generateProto.js +1 -1
  78. package/dist/cjs/src/generateProto.js.map +1 -1
  79. package/dist/cjs/src/generateProto.test.js +1 -1
  80. package/dist/cjs/src/generateRos.d.ts +4 -1
  81. package/dist/cjs/src/generateRos.d.ts.map +1 -1
  82. package/dist/cjs/src/generateRos.js +8 -4
  83. package/dist/cjs/src/generateRos.js.map +1 -1
  84. package/dist/cjs/src/generateRos.test.js +463 -7
  85. package/dist/cjs/src/generateRos.test.js.map +1 -1
  86. package/dist/cjs/src/generateTypeScript.js +1 -1
  87. package/dist/cjs/src/generateTypeScript.js.map +1 -1
  88. package/dist/cjs/src/generateTypeScript.test.js +2 -2
  89. package/dist/cjs/src/schemas.d.ts +0 -2
  90. package/dist/cjs/src/schemas.d.ts.map +1 -1
  91. package/dist/cjs/src/schemas.js +23 -31
  92. package/dist/cjs/src/schemas.js.map +1 -1
  93. package/dist/esm/schemas/typescript/CameraCalibration.js +1 -1
  94. package/dist/esm/schemas/typescript/CameraCalibration.js.map +1 -1
  95. package/dist/esm/schemas/typescript/CircleAnnotation.js +1 -1
  96. package/dist/esm/schemas/typescript/CircleAnnotation.js.map +1 -1
  97. package/dist/esm/schemas/typescript/Color.js +1 -1
  98. package/dist/esm/schemas/typescript/Color.js.map +1 -1
  99. package/dist/esm/schemas/typescript/CompressedImage.js +1 -1
  100. package/dist/esm/schemas/typescript/CompressedImage.js.map +1 -1
  101. package/dist/esm/schemas/typescript/FrameTransform.d.ts +6 -3
  102. package/dist/esm/schemas/typescript/FrameTransform.d.ts.map +1 -1
  103. package/dist/esm/schemas/typescript/FrameTransform.js +1 -1
  104. package/dist/esm/schemas/typescript/FrameTransform.js.map +1 -1
  105. package/dist/esm/schemas/typescript/GeoJSON.js +1 -1
  106. package/dist/esm/schemas/typescript/GeoJSON.js.map +1 -1
  107. package/dist/esm/schemas/typescript/Grid.js +1 -1
  108. package/dist/esm/schemas/typescript/Grid.js.map +1 -1
  109. package/dist/esm/schemas/typescript/ImageAnnotations.js +1 -1
  110. package/dist/esm/schemas/typescript/ImageAnnotations.js.map +1 -1
  111. package/dist/esm/schemas/typescript/LaserScan.js +1 -1
  112. package/dist/esm/schemas/typescript/LaserScan.js.map +1 -1
  113. package/dist/esm/schemas/typescript/LocationFix.js +1 -1
  114. package/dist/esm/schemas/typescript/LocationFix.js.map +1 -1
  115. package/dist/esm/schemas/typescript/Log.js +1 -1
  116. package/dist/esm/schemas/typescript/Log.js.map +1 -1
  117. package/dist/esm/schemas/typescript/LogLevel.js +1 -1
  118. package/dist/esm/schemas/typescript/LogLevel.js.map +1 -1
  119. package/dist/esm/schemas/typescript/NumericType.js +1 -1
  120. package/dist/esm/schemas/typescript/NumericType.js.map +1 -1
  121. package/dist/esm/schemas/typescript/PackedElementField.d.ts +1 -1
  122. package/dist/esm/schemas/typescript/PackedElementField.d.ts.map +1 -1
  123. package/dist/esm/schemas/typescript/PackedElementField.js +1 -1
  124. package/dist/esm/schemas/typescript/PackedElementField.js.map +1 -1
  125. package/dist/esm/schemas/typescript/Point2.js +1 -1
  126. package/dist/esm/schemas/typescript/Point2.js.map +1 -1
  127. package/dist/esm/schemas/typescript/Point3.js +1 -1
  128. package/dist/esm/schemas/typescript/Point3.js.map +1 -1
  129. package/dist/esm/schemas/typescript/PointCloud.js +1 -1
  130. package/dist/esm/schemas/typescript/PointCloud.js.map +1 -1
  131. package/dist/esm/schemas/typescript/PointsAnnotation.d.ts +5 -1
  132. package/dist/esm/schemas/typescript/PointsAnnotation.d.ts.map +1 -1
  133. package/dist/esm/schemas/typescript/PointsAnnotation.js +1 -1
  134. package/dist/esm/schemas/typescript/PointsAnnotation.js.map +1 -1
  135. package/dist/esm/schemas/typescript/PointsAnnotationType.js +1 -1
  136. package/dist/esm/schemas/typescript/PointsAnnotationType.js.map +1 -1
  137. package/dist/esm/schemas/typescript/Pose.js +1 -1
  138. package/dist/esm/schemas/typescript/Pose.js.map +1 -1
  139. package/dist/esm/schemas/typescript/PoseInFrame.js +1 -1
  140. package/dist/esm/schemas/typescript/PoseInFrame.js.map +1 -1
  141. package/dist/esm/schemas/typescript/PosesInFrame.js +1 -1
  142. package/dist/esm/schemas/typescript/PositionCovarianceType.js +1 -1
  143. package/dist/esm/schemas/typescript/PositionCovarianceType.js.map +1 -1
  144. package/dist/esm/schemas/typescript/Quaternion.js +1 -1
  145. package/dist/esm/schemas/typescript/Quaternion.js.map +1 -1
  146. package/dist/esm/schemas/typescript/RawImage.js +1 -1
  147. package/dist/esm/schemas/typescript/RawImage.js.map +1 -1
  148. package/dist/esm/schemas/typescript/Vector2.js +1 -1
  149. package/dist/esm/schemas/typescript/Vector2.js.map +1 -1
  150. package/dist/esm/schemas/typescript/Vector3.js +1 -1
  151. package/dist/esm/schemas/typescript/Vector3.js.map +1 -1
  152. package/dist/esm/schemas/typescript/index.d.ts +0 -1
  153. package/dist/esm/schemas/typescript/index.d.ts.map +1 -1
  154. package/dist/esm/schemas/typescript/index.js +0 -1
  155. package/dist/esm/schemas/typescript/index.js.map +1 -1
  156. package/dist/esm/scripts/updateGeneratedFiles.js +17 -4
  157. package/dist/esm/scripts/updateGeneratedFiles.js.map +1 -1
  158. package/dist/esm/src/generateJsonSchema.d.ts.map +1 -1
  159. package/dist/esm/src/generateJsonSchema.js +4 -3
  160. package/dist/esm/src/generateJsonSchema.js.map +1 -1
  161. package/dist/esm/src/generateJsonSchema.test.js +6 -8
  162. package/dist/esm/src/generateJsonSchema.test.js.map +1 -1
  163. package/dist/esm/src/generateMarkdown.d.ts +3 -0
  164. package/dist/esm/src/generateMarkdown.d.ts.map +1 -0
  165. package/dist/esm/src/generateMarkdown.js +76 -0
  166. package/dist/esm/src/generateMarkdown.js.map +1 -0
  167. package/dist/esm/src/generateProto.js +1 -1
  168. package/dist/esm/src/generateProto.js.map +1 -1
  169. package/dist/esm/src/generateProto.test.js +1 -1
  170. package/dist/esm/src/generateRos.d.ts +4 -1
  171. package/dist/esm/src/generateRos.d.ts.map +1 -1
  172. package/dist/esm/src/generateRos.js +8 -4
  173. package/dist/esm/src/generateRos.js.map +1 -1
  174. package/dist/esm/src/generateRos.test.js +463 -7
  175. package/dist/esm/src/generateRos.test.js.map +1 -1
  176. package/dist/esm/src/generateTypeScript.js +1 -1
  177. package/dist/esm/src/generateTypeScript.js.map +1 -1
  178. package/dist/esm/src/generateTypeScript.test.js +2 -2
  179. package/dist/esm/src/schemas.d.ts +0 -2
  180. package/dist/esm/src/schemas.d.ts.map +1 -1
  181. package/dist/esm/src/schemas.js +21 -29
  182. package/dist/esm/src/schemas.js.map +1 -1
  183. package/package.json +2 -2
  184. package/schemas/README.md +1711 -0
  185. package/schemas/jsonschema/CameraCalibration.json +2 -2
  186. package/schemas/jsonschema/CircleAnnotation.json +5 -8
  187. package/schemas/jsonschema/Color.json +2 -2
  188. package/schemas/jsonschema/CompressedImage.json +2 -2
  189. package/schemas/jsonschema/FrameTransform.json +37 -63
  190. package/schemas/jsonschema/GeoJSON.json +2 -2
  191. package/schemas/jsonschema/Grid.json +9 -14
  192. package/schemas/jsonschema/ImageAnnotations.json +39 -20
  193. package/schemas/jsonschema/LaserScan.json +5 -8
  194. package/schemas/jsonschema/LocationFix.json +3 -3
  195. package/schemas/jsonschema/Log.json +3 -3
  196. package/schemas/jsonschema/PackedElementField.json +4 -4
  197. package/schemas/jsonschema/Point2.json +2 -2
  198. package/schemas/jsonschema/Point3.json +2 -2
  199. package/schemas/jsonschema/PointCloud.json +8 -12
  200. package/schemas/jsonschema/PointsAnnotation.json +34 -10
  201. package/schemas/jsonschema/Pose.json +4 -6
  202. package/schemas/jsonschema/PoseInFrame.json +5 -8
  203. package/schemas/jsonschema/PosesInFrame.json +5 -8
  204. package/schemas/jsonschema/Quaternion.json +2 -2
  205. package/schemas/jsonschema/RawImage.json +2 -2
  206. package/schemas/jsonschema/Vector2.json +2 -2
  207. package/schemas/jsonschema/Vector3.json +2 -2
  208. package/schemas/proto/foxglove/CameraCalibration.proto +1 -1
  209. package/schemas/proto/foxglove/CircleAnnotation.proto +1 -1
  210. package/schemas/proto/foxglove/Color.proto +1 -1
  211. package/schemas/proto/foxglove/CompressedImage.proto +1 -1
  212. package/schemas/proto/foxglove/FrameTransform.proto +8 -4
  213. package/schemas/proto/foxglove/GeoJSON.proto +1 -1
  214. package/schemas/proto/foxglove/Grid.proto +1 -1
  215. package/schemas/proto/foxglove/ImageAnnotations.proto +1 -1
  216. package/schemas/proto/foxglove/LaserScan.proto +1 -1
  217. package/schemas/proto/foxglove/LocationFix.proto +1 -1
  218. package/schemas/proto/foxglove/Log.proto +1 -1
  219. package/schemas/proto/foxglove/PackedElementField.proto +2 -2
  220. package/schemas/proto/foxglove/Point2.proto +1 -1
  221. package/schemas/proto/foxglove/Point3.proto +1 -1
  222. package/schemas/proto/foxglove/PointCloud.proto +1 -1
  223. package/schemas/proto/foxglove/PointsAnnotation.proto +10 -4
  224. package/schemas/proto/foxglove/Pose.proto +1 -1
  225. package/schemas/proto/foxglove/PoseInFrame.proto +1 -1
  226. package/schemas/proto/foxglove/PosesInFrame.proto +1 -1
  227. package/schemas/proto/foxglove/Quaternion.proto +1 -1
  228. package/schemas/proto/foxglove/RawImage.proto +1 -1
  229. package/schemas/proto/foxglove/Vector2.proto +1 -1
  230. package/schemas/proto/foxglove/Vector3.proto +1 -1
  231. package/schemas/ros1/CameraCalibration.msg +4 -1
  232. package/schemas/ros1/CircleAnnotation.msg +4 -1
  233. package/schemas/ros1/Color.msg +4 -1
  234. package/schemas/ros1/CompressedImage.msg +4 -1
  235. package/schemas/ros1/FrameTransform.msg +9 -3
  236. package/schemas/ros1/GeoJSON.msg +4 -1
  237. package/schemas/ros1/Grid.msg +4 -1
  238. package/schemas/ros1/ImageAnnotations.msg +4 -1
  239. package/schemas/ros1/LaserScan.msg +4 -1
  240. package/schemas/ros1/LocationFix.msg +4 -1
  241. package/schemas/ros1/Log.msg +4 -1
  242. package/schemas/ros1/PackedElementField.msg +4 -1
  243. package/schemas/ros1/Point2.msg +4 -1
  244. package/schemas/ros1/PointCloud.msg +4 -1
  245. package/schemas/ros1/PointsAnnotation.msg +11 -2
  246. package/schemas/ros1/PoseInFrame.msg +4 -1
  247. package/schemas/ros1/PosesInFrame.msg +4 -1
  248. package/schemas/ros1/RawImage.msg +4 -1
  249. package/schemas/ros1/Vector2.msg +4 -1
  250. package/schemas/ros2/CameraCalibration.msg +4 -1
  251. package/schemas/ros2/CircleAnnotation.msg +4 -1
  252. package/schemas/ros2/Color.msg +4 -1
  253. package/schemas/ros2/CompressedImage.msg +4 -1
  254. package/schemas/ros2/FrameTransform.msg +9 -3
  255. package/schemas/ros2/GeoJSON.msg +4 -1
  256. package/schemas/ros2/Grid.msg +4 -1
  257. package/schemas/ros2/ImageAnnotations.msg +4 -1
  258. package/schemas/ros2/LaserScan.msg +4 -1
  259. package/schemas/ros2/LocationFix.msg +4 -1
  260. package/schemas/ros2/Log.msg +4 -1
  261. package/schemas/ros2/PackedElementField.msg +4 -1
  262. package/schemas/ros2/Point2.msg +4 -1
  263. package/schemas/ros2/PointCloud.msg +4 -1
  264. package/schemas/ros2/PointsAnnotation.msg +11 -2
  265. package/schemas/ros2/PoseInFrame.msg +4 -1
  266. package/schemas/ros2/PosesInFrame.msg +4 -1
  267. package/schemas/ros2/RawImage.msg +4 -1
  268. package/schemas/ros2/Vector2.msg +4 -1
  269. package/schemas/typescript/CameraCalibration.ts +1 -1
  270. package/schemas/typescript/CircleAnnotation.ts +1 -1
  271. package/schemas/typescript/Color.ts +1 -1
  272. package/schemas/typescript/CompressedImage.ts +1 -1
  273. package/schemas/typescript/FrameTransform.ts +8 -4
  274. package/schemas/typescript/GeoJSON.ts +1 -1
  275. package/schemas/typescript/Grid.ts +1 -1
  276. package/schemas/typescript/ImageAnnotations.ts +1 -1
  277. package/schemas/typescript/LaserScan.ts +1 -1
  278. package/schemas/typescript/LocationFix.ts +1 -1
  279. package/schemas/typescript/Log.ts +1 -1
  280. package/schemas/typescript/LogLevel.ts +1 -1
  281. package/schemas/typescript/NumericType.ts +1 -1
  282. package/schemas/typescript/PackedElementField.ts +2 -2
  283. package/schemas/typescript/Point2.ts +1 -1
  284. package/schemas/typescript/Point3.ts +1 -1
  285. package/schemas/typescript/PointCloud.ts +1 -1
  286. package/schemas/typescript/PointsAnnotation.ts +8 -2
  287. package/schemas/typescript/PointsAnnotationType.ts +1 -1
  288. package/schemas/typescript/Pose.ts +1 -1
  289. package/schemas/typescript/PoseInFrame.ts +1 -1
  290. package/schemas/typescript/PosesInFrame.ts +1 -1
  291. package/schemas/typescript/PositionCovarianceType.ts +1 -1
  292. package/schemas/typescript/Quaternion.ts +1 -1
  293. package/schemas/typescript/RawImage.ts +1 -1
  294. package/schemas/typescript/Vector2.ts +1 -1
  295. package/schemas/typescript/Vector3.ts +1 -1
  296. package/schemas/typescript/index.ts +0 -1
  297. package/scripts/updateGeneratedFiles.ts +21 -10
  298. package/src/generateJsonSchema.test.ts +6 -8
  299. package/src/generateJsonSchema.ts +4 -3
  300. package/src/generateMarkdown.ts +88 -0
  301. package/src/generateProto.test.ts +1 -1
  302. package/src/generateProto.ts +1 -1
  303. package/src/generateRos.test.ts +464 -7
  304. package/src/generateRos.ts +14 -5
  305. package/src/generateTypeScript.test.ts +2 -2
  306. package/src/generateTypeScript.ts +1 -1
  307. package/src/schemas.ts +22 -30
  308. package/dist/cjs/schemas/typescript/Transform.d.ts +0 -13
  309. package/dist/cjs/schemas/typescript/Transform.d.ts.map +0 -1
  310. package/dist/cjs/schemas/typescript/Transform.js +0 -4
  311. package/dist/cjs/schemas/typescript/Transform.js.map +0 -1
  312. package/dist/esm/schemas/typescript/Transform.d.ts +0 -13
  313. package/dist/esm/schemas/typescript/Transform.d.ts.map +0 -1
  314. package/dist/esm/schemas/typescript/Transform.js +0 -3
  315. package/dist/esm/schemas/typescript/Transform.js.map +0 -1
  316. package/schemas/jsonschema/Transform.json +0 -68
  317. package/schemas/proto/foxglove/Transform.proto +0 -21
  318. package/schemas/ros1/Transform.msg +0 -10
  319. package/schemas/ros2/Transform.msg +0 -10
  320. package/schemas/typescript/Transform.ts +0 -17
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schemas/typescript/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,aAAa,CAAC;AAC5B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../schemas/typescript/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAC;AACpC,cAAc,oBAAoB,CAAC;AACnC,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,WAAW,CAAC;AAC1B,cAAc,QAAQ,CAAC;AACvB,cAAc,oBAAoB,CAAC;AACnC,cAAc,aAAa,CAAC;AAC5B,cAAc,eAAe,CAAC;AAC9B,cAAc,OAAO,CAAC;AACtB,cAAc,YAAY,CAAC;AAC3B,cAAc,eAAe,CAAC;AAC9B,cAAc,sBAAsB,CAAC;AACrC,cAAc,UAAU,CAAC;AACzB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,wBAAwB,CAAC;AACvC,cAAc,QAAQ,CAAC;AACvB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,0BAA0B,CAAC;AACzC,cAAc,cAAc,CAAC;AAC7B,cAAc,YAAY,CAAC;AAC3B,cAAc,WAAW,CAAC;AAC1B,cAAc,WAAW,CAAC"}
@@ -5,6 +5,7 @@ import rimraf from "rimraf";
5
5
  import { promisify } from "util";
6
6
  import { generateRosMsg, generateRosMsgDefinition } from "../src";
7
7
  import { generateJsonSchema } from "../src/generateJsonSchema";
8
+ import { generateMarkdown } from "../src/generateMarkdown";
8
9
  import { generateProto } from "../src/generateProto";
9
10
  import { generateTypeScript, DURATION_TS, TIME_TS } from "../src/generateTypeScript";
10
11
  import { foxgloveEnumSchemas, foxgloveMessageSchemas } from "../src/schemas";
@@ -13,7 +14,7 @@ async function logProgress(message, body) {
13
14
  await body();
14
15
  process.stderr.write("done\n");
15
16
  }
16
- async function main({ outDir }) {
17
+ async function main({ outDir, rosOutDir }) {
17
18
  await logProgress("Removing any existing output directory", async () => {
18
19
  await promisify(rimraf)(outDir);
19
20
  });
@@ -25,20 +26,26 @@ async function main({ outDir }) {
25
26
  });
26
27
  await logProgress("Generating ROS 1 msg files", async () => {
27
28
  await fs.mkdir(path.join(outDir, "ros1"), { recursive: true });
29
+ await fs.mkdir(path.join(rosOutDir, "ros1"), { recursive: true });
28
30
  for (const schema of Object.values(foxgloveMessageSchemas)) {
29
31
  if (schema.rosEquivalent != undefined) {
30
32
  continue;
31
33
  }
32
- await fs.writeFile(path.join(outDir, "ros1", `${schema.name}.msg`), generateRosMsg(generateRosMsgDefinition(schema, { rosVersion: 1 })));
34
+ const msg = generateRosMsg(generateRosMsgDefinition(schema, { rosVersion: 1 }));
35
+ await fs.writeFile(path.join(outDir, "ros1", `${schema.name}.msg`), msg);
36
+ await fs.writeFile(path.join(rosOutDir, "ros1", `${schema.name}.msg`), msg);
33
37
  }
34
38
  });
35
39
  await logProgress("Generating ROS 2 msg files", async () => {
36
40
  await fs.mkdir(path.join(outDir, "ros2"), { recursive: true });
41
+ await fs.mkdir(path.join(rosOutDir, "ros2"), { recursive: true });
37
42
  for (const schema of Object.values(foxgloveMessageSchemas)) {
38
43
  if (schema.rosEquivalent != undefined) {
39
44
  continue;
40
45
  }
41
- await fs.writeFile(path.join(outDir, "ros2", `${schema.name}.msg`), generateRosMsg(generateRosMsgDefinition(schema, { rosVersion: 2 })));
46
+ const msg = generateRosMsg(generateRosMsgDefinition(schema, { rosVersion: 2 }));
47
+ await fs.writeFile(path.join(outDir, "ros2", `${schema.name}.msg`), msg);
48
+ await fs.writeFile(path.join(rosOutDir, "ros2", `${schema.name}.msg`), msg);
42
49
  }
43
50
  });
44
51
  await logProgress("Generating Protobuf definitions", async () => {
@@ -68,7 +75,13 @@ async function main({ outDir }) {
68
75
  }
69
76
  await fs.writeFile(path.join(outDir, "typescript", `index.ts`), indexTS);
70
77
  });
78
+ await logProgress("Generating README.md", async () => {
79
+ await fs.writeFile(path.join(outDir, "README.md"), generateMarkdown(Object.values(foxgloveMessageSchemas), Object.values(foxgloveEnumSchemas)));
80
+ });
71
81
  }
72
- program.requiredOption("-o, --out-dir <dir>", "output directory").action(main);
82
+ program
83
+ .requiredOption("-o, --out-dir <dir>", "output directory")
84
+ .requiredOption("--ros-out-dir <dir>", "output directory for additional copies of ROS msgs")
85
+ .action(main);
73
86
  program.parseAsync().catch(console.error);
74
87
  //# sourceMappingURL=updateGeneratedFiles.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"updateGeneratedFiles.js","sourceRoot":"","sources":["../../../scripts/updateGeneratedFiles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAEjC,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,QAAQ,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,kBAAkB,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAC;AACrF,OAAO,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAE7E,KAAK,UAAU,WAAW,CAAC,OAAe,EAAE,IAAyB;IACnE,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC;IACvC,MAAM,IAAI,EAAE,CAAC;IACb,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;AACjC,CAAC;AAED,KAAK,UAAU,IAAI,CAAC,EAAE,MAAM,EAAsB;IAChD,MAAM,WAAW,CAAC,wCAAwC,EAAE,KAAK,IAAI,EAAE;QACrE,MAAM,SAAS,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE;YAC1D,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,OAAO,CAAC,EACtD,IAAI,CAAC,SAAS,CAAC,kBAAkB,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC,GAAG,IAAI,CAChE,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE;YAC1D,IAAI,MAAM,CAAC,aAAa,IAAI,SAAS,EAAE;gBACrC,SAAS;aACV;YACD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,EAC/C,cAAc,CAAC,wBAAwB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CACpE,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,CAAC,4BAA4B,EAAE,KAAK,IAAI,EAAE;QACzD,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/D,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE;YAC1D,IAAI,MAAM,CAAC,aAAa,IAAI,SAAS,EAAE;gBACrC,SAAS;aACV;YACD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAAC,IAAI,MAAM,CAAC,EAC/C,cAAc,CAAC,wBAAwB,CAAC,MAAM,EAAE,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC,CACpE,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;QAC9D,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5E,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE;YAC1D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC,MAAM,CACrD,CAAC,UAAU,EAAE,EAAE,CAAC,UAAU,CAAC,yBAAyB,KAAK,MAAM,CAAC,IAAI,CACrE,CAAC;YACF,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,MAAM,CAAC,IAAI,QAAQ,CAAC,EAC9D,aAAa,CAAC,MAAM,EAAE,KAAK,CAAC,CAC7B,CAAC;SACH;IACH,CAAC,CAAC,CAAC;IAEH,MAAM,WAAW,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;QAChE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACrE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,CAAC;QACxE,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,aAAa,CAAC,EAAE,WAAW,CAAC,CAAC;QAChF,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,EAAE;YAC1D,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,EACpD,kBAAkB,CAAC,MAAM,CAAC,CAC3B,CAAC;SACH;QACD,KAAK,MAAM,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC,EAAE;YACvD,MAAM,EAAE,CAAC,SAAS,CAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,IAAI,KAAK,CAAC,EACpD,kBAAkB,CAAC,MAAM,CAAC,CAC3B,CAAC;SACH;QACD,MAAM,cAAc,GAAG;YACrB,GAAG,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC;YACxC,GAAG,MAAM,CAAC,MAAM,CAAC,mBAAmB,CAAC;SACtC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;QAC/C,IAAI,OAAO,GAAG,EAAE,CAAC;QACjB,KAAK,MAAM,MAAM,IAAI,cAAc,EAAE;YACnC,OAAO,IAAI,oBAAoB,MAAM,CAAC,IAAI,MAAM,CAAC;SAClD;QACD,MAAM,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,YAAY,EAAE,UAAU,CAAC,EAAE,OAAO,CAAC,CAAC;IAC3E,CAAC,CAAC,CAAC;AACL,CAAC;AAED,OAAO,CAAC,cAAc,CAAC,qBAAqB,EAAE,kBAAkB,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAE/E,OAAO,CAAC,UAAU,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
1
+ {"version":3,"file":"updateGeneratedFiles.js","sourceRoot":"","sources":["../../../scripts/updateGeneratedFiles.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateJsonSchema.d.ts","sourceRoot":"","sources":["../../../src/generateJsonSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,SAAS,CAAC;AAiCnE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAgDzF"}
1
+ {"version":3,"file":"generateJsonSchema.d.ts","sourceRoot":"","sources":["../../../src/generateJsonSchema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAqB,MAAM,SAAS,CAAC;AAiCnE,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,qBAAqB,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAiDzF"}
@@ -43,10 +43,11 @@ export function generateJsonSchema(schema) {
43
43
  break;
44
44
  case "nested":
45
45
  fieldType = generateJsonSchema(field.type.schema);
46
+ delete fieldType.$comment;
46
47
  break;
47
48
  case "enum":
48
49
  fieldType = {
49
- title: `${field.type.enum.name}: ${field.type.enum.description}`,
50
+ title: `foxglove.${field.type.enum.name}`,
50
51
  description: field.description,
51
52
  oneOf: field.type.enum.values.map(({ name, value, description }) => ({
52
53
  title: name,
@@ -71,9 +72,9 @@ export function generateJsonSchema(schema) {
71
72
  properties[field.name] = fieldType;
72
73
  }
73
74
  return {
74
- $comment: `Generated from ${schema.name} by @foxglove/schemas`,
75
- title: schema.name,
75
+ title: `foxglove.${schema.name}`,
76
76
  description: schema.description,
77
+ $comment: "Generated by https://github.com/foxglove/schemas",
77
78
  type: "object",
78
79
  properties,
79
80
  };
@@ -1 +1 @@
1
- {"version":3,"file":"generateJsonSchema.js","sourceRoot":"","sources":["../../../src/generateJsonSchema.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateJsonSchema.js","sourceRoot":"","sources":["../../../src/generateJsonSchema.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ describe("generateJsonSchema", () => {
6
6
  it("generates expected JSON Schema", () => {
7
7
  expect(generateJsonSchema(exampleMessage)).toMatchInlineSnapshot(`
8
8
  Object {
9
- "$comment": "Generated from ExampleMessage by @foxglove/schemas",
9
+ "$comment": "Generated by https://github.com/foxglove/schemas",
10
10
  "description": "An example type",
11
11
  "properties": Object {
12
12
  "field_boolean": Object {
@@ -119,7 +119,7 @@ describe("generateJsonSchema", () => {
119
119
  "title": "B",
120
120
  },
121
121
  ],
122
- "title": "ExampleEnum: An example enum",
122
+ "title": "foxglove.ExampleEnum",
123
123
  },
124
124
  "field_enum_array": Object {
125
125
  "description": "An enum array field",
@@ -137,7 +137,7 @@ describe("generateJsonSchema", () => {
137
137
  "title": "B",
138
138
  },
139
139
  ],
140
- "title": "ExampleEnum: An example enum",
140
+ "title": "foxglove.ExampleEnum",
141
141
  },
142
142
  "type": "array",
143
143
  },
@@ -162,7 +162,6 @@ describe("generateJsonSchema", () => {
162
162
  "type": "array",
163
163
  },
164
164
  "field_nested": Object {
165
- "$comment": "Generated from NestedMessage by @foxglove/schemas",
166
165
  "description": "A nested field",
167
166
  "properties": Object {
168
167
  "field_enum": Object {
@@ -171,7 +170,7 @@ describe("generateJsonSchema", () => {
171
170
  "type": "integer",
172
171
  },
173
172
  },
174
- "title": "NestedMessage",
173
+ "title": "foxglove.NestedMessage",
175
174
  "type": "object",
176
175
  },
177
176
  "field_nested_array": Object {
@@ -182,7 +181,6 @@ describe("generateJsonSchema", () => {
182
181
  long
183
182
  description",
184
183
  "items": Object {
185
- "$comment": "Generated from NestedMessage by @foxglove/schemas",
186
184
  "description": "An example nested message",
187
185
  "properties": Object {
188
186
  "field_enum": Object {
@@ -191,7 +189,7 @@ describe("generateJsonSchema", () => {
191
189
  "type": "integer",
192
190
  },
193
191
  },
194
- "title": "NestedMessage",
192
+ "title": "foxglove.NestedMessage",
195
193
  "type": "object",
196
194
  },
197
195
  "type": "array",
@@ -296,7 +294,7 @@ describe("generateJsonSchema", () => {
296
294
  "type": "array",
297
295
  },
298
296
  },
299
- "title": "ExampleMessage",
297
+ "title": "foxglove.ExampleMessage",
300
298
  "type": "object",
301
299
  }
302
300
  `);
@@ -1 +1 @@
1
- {"version":3,"file":"generateJsonSchema.test.js","sourceRoot":"","sources":["../../../src/generateJsonSchema.test.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAuShE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAC5C,2CAA2C,EAC3C,CAAC,MAAM,EAAE,EAAE;QACT,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACtE,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"generateJsonSchema.test.js","sourceRoot":"","sources":["../../../src/generateJsonSchema.test.ts"],"names":[],"mappings":"AAAA,OAAO,GAAG,MAAM,KAAK,CAAC;AAEtB,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,QAAQ,CAAC,oBAAoB,EAAE,GAAG,EAAE;IAClC,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACxC,MAAM,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC,CAAC,qBAAqB,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAqShE,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAC5C,2CAA2C,EAC3C,CAAC,MAAM,EAAE,EAAE;QACT,MAAM,GAAG,GAAG,IAAI,GAAG,EAAE,CAAC;QACtB,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC;IACtE,CAAC,CACF,CAAC;AACJ,CAAC,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { FoxgloveEnumSchema, FoxgloveMessageSchema } from "./types";
2
+ export declare function generateMarkdown(schemas: Iterable<FoxgloveMessageSchema>, enums: Iterable<FoxgloveEnumSchema>): string;
3
+ //# sourceMappingURL=generateMarkdown.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateMarkdown.d.ts","sourceRoot":"","sources":["../../../src/generateMarkdown.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,SAAS,CAAC;AAEpE,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EACxC,KAAK,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAClC,MAAM,CAkFR"}
@@ -0,0 +1,76 @@
1
+ export function generateMarkdown(schemas, enums) {
2
+ const sortedSchemas = [...schemas].sort((a, b) => a.name.localeCompare(b.name));
3
+ const sortedEnums = [...enums].sort((a, b) => a.name.localeCompare(b.name));
4
+ return [
5
+ `\
6
+ # Foxglove schemas
7
+
8
+ See [Foxglove Schemas documentation](https://foxglove.dev/docs/studio/messages).
9
+
10
+ All schemas are generated from [schemas.ts](/src/schemas.ts).`,
11
+ "## Contents",
12
+ [
13
+ ...sortedEnums.map(({ name }) => `- [enum ${name}](#enum-${name.toLowerCase()})`),
14
+ ...sortedSchemas.map(({ name }) => `- [${name}](#${name.toLowerCase()})`),
15
+ ].join("\n"),
16
+ "----",
17
+ sortedEnums.map((enumSchema) => `\
18
+ ## enum ${enumSchema.name}
19
+
20
+ ${enumSchema.description}
21
+
22
+ name | value | description
23
+ ---- | ----- | -----------
24
+ ${enumSchema.values
25
+ .map((value) => `\`${value.name}\` | ${value.value} | ${value.description ?? ""}`)
26
+ .join("\n")}
27
+
28
+ `),
29
+ ...sortedSchemas.map((schema) => `\
30
+ ## ${schema.name}
31
+
32
+ ${schema.description}
33
+
34
+ <table>
35
+ <tr>
36
+ <th>field</th>
37
+ <th>type</th>
38
+ <th>description</th>
39
+ </tr>
40
+ ${schema.fields
41
+ .map((field) => {
42
+ const arraySuffix = typeof field.array === "number" ? `[${field.array}]` : field.array === true ? "[]" : "";
43
+ let type;
44
+ switch (field.type.type) {
45
+ case "enum":
46
+ type = `[enum ${field.type.enum.name}](#enum-${field.type.enum.name.toLowerCase()})`;
47
+ break;
48
+ case "nested":
49
+ type = `[${field.type.schema.name}](#${field.type.schema.name.toLowerCase()})`;
50
+ break;
51
+ case "primitive":
52
+ type = field.type.name;
53
+ break;
54
+ }
55
+ return `\
56
+ <tr>
57
+ <td><code>${field.name}</code></td>
58
+ <td>
59
+
60
+ ${type}${arraySuffix}
61
+
62
+ </td>
63
+ <td>
64
+
65
+ ${field.description}
66
+
67
+ </td>
68
+ </tr>`;
69
+ })
70
+ .join("\n")}
71
+ </table>`),
72
+ ]
73
+ .flat()
74
+ .join("\n\n");
75
+ }
76
+ //# sourceMappingURL=generateMarkdown.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"generateMarkdown.js","sourceRoot":"","sources":["../../../src/generateMarkdown.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAC9B,OAAwC,EACxC,KAAmC;IAEnC,MAAM,aAAa,GAAG,CAAC,GAAG,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAChF,MAAM,WAAW,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAE5E,OAAO;QACL;;;;;8DAK0D;QAE1D,aAAa;QAEb;YACE,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,WAAW,IAAI,WAAW,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;YACjF,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,MAAM,IAAI,MAAM,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;SAC1E,CAAC,IAAI,CAAC,IAAI,CAAC;QACZ,MAAM;QACN,WAAW,CAAC,GAAG,CACb,CAAC,UAAU,EAAE,EAAE,CAAC;UACZ,UAAU,CAAC,IAAI;;EAEvB,UAAU,CAAC,WAAW;;;;EAItB,UAAU,CAAC,MAAM;aAChB,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,KAAK,CAAC,IAAI,QAAQ,KAAK,CAAC,KAAK,MAAM,KAAK,CAAC,WAAW,IAAI,EAAE,EAAE,CAAC;aACjF,IAAI,CAAC,IAAI,CAAC;;CAEZ,CACI;QACD,GAAG,aAAa,CAAC,GAAG,CAClB,CAAC,MAAM,EAAE,EAAE,CAAC;KACb,MAAM,CAAC,IAAI;;EAEd,MAAM,CAAC,WAAW;;;;;;;;EAQlB,MAAM,CAAC,MAAM;aACZ,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;YACb,MAAM,WAAW,GACf,OAAO,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;YAC1F,IAAI,IAAY,CAAC;YACjB,QAAQ,KAAK,CAAC,IAAI,CAAC,IAAI,EAAE;gBACvB,KAAK,MAAM;oBACT,IAAI,GAAG,SAAS,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,WAAW,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;oBACrF,MAAM;gBACR,KAAK,QAAQ;oBACX,IAAI,GAAG,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,MAAM,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC;oBAC/E,MAAM;gBACR,KAAK,WAAW;oBACd,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC;oBACvB,MAAM;aACT;YACD,OAAO;;YAEC,KAAK,CAAC,IAAI;;;EAGpB,IAAI,GAAG,WAAW;;;;;EAKlB,KAAK,CAAC,WAAW;;;MAGb,CAAC;QACL,CAAC,CAAC;aACD,IAAI,CAAC,IAAI,CAAC;SACJ,CACJ;KACF;SACE,IAAI,EAAE;SACN,IAAI,CAAC,MAAM,CAAC,CAAC;AAClB,CAAC"}
@@ -66,7 +66,7 @@ export function generateProto(schema, nestedEnums) {
66
66
  });
67
67
  const definition = `// ${schema.description}\nmessage ${schema.name} {\n${enumDefinitions.join("\n\n")}${fields.join("\n\n")}\n}`;
68
68
  const outputSections = [
69
- `// Generated from ${schema.name} by @foxglove/schemas`,
69
+ `// Generated by https://github.com/foxglove/schemas`,
70
70
  'syntax = "proto3";',
71
71
  Array.from(imports)
72
72
  .sort()
@@ -1 +1 @@
1
- {"version":3,"file":"generateProto.js","sourceRoot":"","sources":["../../../src/generateProto.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateProto.js","sourceRoot":"","sources":["../../../src/generateProto.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ import { exampleEnum, exampleMessage } from "./testFixtures";
5
5
  describe("generateProto", () => {
6
6
  it("generates .proto files", () => {
7
7
  expect(generateProto(exampleMessage, [exampleEnum])).toMatchInlineSnapshot(`
8
- "// Generated from ExampleMessage by @foxglove/schemas
8
+ "// Generated by https://github.com/foxglove/schemas
9
9
 
10
10
  syntax = \\"proto3\\";
11
11
 
@@ -6,7 +6,10 @@ declare type RosMsgFieldWithDescription = RosMsgField & {
6
6
  declare type RosMsgDefinitionWithDescription = {
7
7
  originalName: string;
8
8
  description?: string;
9
- qualifiedRosName: string;
9
+ /** The name of this message type as used in .msg files (foo_msgs/Bar) */
10
+ rosMsgInterfaceName: string;
11
+ /** The name used to refer to this message type in ROS (foo_msgs/Bar for ROS 1, foo_msgs/msg/Bar for ROS 2) */
12
+ rosFullInterfaceName: string;
10
13
  fields: RosMsgFieldWithDescription[];
11
14
  };
12
15
  export declare function generateRosMsg(def: RosMsgDefinitionWithDescription): string;
@@ -1 +1 @@
1
- {"version":3,"file":"generateRos.d.ts","sourceRoot":"","sources":["../../../src/generateRos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,qBAAqB,EAAqB,MAAM,SAAS,CAAC;AAEnE,aAAK,0BAA0B,GAAG,WAAW,GAAG;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF,aAAK,+BAA+B,GAAG;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC,CAAC;AAoBF,wBAAgB,cAAc,CAAC,GAAG,EAAE,+BAA+B,GAAG,MAAM,CAgC3E;AAmCD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,qBAAqB,EAC7B,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,GACpC,+BAA+B,CAmFjC;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,qBAAqB,EAC7B,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,GACpC,MAAM,CA2BR"}
1
+ {"version":3,"file":"generateRos.d.ts","sourceRoot":"","sources":["../../../src/generateRos.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAoB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAGtE,OAAO,EAAE,qBAAqB,EAAqB,MAAM,SAAS,CAAC;AAEnE,aAAK,0BAA0B,GAAG,WAAW,GAAG;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,CAAC;AACF,aAAK,+BAA+B,GAAG;IACrC,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,yEAAyE;IACzE,mBAAmB,EAAE,MAAM,CAAC;IAC5B,8GAA8G;IAC9G,oBAAoB,EAAE,MAAM,CAAC;IAC7B,MAAM,EAAE,0BAA0B,EAAE,CAAC;CACtC,CAAC;AAoBF,wBAAgB,cAAc,CAAC,GAAG,EAAE,+BAA+B,GAAG,MAAM,CAkC3E;AAmCD,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,qBAAqB,EAC7B,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,GACpC,+BAA+B,CAsFjC;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,qBAAqB,EAC7B,EAAE,UAAU,EAAE,EAAE;IAAE,UAAU,EAAE,CAAC,GAAG,CAAC,CAAA;CAAE,GACpC,MAAM,CA4BR"}
@@ -15,10 +15,11 @@ function primitiveToRos(type, { rosVersion }) {
15
15
  }
16
16
  export function generateRosMsg(def) {
17
17
  let source = "";
18
- source += `# Generated from ${def.originalName} by @foxglove/schemas\n`;
18
+ source += `# ${def.rosFullInterfaceName}\n`;
19
19
  if (def.description != undefined) {
20
20
  source += `# ${def.description}\n`;
21
21
  }
22
+ source += `\n# Generated by https://github.com/foxglove/schemas\n`;
22
23
  let prevFieldHadComment = true; // start true because of top-of-file comment
23
24
  for (const field of def.fields) {
24
25
  if (prevFieldHadComment || field.description != undefined) {
@@ -145,7 +146,9 @@ export function generateRosMsgDefinition(schema, { rosVersion }) {
145
146
  }
146
147
  return {
147
148
  originalName: schema.name,
148
- qualifiedRosName: `foxglove_msgs/${schema.name}`,
149
+ rosMsgInterfaceName: `foxglove_msgs/${schema.name}`,
150
+ rosFullInterfaceName: rosVersion === 2 ? `foxglove_msgs/msg/${schema.name}` : `foxglove_msgs/${schema.name}`,
151
+ description: schema.description,
149
152
  fields,
150
153
  };
151
154
  }
@@ -164,13 +167,14 @@ export function generateRosMsgMergedSchema(schema, { rosVersion }) {
164
167
  name = dep.name;
165
168
  source = generateRosMsg({
166
169
  originalName: dep.name,
167
- qualifiedRosName: dep.name,
170
+ rosMsgInterfaceName: dep.name,
171
+ rosFullInterfaceName: dep.name,
168
172
  fields: rosCommonDefs[dep.name].definitions,
169
173
  });
170
174
  }
171
175
  else {
172
176
  const definition = generateRosMsgDefinition(dep.schema, { rosVersion });
173
- name = definition.qualifiedRosName;
177
+ name = definition.rosMsgInterfaceName;
174
178
  source = generateRosMsg(definition);
175
179
  }
176
180
  result += `================================================================================\nMSG: ${name}\n${source}`;
@@ -1 +1 @@
1
- {"version":3,"file":"generateRos.js","sourceRoot":"","sources":["../../../src/generateRos.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generateRos.js","sourceRoot":"","sources":["../../../src/generateRos.ts"],"names":[],"mappings":"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"}