@nordicsemiconductor/pc-nrfconnect-shared 76.0.0 → 79.0.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 (306) hide show
  1. package/.github/ISSUE_TEMPLATE/custom.md +10 -0
  2. package/.husky/pre-push +3 -0
  3. package/.renovaterc.json +10 -0
  4. package/Changelog.md +64 -0
  5. package/azure-pipelines.yml +36 -0
  6. package/config/tailwind.config.js +1 -1
  7. package/{src/utils/AppTypes.ts → ipc/MetaFiles.ts} +11 -7
  8. package/ipc/README.md +43 -0
  9. package/ipc/appDetails.ts +47 -0
  10. package/ipc/apps.ts +119 -0
  11. package/ipc/infrastructure/mainToRenderer.ts +49 -0
  12. package/ipc/infrastructure/rendererToMain.ts +51 -0
  13. package/ipc/openWindow.ts +35 -0
  14. package/ipc/preventSleep.ts +23 -0
  15. package/ipc/serialPort.ts +167 -0
  16. package/ipc/sources.ts +19 -0
  17. package/jest.config.js +7 -0
  18. package/main/index.ts +19 -21
  19. package/mocks/electronMock.ts +2 -0
  20. package/package.json +2 -16
  21. package/scripts/check-app-properties.ts +1 -1
  22. package/scripts/esbuild-renderer.js +3 -1
  23. package/scripts/esbuild.js +3 -3
  24. package/scripts/nordic-publish.ts +1 -1
  25. package/scripts/release-shared.ts +1 -1
  26. package/src/About/ApplicationCard.tsx +6 -35
  27. package/src/About/DeviceCard.tsx +1 -1
  28. package/src/App/App.tsx +2 -2
  29. package/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.tsx +2 -2
  30. package/src/Device/deviceInfo/deviceInfo.ts +2 -2
  31. package/src/SerialPort/SerialPort.test.ts +5 -9
  32. package/src/SerialPort/SerialPort.ts +47 -77
  33. package/src/index.ts +5 -12
  34. package/src/logging/sendInitialLogMessages.ts +35 -38
  35. package/src/utils/packageJson.ts +2 -2
  36. package/src/utils/systemReport.ts +3 -3
  37. package/src/utils/usageData.ts +1 -1
  38. package/tailwind.config.js +11 -0
  39. package/tsconfig.json +9 -0
  40. package/dist/bootstrap.css +0 -8951
  41. package/scripts/nordic-publish.js +0 -89
  42. package/src/OpenApp/openApp.ts +0 -18
  43. package/typings/generated/main/index.d.ts +0 -26
  44. package/typings/generated/main/index.d.ts.map +0 -1
  45. package/typings/generated/src/About/About.d.ts +0 -8
  46. package/typings/generated/src/About/About.d.ts.map +0 -1
  47. package/typings/generated/src/About/AboutButton.d.ts +0 -9
  48. package/typings/generated/src/About/AboutButton.d.ts.map +0 -1
  49. package/typings/generated/src/About/ApplicationCard.d.ts +0 -4
  50. package/typings/generated/src/About/ApplicationCard.d.ts.map +0 -1
  51. package/typings/generated/src/About/DeviceCard.d.ts +0 -4
  52. package/typings/generated/src/About/DeviceCard.d.ts.map +0 -1
  53. package/typings/generated/src/About/DocumentationCard.d.ts +0 -6
  54. package/typings/generated/src/About/DocumentationCard.d.ts.map +0 -1
  55. package/typings/generated/src/About/DocumentationSection.d.ts +0 -10
  56. package/typings/generated/src/About/DocumentationSection.d.ts.map +0 -1
  57. package/typings/generated/src/About/Section.d.ts +0 -8
  58. package/typings/generated/src/About/Section.d.ts.map +0 -1
  59. package/typings/generated/src/About/ShortcutButton.d.ts +0 -7
  60. package/typings/generated/src/About/ShortcutButton.d.ts.map +0 -1
  61. package/typings/generated/src/About/SupportCard.d.ts +0 -4
  62. package/typings/generated/src/About/SupportCard.d.ts.map +0 -1
  63. package/typings/generated/src/About/shortcutSlice.d.ts +0 -12
  64. package/typings/generated/src/About/shortcutSlice.d.ts.map +0 -1
  65. package/typings/generated/src/Alert/Alert.d.ts +0 -11
  66. package/typings/generated/src/Alert/Alert.d.ts.map +0 -1
  67. package/typings/generated/src/App/App.d.ts +0 -31
  68. package/typings/generated/src/App/App.d.ts.map +0 -1
  69. package/typings/generated/src/App/App.test.d.ts +0 -2
  70. package/typings/generated/src/App/App.test.d.ts.map +0 -1
  71. package/typings/generated/src/App/ConnectedToStore.d.ts +0 -8
  72. package/typings/generated/src/App/ConnectedToStore.d.ts.map +0 -1
  73. package/typings/generated/src/App/VisibilityBar.d.ts +0 -7
  74. package/typings/generated/src/App/VisibilityBar.d.ts.map +0 -1
  75. package/typings/generated/src/App/appLayout.d.ts +0 -17
  76. package/typings/generated/src/App/appLayout.d.ts.map +0 -1
  77. package/typings/generated/src/Button/Button.d.ts +0 -14
  78. package/typings/generated/src/Button/Button.d.ts.map +0 -1
  79. package/typings/generated/src/Card/Card.d.ts +0 -8
  80. package/typings/generated/src/Card/Card.d.ts.map +0 -1
  81. package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts +0 -5
  82. package/typings/generated/src/Device/BrokenDeviceDialog/BrokenDeviceDialog.d.ts.map +0 -1
  83. package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts +0 -13
  84. package/typings/generated/src/Device/BrokenDeviceDialog/brokenDeviceDialogSlice.d.ts.map +0 -1
  85. package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts +0 -12
  86. package/typings/generated/src/Device/DeviceSelector/BasicDeviceInfo.d.ts.map +0 -1
  87. package/typings/generated/src/Device/DeviceSelector/DeviceIcon.d.ts +0 -8
  88. package/typings/generated/src/Device/DeviceSelector/DeviceIcon.d.ts.map +0 -1
  89. package/typings/generated/src/Device/DeviceSelector/DeviceList/AnimatedList.d.ts +0 -11
  90. package/typings/generated/src/Device/DeviceSelector/DeviceList/AnimatedList.d.ts.map +0 -1
  91. package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts +0 -8
  92. package/typings/generated/src/Device/DeviceSelector/DeviceList/BrokenDevice.d.ts.map +0 -1
  93. package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts +0 -11
  94. package/typings/generated/src/Device/DeviceSelector/DeviceList/Device.d.ts.map +0 -1
  95. package/typings/generated/src/Device/DeviceSelector/DeviceList/DeviceList.d.ts +0 -11
  96. package/typings/generated/src/Device/DeviceSelector/DeviceList/DeviceList.d.ts.map +0 -1
  97. package/typings/generated/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.d.ts +0 -10
  98. package/typings/generated/src/Device/DeviceSelector/DeviceList/EditDeviceButtons.d.ts.map +0 -1
  99. package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts +0 -8
  100. package/typings/generated/src/Device/DeviceSelector/DeviceList/MoreDeviceInfo.d.ts.map +0 -1
  101. package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts +0 -7
  102. package/typings/generated/src/Device/DeviceSelector/DeviceList/RenameDevice.d.ts.map +0 -1
  103. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts +0 -21
  104. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.d.ts.map +0 -1
  105. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.test.d.ts +0 -2
  106. package/typings/generated/src/Device/DeviceSelector/DeviceSelector.test.d.ts.map +0 -1
  107. package/typings/generated/src/Device/DeviceSelector/Favorite.d.ts +0 -10
  108. package/typings/generated/src/Device/DeviceSelector/Favorite.d.ts.map +0 -1
  109. package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts +0 -9
  110. package/typings/generated/src/Device/DeviceSelector/SelectDevice.d.ts.map +0 -1
  111. package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts +0 -8
  112. package/typings/generated/src/Device/DeviceSelector/SelectedDevice.d.ts.map +0 -1
  113. package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts +0 -4
  114. package/typings/generated/src/Device/DeviceSetup/DeviceSetupView.d.ts.map +0 -1
  115. package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts +0 -30
  116. package/typings/generated/src/Device/deviceAutoSelectSlice.d.ts.map +0 -1
  117. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts +0 -19
  118. package/typings/generated/src/Device/deviceInfo/deviceInfo.d.ts.map +0 -1
  119. package/typings/generated/src/Device/deviceLibWrapper.d.ts +0 -9
  120. package/typings/generated/src/Device/deviceLibWrapper.d.ts.map +0 -1
  121. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts +0 -2
  122. package/typings/generated/src/Device/deviceLibWrapper.test.d.ts.map +0 -1
  123. package/typings/generated/src/Device/deviceLister.d.ts +0 -27
  124. package/typings/generated/src/Device/deviceLister.d.ts.map +0 -1
  125. package/typings/generated/src/Device/deviceLister.test.d.ts +0 -3
  126. package/typings/generated/src/Device/deviceLister.test.d.ts.map +0 -1
  127. package/typings/generated/src/Device/deviceSetup.d.ts +0 -41
  128. package/typings/generated/src/Device/deviceSetup.d.ts.map +0 -1
  129. package/typings/generated/src/Device/deviceSetupSlice.d.ts +0 -21
  130. package/typings/generated/src/Device/deviceSetupSlice.d.ts.map +0 -1
  131. package/typings/generated/src/Device/deviceSlice.d.ts +0 -31
  132. package/typings/generated/src/Device/deviceSlice.d.ts.map +0 -1
  133. package/typings/generated/src/Device/dfu-cc.d.ts +0 -4
  134. package/typings/generated/src/Device/dfu-cc.d.ts.map +0 -1
  135. package/typings/generated/src/Device/initPacket.d.ts +0 -110
  136. package/typings/generated/src/Device/initPacket.d.ts.map +0 -1
  137. package/typings/generated/src/Device/jprogOperations.d.ts +0 -3
  138. package/typings/generated/src/Device/jprogOperations.d.ts.map +0 -1
  139. package/typings/generated/src/Device/sdfuOperations.d.ts +0 -15
  140. package/typings/generated/src/Device/sdfuOperations.d.ts.map +0 -1
  141. package/typings/generated/src/Dialog/Dialog.d.ts +0 -65
  142. package/typings/generated/src/Dialog/Dialog.d.ts.map +0 -1
  143. package/typings/generated/src/Dialog/Dialog.test.d.ts +0 -2
  144. package/typings/generated/src/Dialog/Dialog.test.d.ts.map +0 -1
  145. package/typings/generated/src/Dropdown/Dropdown.d.ts +0 -18
  146. package/typings/generated/src/Dropdown/Dropdown.d.ts.map +0 -1
  147. package/typings/generated/src/Dropdown/Dropdown.test.d.ts +0 -2
  148. package/typings/generated/src/Dropdown/Dropdown.test.d.ts.map +0 -1
  149. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts +0 -27
  150. package/typings/generated/src/ErrorBoundary/ErrorBoundary.d.ts.map +0 -1
  151. package/typings/generated/src/ErrorBoundary/ErrorBoundary.test.d.ts +0 -2
  152. package/typings/generated/src/ErrorBoundary/ErrorBoundary.test.d.ts.map +0 -1
  153. package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts +0 -5
  154. package/typings/generated/src/ErrorDialog/ErrorDialog.d.ts.map +0 -1
  155. package/typings/generated/src/ErrorDialog/ErrorDialog.test.d.ts +0 -2
  156. package/typings/generated/src/ErrorDialog/ErrorDialog.test.d.ts.map +0 -1
  157. package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts +0 -24
  158. package/typings/generated/src/ErrorDialog/errorDialogSlice.d.ts.map +0 -1
  159. package/typings/generated/src/ErrorDialog/errorDialogSlice.test.d.ts +0 -2
  160. package/typings/generated/src/ErrorDialog/errorDialogSlice.test.d.ts.map +0 -1
  161. package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts +0 -13
  162. package/typings/generated/src/FactoryReset/FactoryResetButton.d.ts.map +0 -1
  163. package/typings/generated/src/FactoryReset/FactoryResetButton.test.d.ts +0 -2
  164. package/typings/generated/src/FactoryReset/FactoryResetButton.test.d.ts.map +0 -1
  165. package/typings/generated/src/FlashMessage/FlashMessage.d.ts +0 -5
  166. package/typings/generated/src/FlashMessage/FlashMessage.d.ts.map +0 -1
  167. package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts +0 -20
  168. package/typings/generated/src/FlashMessage/FlashMessageSlice.d.ts.map +0 -1
  169. package/typings/generated/src/InlineInput/InlineInput.d.ts +0 -15
  170. package/typings/generated/src/InlineInput/InlineInput.d.ts.map +0 -1
  171. package/typings/generated/src/InlineInput/NumberInlineInput.d.ts +0 -13
  172. package/typings/generated/src/InlineInput/NumberInlineInput.d.ts.map +0 -1
  173. package/typings/generated/src/Log/LogEntry.d.ts +0 -8
  174. package/typings/generated/src/Log/LogEntry.d.ts.map +0 -1
  175. package/typings/generated/src/Log/LogViewer.d.ts +0 -6
  176. package/typings/generated/src/Log/LogViewer.d.ts.map +0 -1
  177. package/typings/generated/src/Log/logSlice.d.ts +0 -13
  178. package/typings/generated/src/Log/logSlice.d.ts.map +0 -1
  179. package/typings/generated/src/Log/syncLogToStore.d.ts +0 -12
  180. package/typings/generated/src/Log/syncLogToStore.d.ts.map +0 -1
  181. package/typings/generated/src/Logo/Logo.d.ts +0 -7
  182. package/typings/generated/src/Logo/Logo.d.ts.map +0 -1
  183. package/typings/generated/src/Main/Main.d.ts +0 -7
  184. package/typings/generated/src/Main/Main.d.ts.map +0 -1
  185. package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts +0 -15
  186. package/typings/generated/src/MasonryLayout/MasonryLayout.d.ts.map +0 -1
  187. package/typings/generated/src/NavBar/NavBar.d.ts +0 -7
  188. package/typings/generated/src/NavBar/NavBar.d.ts.map +0 -1
  189. package/typings/generated/src/NavBar/NavMenu.d.ts +0 -4
  190. package/typings/generated/src/NavBar/NavMenu.d.ts.map +0 -1
  191. package/typings/generated/src/NavBar/NavMenu.test.d.ts +0 -2
  192. package/typings/generated/src/NavBar/NavMenu.test.d.ts.map +0 -1
  193. package/typings/generated/src/NavBar/NavMenuItem.d.ts +0 -10
  194. package/typings/generated/src/NavBar/NavMenuItem.d.ts.map +0 -1
  195. package/typings/generated/src/NumberInputWithSlider/NumberInputSliderWithUnit.d.ts +0 -14
  196. package/typings/generated/src/NumberInputWithSlider/NumberInputSliderWithUnit.d.ts.map +0 -1
  197. package/typings/generated/src/OpenApp/openApp.d.ts +0 -8
  198. package/typings/generated/src/OpenApp/openApp.d.ts.map +0 -1
  199. package/typings/generated/src/Panes/FeedbackPane.d.ts +0 -7
  200. package/typings/generated/src/Panes/FeedbackPane.d.ts.map +0 -1
  201. package/typings/generated/src/PseudoButton/PseudoButton.d.ts +0 -11
  202. package/typings/generated/src/PseudoButton/PseudoButton.d.ts.map +0 -1
  203. package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts +0 -14
  204. package/typings/generated/src/SerialPort/ConflictingSettingsDialog.d.ts.map +0 -1
  205. package/typings/generated/src/SerialPort/SerialPort.d.ts +0 -22
  206. package/typings/generated/src/SerialPort/SerialPort.d.ts.map +0 -1
  207. package/typings/generated/src/SerialPort/SerialPort.test.d.ts +0 -2
  208. package/typings/generated/src/SerialPort/SerialPort.test.d.ts.map +0 -1
  209. package/typings/generated/src/Shortcuts/ShortcutItem.d.ts +0 -9
  210. package/typings/generated/src/Shortcuts/ShortcutItem.d.ts.map +0 -1
  211. package/typings/generated/src/Shortcuts/ShortcutModal.d.ts +0 -9
  212. package/typings/generated/src/Shortcuts/ShortcutModal.d.ts.map +0 -1
  213. package/typings/generated/src/SidePanel/Group.d.ts +0 -17
  214. package/typings/generated/src/SidePanel/Group.d.ts.map +0 -1
  215. package/typings/generated/src/SidePanel/SidePanel.d.ts +0 -8
  216. package/typings/generated/src/SidePanel/SidePanel.d.ts.map +0 -1
  217. package/typings/generated/src/Slider/Bar.d.ts +0 -8
  218. package/typings/generated/src/Slider/Bar.d.ts.map +0 -1
  219. package/typings/generated/src/Slider/Factor.test.d.ts +0 -2
  220. package/typings/generated/src/Slider/Factor.test.d.ts.map +0 -1
  221. package/typings/generated/src/Slider/Handle.d.ts +0 -14
  222. package/typings/generated/src/Slider/Handle.d.ts.map +0 -1
  223. package/typings/generated/src/Slider/Slider.d.ts +0 -16
  224. package/typings/generated/src/Slider/Slider.d.ts.map +0 -1
  225. package/typings/generated/src/Slider/Slider.test.d.ts +0 -2
  226. package/typings/generated/src/Slider/Slider.test.d.ts.map +0 -1
  227. package/typings/generated/src/Slider/Ticks.d.ts +0 -13
  228. package/typings/generated/src/Slider/Ticks.d.ts.map +0 -1
  229. package/typings/generated/src/Slider/factor.d.ts +0 -2
  230. package/typings/generated/src/Slider/factor.d.ts.map +0 -1
  231. package/typings/generated/src/Slider/percentage.d.ts +0 -5
  232. package/typings/generated/src/Slider/percentage.d.ts.map +0 -1
  233. package/typings/generated/src/Slider/range.d.ts +0 -14
  234. package/typings/generated/src/Slider/range.d.ts.map +0 -1
  235. package/typings/generated/src/StartStopButton/StartStopButton.d.ts +0 -17
  236. package/typings/generated/src/StartStopButton/StartStopButton.d.ts.map +0 -1
  237. package/typings/generated/src/StateSelector/StateSelector.d.ts +0 -16
  238. package/typings/generated/src/StateSelector/StateSelector.d.ts.map +0 -1
  239. package/typings/generated/src/Stepper/Stepper.d.ts +0 -27
  240. package/typings/generated/src/Stepper/Stepper.d.ts.map +0 -1
  241. package/typings/generated/src/Toggle/Toggle.d.ts +0 -20
  242. package/typings/generated/src/Toggle/Toggle.d.ts.map +0 -1
  243. package/typings/generated/src/index.d.ts +0 -73
  244. package/typings/generated/src/index.d.ts.map +0 -1
  245. package/typings/generated/src/logging/appTransport.d.ts +0 -13
  246. package/typings/generated/src/logging/appTransport.d.ts.map +0 -1
  247. package/typings/generated/src/logging/appTransport.test.d.ts +0 -2
  248. package/typings/generated/src/logging/appTransport.test.d.ts.map +0 -1
  249. package/typings/generated/src/logging/describeError.d.ts +0 -3
  250. package/typings/generated/src/logging/describeError.d.ts.map +0 -1
  251. package/typings/generated/src/logging/describeError.test.d.ts +0 -2
  252. package/typings/generated/src/logging/describeError.test.d.ts.map +0 -1
  253. package/typings/generated/src/logging/index.d.ts +0 -10
  254. package/typings/generated/src/logging/index.d.ts.map +0 -1
  255. package/typings/generated/src/logging/logBuffer.d.ts +0 -10
  256. package/typings/generated/src/logging/logBuffer.d.ts.map +0 -1
  257. package/typings/generated/src/logging/logBuffer.test.d.ts +0 -2
  258. package/typings/generated/src/logging/logBuffer.test.d.ts.map +0 -1
  259. package/typings/generated/src/logging/sendInitialLogMessages.d.ts +0 -3
  260. package/typings/generated/src/logging/sendInitialLogMessages.d.ts.map +0 -1
  261. package/typings/generated/src/store.d.ts +0 -68
  262. package/typings/generated/src/store.d.ts.map +0 -1
  263. package/typings/generated/src/utils/AppTypes.d.ts +0 -50
  264. package/typings/generated/src/utils/AppTypes.d.ts.map +0 -1
  265. package/typings/generated/src/utils/appDirs.d.ts +0 -36
  266. package/typings/generated/src/utils/appDirs.d.ts.map +0 -1
  267. package/typings/generated/src/utils/bleChannels.d.ts +0 -7
  268. package/typings/generated/src/utils/bleChannels.d.ts.map +0 -1
  269. package/typings/generated/src/utils/classNames.d.ts +0 -18
  270. package/typings/generated/src/utils/classNames.d.ts.map +0 -1
  271. package/typings/generated/src/utils/classNames.test.d.ts +0 -2
  272. package/typings/generated/src/utils/classNames.test.d.ts.map +0 -1
  273. package/typings/generated/src/utils/colors.d.ts +0 -154
  274. package/typings/generated/src/utils/colors.d.ts.map +0 -1
  275. package/typings/generated/src/utils/describeVersion.d.ts +0 -4
  276. package/typings/generated/src/utils/describeVersion.d.ts.map +0 -1
  277. package/typings/generated/src/utils/environment.d.ts +0 -2
  278. package/typings/generated/src/utils/environment.d.ts.map +0 -1
  279. package/typings/generated/src/utils/logLibVersions.d.ts +0 -3
  280. package/typings/generated/src/utils/logLibVersions.d.ts.map +0 -1
  281. package/typings/generated/src/utils/open.d.ts +0 -16
  282. package/typings/generated/src/utils/open.d.ts.map +0 -1
  283. package/typings/generated/src/utils/packageJson.d.ts +0 -5
  284. package/typings/generated/src/utils/packageJson.d.ts.map +0 -1
  285. package/typings/generated/src/utils/persistentStore.d.ts +0 -36
  286. package/typings/generated/src/utils/persistentStore.d.ts.map +0 -1
  287. package/typings/generated/src/utils/systemReport.d.ts +0 -5
  288. package/typings/generated/src/utils/systemReport.d.ts.map +0 -1
  289. package/typings/generated/src/utils/truncateMiddle.d.ts +0 -3
  290. package/typings/generated/src/utils/truncateMiddle.d.ts.map +0 -1
  291. package/typings/generated/src/utils/truncateMiddle.test.d.ts +0 -2
  292. package/typings/generated/src/utils/truncateMiddle.test.d.ts.map +0 -1
  293. package/typings/generated/src/utils/usageData.d.ts +0 -64
  294. package/typings/generated/src/utils/usageData.d.ts.map +0 -1
  295. package/typings/generated/src/utils/useFocusedOnVisible.d.ts +0 -11
  296. package/typings/generated/src/utils/useFocusedOnVisible.d.ts.map +0 -1
  297. package/typings/generated/src/utils/useHotKey.d.ts +0 -7
  298. package/typings/generated/src/utils/useHotKey.d.ts.map +0 -1
  299. package/typings/generated/src/utils/useStopwatch.d.ts +0 -23
  300. package/typings/generated/src/utils/useStopwatch.d.ts.map +0 -1
  301. package/typings/generated/src/utils/useStopwatch.test.d.ts +0 -2
  302. package/typings/generated/src/utils/useStopwatch.test.d.ts.map +0 -1
  303. package/typings/generated/test/dispatchTo.d.ts +0 -4
  304. package/typings/generated/test/dispatchTo.d.ts.map +0 -1
  305. package/typings/generated/test/testrenderer.d.ts +0 -6
  306. package/typings/generated/test/testrenderer.d.ts.map +0 -1
@@ -0,0 +1,167 @@
1
+ /*
2
+ * Copyright (c) 2023 Nordic Semiconductor ASA
3
+ *
4
+ * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
+ */
6
+
7
+ import type {
8
+ AutoDetectTypes,
9
+ SetOptions,
10
+ UpdateOptions,
11
+ } from '@serialport/bindings-cpp';
12
+ import type { SerialPortOpenOptions } from 'serialport';
13
+
14
+ import { broadcast, onBroadcasted } from './infrastructure/mainToRenderer';
15
+ import {
16
+ handle,
17
+ handleWithSender,
18
+ invoke,
19
+ } from './infrastructure/rendererToMain';
20
+
21
+ const channel = {
22
+ // **************
23
+ // Commands (from the renderer processes of apps to the main process)
24
+ // **************
25
+ open: 'serialport:open',
26
+ close: 'serialport:close',
27
+ write: 'serialport:write',
28
+ update: 'serialport:update',
29
+ set: 'serialport:set',
30
+
31
+ // **************
32
+ // Queries (from the renderer processes of apps to the main process)
33
+ // **************
34
+ isOpen: 'serialport:is-open',
35
+ getOptions: 'serialport:get-options',
36
+
37
+ // **************
38
+ // Callbacks (from the the main process to the renderer processes of apps)
39
+ // **************
40
+ onClosed: 'serialport:on-close',
41
+ onUpdated: 'serialport:on-update',
42
+ onSet: 'serialport:on-set',
43
+ onChanged: 'serialport:on-changed',
44
+
45
+ // Would be nice to rename the next two channels, but we cannot change the
46
+ // string because it would break interoperability between apps and launchers
47
+ onDataReived: 'serialport:on-data',
48
+ onDataWritten: 'serialport:on-write',
49
+ };
50
+
51
+ export type OverwriteOptions = {
52
+ overwrite?: boolean;
53
+ settingsLocked?: boolean;
54
+ };
55
+
56
+ // **************
57
+ // Commands (from the renderer processes of apps to the main process)
58
+ // **************
59
+
60
+ type Open = (
61
+ options: SerialPortOpenOptions<AutoDetectTypes>,
62
+ overwriteOptions: OverwriteOptions
63
+ ) => void;
64
+ const open = invoke<Open>(channel.open);
65
+ const registerOpen = handleWithSender<Open>(channel.open);
66
+
67
+ type Close = (path: string) => void;
68
+ const close = invoke<Close>(channel.close);
69
+ const registerClose = handleWithSender<Close>(channel.close);
70
+
71
+ type Write = (path: string, data: string | number[] | Buffer) => void;
72
+ const write = invoke<Write>(channel.write);
73
+ const registerWrite = handle<Write>(channel.write);
74
+
75
+ type Update = (path: string, options: UpdateOptions) => void;
76
+ const update = invoke<Update>(channel.update);
77
+ const registerUpdate = handle<Update>(channel.update);
78
+
79
+ type Set = (path: string, set: SetOptions) => void;
80
+ const set = invoke<Set>(channel.set);
81
+ const registerSet = handle<Set>(channel.set);
82
+
83
+ // **************
84
+ // Queries (from the renderer processes of apps to the main process)
85
+ // **************
86
+
87
+ type IsOpen = (path: string) => boolean;
88
+ const isOpen = invoke<IsOpen>(channel.isOpen);
89
+ const registerIsOpen = handle<IsOpen>(channel.isOpen);
90
+
91
+ type GetOptions = (
92
+ path: string
93
+ ) => SerialPortOpenOptions<AutoDetectTypes> | undefined;
94
+ const getOptions = invoke<GetOptions>(channel.getOptions);
95
+ const registerGetOptions = handle<GetOptions>(channel.getOptions);
96
+
97
+ // **************
98
+ // Callbacks (from the the main process to the renderer processes of apps)
99
+ // **************
100
+
101
+ type OnDataReceived = (data: unknown) => void;
102
+ const broadcastDataReceived = broadcast<OnDataReceived>(channel.onDataReived);
103
+ const registerOnDataReceived = (path: string) =>
104
+ onBroadcasted<OnDataReceived>(channel.onDataReived, path);
105
+
106
+ type OnDataWritten = (data: string | number[] | Buffer) => void;
107
+ const broadcastDataWritten = broadcast<OnDataWritten>(channel.onDataWritten);
108
+ const registerOnDataWritten = (path: string) =>
109
+ onBroadcasted<OnDataWritten>(channel.onDataWritten, path);
110
+
111
+ type OnClosed = () => void;
112
+ const broadcastClosed = broadcast<OnClosed>(channel.onClosed);
113
+ const registerOnClosed = (path: string) =>
114
+ onBroadcasted<OnClosed>(channel.onClosed, path);
115
+
116
+ type OnUpdate = (newOptions: UpdateOptions) => void;
117
+ const broadcastUpdated = broadcast<OnUpdate>(channel.onUpdated);
118
+ const registerOnUpdated = (path: string) =>
119
+ onBroadcasted<OnUpdate>(channel.onUpdated, path);
120
+
121
+ type OnSet = (newOptions: SetOptions) => void;
122
+ const broadcastSet = broadcast<OnSet>(channel.onSet);
123
+ const registerOnSet = (path: string) =>
124
+ onBroadcasted<OnSet>(channel.onSet, path);
125
+
126
+ type OnChanged = (newOptions: SerialPortOpenOptions<AutoDetectTypes>) => void;
127
+ const broadcastChanged = broadcast<OnChanged>(channel.onChanged);
128
+ const registerOnChanged = (path: string) =>
129
+ onBroadcasted<OnChanged>(channel.onChanged, path);
130
+
131
+ export const inRenderer = {
132
+ broadcastChanged,
133
+ broadcastClosed,
134
+ broadcastDataReceived,
135
+ broadcastDataWritten,
136
+ broadcastSet,
137
+ broadcastUpdated,
138
+ };
139
+
140
+ export const forRenderer = {
141
+ registerClose,
142
+ registerGetOptions,
143
+ registerIsOpen,
144
+ registerOpen,
145
+ registerSet,
146
+ registerUpdate,
147
+ registerWrite,
148
+ };
149
+
150
+ export const inMain = {
151
+ open,
152
+ close,
153
+ write,
154
+ update,
155
+ set,
156
+ isOpen,
157
+ getOptions,
158
+ };
159
+
160
+ export const forMain = {
161
+ registerOnDataReceived,
162
+ registerOnDataWritten,
163
+ registerOnClosed,
164
+ registerOnUpdated,
165
+ registerOnSet,
166
+ registerOnChanged,
167
+ };
package/ipc/sources.ts ADDED
@@ -0,0 +1,19 @@
1
+ /*
2
+ * Copyright (c) 2022 Nordic Semiconductor ASA
3
+ *
4
+ * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
+ */
6
+
7
+ import { UrlString } from './MetaFiles';
8
+
9
+ enum StandardSourceNames {
10
+ OFFICIAL = 'official',
11
+ LOCAL = 'local',
12
+ }
13
+
14
+ export const { LOCAL, OFFICIAL } = StandardSourceNames;
15
+ export const allStandardSourceNames: SourceName[] = [OFFICIAL, LOCAL];
16
+
17
+ export type SourceName = string;
18
+ export type SourceUrl = UrlString;
19
+ export type Source = { name: SourceName; url: SourceUrl };
package/jest.config.js ADDED
@@ -0,0 +1,7 @@
1
+ /*
2
+ * Copyright (c) 2021 Nordic Semiconductor ASA
3
+ *
4
+ * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
+ */
6
+
7
+ module.exports = require('./config/jest.config')(['react-ga']);
package/main/index.ts CHANGED
@@ -4,29 +4,27 @@
4
4
  * SPDX-License-Identifier: LicenseRef-Nordic-4-Clause
5
5
  */
6
6
 
7
- export const SERIALPORT_CHANNEL = {
8
- OPEN: 'serialport:open',
9
- CLOSE: 'serialport:close',
10
- WRITE: 'serialport:write',
11
- UPDATE: 'serialport:update',
12
- SET: 'serialport:set',
7
+ import { forRenderer as forRendererAppDetails } from '../ipc/appDetails';
8
+ import { forRenderer as forRendererApps } from '../ipc/apps';
9
+ import { forRenderer as forRendererOpenWindow } from '../ipc/openWindow';
10
+ import { forRenderer as forRendererPreventSleep } from '../ipc/preventSleep';
11
+ import {
12
+ forRenderer as forRendererSerialPort,
13
+ inRenderer as inRendererSerialPort,
14
+ } from '../ipc/serialPort';
13
15
 
14
- ON_CLOSED: 'serialport:on-close',
15
- ON_DATA: 'serialport:on-data',
16
- ON_UPDATE: 'serialport:on-update',
17
- ON_SET: 'serialport:on-set',
18
- ON_CHANGED: 'serialport:on-changed',
19
- ON_WRITE: 'serialport:on-write',
16
+ export { registerLauncherWindowFromMain } from '../ipc/infrastructure/mainToRenderer';
20
17
 
21
- IS_OPEN: 'serialport:is-open',
22
- GET_OPTIONS: 'serialport:get-options',
18
+ export const appDetails = { forRenderer: forRendererAppDetails };
19
+ export const apps = { forRenderer: forRendererApps };
20
+ export const openWindow = { forRenderer: forRendererOpenWindow };
21
+ export const preventSleep = { forRenderer: forRendererPreventSleep };
22
+ export const serialPort = {
23
+ inRenderer: inRendererSerialPort,
24
+ forRenderer: forRendererSerialPort,
23
25
  };
24
26
 
25
- export type OverwriteOptions = {
26
- overwrite?: boolean;
27
- settingsLocked?: boolean;
28
- };
27
+ export * from '../ipc/MetaFiles';
29
28
 
30
- export type OpenAppOptions = {
31
- device?: { serialNumber: string; serialPortPath?: string };
32
- };
29
+ export { type OverwriteOptions } from '../ipc/serialPort';
30
+ export { type OpenAppOptions } from '../ipc/openWindow';
@@ -10,6 +10,8 @@ export const match = jest.fn();
10
10
  export const app = jest.fn();
11
11
  export const dialog = jest.fn();
12
12
  export const ipcRenderer = {
13
+ on: jest.fn(),
13
14
  once: jest.fn(),
15
+ invoke: jest.fn().mockResolvedValue(undefined),
14
16
  send: jest.fn(),
15
17
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nordicsemiconductor/pc-nrfconnect-shared",
3
- "version": "76.0.0",
3
+ "version": "79.0.0",
4
4
  "description": "Shared commodities for developing pc-nrfconnect-* packages",
5
5
  "repository": {
6
6
  "type": "git",
@@ -15,21 +15,6 @@
15
15
  "nrfconnect-license": "./scripts/nrfconnect-license.ts",
16
16
  "run-esbuild": "./scripts/esbuild.js"
17
17
  },
18
- "files": [
19
- "./config",
20
- "./dist",
21
- "fw",
22
- "main",
23
- "mocks",
24
- "./scripts",
25
- "./src",
26
- "./test",
27
- "./typings",
28
- "./styles.scss",
29
- "LICENSE",
30
- "Changelog.md",
31
- "README.md"
32
- ],
33
18
  "main": "src",
34
19
  "scripts": {
35
20
  "test": "jest",
@@ -37,6 +22,7 @@
37
22
  "check:lint": "eslint --color .",
38
23
  "check:types": "tsc --noEmit",
39
24
  "check:license": "ts-node scripts/nrfconnect-license.ts check",
25
+ "clean-generate-types": "rimraf ./typings/generated",
40
26
  "generate-types": "tsc --emitDeclarationOnly --declaration --declarationMap --outDir ./typings/generated --rootDir .",
41
27
  "prepare": "ts-node scripts/installHusky.ts",
42
28
  "release-shared": "ts-node scripts/release-shared.ts",
@@ -10,7 +10,7 @@ import { execSync } from 'child_process';
10
10
  import { existsSync, readdirSync, readFileSync } from 'fs';
11
11
  import property from 'lodash/property';
12
12
 
13
- import { PackageJson } from '../src/utils/AppTypes';
13
+ import { PackageJson } from '../ipc/MetaFiles';
14
14
 
15
15
  const format = (strings: string[]) =>
16
16
  strings.map(string => `\`${string}\``).join(', ');
@@ -22,7 +22,9 @@ const projectSpecificTailwindConfigPath = path.join(
22
22
  const tailwindConfig = () =>
23
23
  fs.existsSync(projectSpecificTailwindConfigPath)
24
24
  ? projectSpecificTailwindConfigPath
25
- : require.resolve('pc-nrfconnect-shared/config/tailwind.config.js');
25
+ : require.resolve(
26
+ '@nordicsemiconductor/pc-nrfconnect-shared/config/tailwind.config.js'
27
+ );
26
28
 
27
29
  function options(additionalOptions) {
28
30
  const { dependencies } = JSON.parse(
@@ -26,7 +26,7 @@ if (!fs.existsSync(distFolder)) {
26
26
  fs.copyFileSync(
27
27
  join(
28
28
  process.cwd(),
29
- './node_modules/pc-nrfconnect-shared/scripts/nordic-publish.js'
29
+ './node_modules/@nordicsemiconductor/pc-nrfconnect-shared/scripts/nordic-publish.js'
30
30
  ),
31
31
  join(distFolder, 'nordic-publish.js')
32
32
  );
@@ -34,7 +34,7 @@ fs.copyFileSync(
34
34
  fs.copyFileSync(
35
35
  join(
36
36
  process.cwd(),
37
- './node_modules/pc-nrfconnect-shared/dist/bootstrap.css'
37
+ './node_modules/@nordicsemiconductor/pc-nrfconnect-shared/dist/bootstrap.css'
38
38
  ),
39
39
  join(distFolder, 'bootstrap.css')
40
40
  );
@@ -47,7 +47,7 @@ if (process.argv.includes('--include-bootloader')) {
47
47
  fs.copyFileSync(
48
48
  join(
49
49
  process.cwd(),
50
- './node_modules/pc-nrfconnect-shared/fw/bootloader/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip'
50
+ './node_modules/@nordicsemiconductor/pc-nrfconnect-shared/fw/bootloader/graviton_bootloader_v1.0.1-[nRF5_SDK_15.0.1-1.alpha_f76d012].zip'
51
51
  ),
52
52
  join(
53
53
  process.cwd(),
@@ -13,7 +13,7 @@ import FtpClient from 'ftp';
13
13
  import semver from 'semver';
14
14
  import calculateShasum from 'shasum';
15
15
 
16
- import { AppInfo, PackageJson, SourceJson } from '../src/utils/AppTypes';
16
+ import { AppInfo, PackageJson, SourceJson } from '../ipc/MetaFiles';
17
17
  import checkAppProperties from './check-app-properties';
18
18
 
19
19
  interface LegacyAppInfo {
@@ -25,7 +25,7 @@
25
25
  */
26
26
  import { execSync, spawnSync } from 'node:child_process';
27
27
 
28
- import { PackageJson } from '../src/utils/AppTypes';
28
+ import { PackageJson } from '../ipc/MetaFiles';
29
29
 
30
30
  const logError = (message: string) => {
31
31
  console.error(message);
@@ -5,51 +5,22 @@
5
5
  */
6
6
 
7
7
  import React, { useEffect, useState } from 'react';
8
- import { ipcRenderer } from 'electron';
9
8
 
9
+ import {
10
+ AppDetailsFromLauncher,
11
+ inMain as appDetails,
12
+ } from '../../ipc/appDetails';
10
13
  import Card from '../Card/Card';
11
14
  import FactoryResetButton from '../FactoryReset/FactoryResetButton';
12
15
  import AboutButton from './AboutButton';
13
16
  import Section from './Section';
14
17
  import ShortcutButton from './ShortcutButton';
15
18
 
16
- interface AppDetails {
17
- coreVersion: string;
18
- corePath: string;
19
- homeDir: string;
20
- tmpDir: string;
21
- }
22
-
23
- interface LauncerApp {
24
- name?: string;
25
- displayName?: string;
26
- description?: string;
27
- homepage?: string;
28
- currentVersion?: string;
29
- latestVersion?: string;
30
- engineVersion?: string;
31
- path?: string;
32
- iconPath?: string;
33
- shortcutIconPath?: string;
34
- isOfficial?: string;
35
- sharedVersion?: string;
36
- source?: string;
37
- url?: string;
38
- releaseNote?: string;
39
- upgradeAvailable?: string;
40
- repositoryUrl?: string;
41
- }
42
-
43
- type DetailsFromLauncher = AppDetails & LauncerApp;
44
-
45
19
  export default () => {
46
- const [appInfo, setAppInfo] = useState<DetailsFromLauncher>();
20
+ const [appInfo, setAppInfo] = useState<AppDetailsFromLauncher>();
47
21
 
48
22
  useEffect(() => {
49
- ipcRenderer.once('app-details', (_, details: DetailsFromLauncher) => {
50
- setAppInfo(details);
51
- });
52
- ipcRenderer.send('get-app-details');
23
+ appDetails.getAppDetails().then(setAppInfo);
53
24
  }, [setAppInfo]);
54
25
 
55
26
  if (appInfo == null) return null;
@@ -36,7 +36,7 @@ export default () => {
36
36
  );
37
37
  }
38
38
 
39
- const pca = device.boardVersion;
39
+ const pca = device.jlink?.boardVersion;
40
40
  const { name, cores } = deviceInfo(device);
41
41
 
42
42
  return (
package/src/App/App.tsx CHANGED
@@ -9,9 +9,9 @@ import 'focus-visible';
9
9
  import React, { FC, ReactNode, useEffect, useMemo } from 'react';
10
10
  import Carousel from 'react-bootstrap/Carousel';
11
11
  import { useDispatch, useSelector } from 'react-redux';
12
- import { ipcRenderer } from 'electron';
13
12
  import { Reducer } from 'redux';
14
13
 
14
+ import { inMain as openWindow } from '../../ipc/openWindow';
15
15
  import About from '../About/About';
16
16
  import BrokenDeviceDialog from '../Device/BrokenDeviceDialog/BrokenDeviceDialog';
17
17
  import { setAutoReselect } from '../Device/deviceAutoSelectSlice';
@@ -102,7 +102,7 @@ const ConnectedApp: FC<ConnectedAppProps> = ({
102
102
  hotKey: 'alt+l',
103
103
  title: 'Open launcher',
104
104
  isGlobal: true,
105
- action: () => ipcRenderer.send('open-app-launcher'),
105
+ action: openWindow.openLauncher,
106
106
  });
107
107
 
108
108
  useEffect(() => {
@@ -20,11 +20,11 @@ const Row = ({ children }: { children: ReactNode }) => (
20
20
  );
21
21
 
22
22
  const PcaNumber = ({ device }: { device: Device }) => {
23
- if (device.boardVersion == null) {
23
+ if (!device.jlink?.boardVersion) {
24
24
  return null;
25
25
  }
26
26
 
27
- return <div>{device.boardVersion}</div>;
27
+ return <div>{device.jlink.boardVersion}</div>;
28
28
  };
29
29
 
30
30
  const MaybeDeviceName = ({ device }: { device: Device }) => {
@@ -181,7 +181,7 @@ const devicesByPca: { [P in DevicePCA]: DeviceInfo } = {
181
181
  };
182
182
 
183
183
  const deviceByPca = (device: Device) =>
184
- devicesByPca[String(device.boardVersion).toUpperCase() as DevicePCA];
184
+ devicesByPca[String(device.jlink?.boardVersion).toUpperCase() as DevicePCA];
185
185
 
186
186
  const NORDIC_VENDOR_ID = '1915';
187
187
  const isNordicDevice = (device: Device) =>
@@ -240,7 +240,7 @@ export const displayedDeviceName = (
240
240
  return device.nickname;
241
241
  }
242
242
 
243
- return deviceInfo(device).name || device.boardVersion || 'Unknown';
243
+ return deviceInfo(device).name || device.jlink?.boardVersion || 'Unknown';
244
244
  };
245
245
 
246
246
  export const productPageUrl = (device: Device) =>
@@ -6,20 +6,16 @@
6
6
 
7
7
  import { ipcRenderer } from 'electron';
8
8
 
9
- import { OverwriteOptions, SERIALPORT_CHANNEL } from '../../main';
9
+ import { OverwriteOptions } from '../../ipc/serialPort';
10
10
  import { createSerialPort } from './SerialPort';
11
11
 
12
- jest.mock('electron', () => ({
13
- ipcRenderer: { invoke: jest.fn(), on: jest.fn(), send: jest.fn() },
14
- }));
15
-
16
12
  const defaultOptions = { path: '/dev/ROBOT', baudRate: 115200 };
17
13
 
18
14
  test('SerialPort is initialized with the correct setup', async () => {
19
15
  const port = await createSerialPort(defaultOptions);
20
16
 
21
17
  expect(ipcRenderer.invoke).toHaveBeenCalledWith(
22
- SERIALPORT_CHANNEL.OPEN,
18
+ 'serialport:open',
23
19
  defaultOptions,
24
20
  { overwrite: false, settingsLocked: false }
25
21
  );
@@ -31,7 +27,7 @@ test('SerialPort may be initialized with overwrite and settingsLocked', async ()
31
27
  let overwriteOptions: OverwriteOptions = { overwrite: true };
32
28
  await createSerialPort(defaultOptions, overwriteOptions);
33
29
  expect(ipcRenderer.invoke).toHaveBeenCalledWith(
34
- SERIALPORT_CHANNEL.OPEN,
30
+ 'serialport:open',
35
31
  defaultOptions,
36
32
  overwriteOptions
37
33
  );
@@ -39,7 +35,7 @@ test('SerialPort may be initialized with overwrite and settingsLocked', async ()
39
35
  overwriteOptions = { settingsLocked: true };
40
36
  await createSerialPort(defaultOptions, overwriteOptions);
41
37
  expect(ipcRenderer.invoke).toHaveBeenCalledWith(
42
- SERIALPORT_CHANNEL.OPEN,
38
+ 'serialport:open',
43
39
  defaultOptions,
44
40
  overwriteOptions
45
41
  );
@@ -47,7 +43,7 @@ test('SerialPort may be initialized with overwrite and settingsLocked', async ()
47
43
  overwriteOptions = { settingsLocked: true, overwrite: true };
48
44
  await createSerialPort(defaultOptions, overwriteOptions);
49
45
  expect(ipcRenderer.invoke).toHaveBeenCalledWith(
50
- SERIALPORT_CHANNEL.OPEN,
46
+ 'serialport:open',
51
47
  defaultOptions,
52
48
  overwriteOptions
53
49
  );